(57)【特許請求の範囲】
【請求項１】
サーバシステムが、
複数人のユーザについてのプロフィールデータであって、各ユーザについて、前記ユーザに関連付けられた１つまたは複数の興味カテゴリの指示を含む、前記プロフィールデータと、
複数のソーシャルメディアイベントについてのイベントデータであって、各ソーシャルメディアイベントについて、前記ソーシャルメディアイベントに関連付けられた１人または複数人のユーザの指示を含む、前記イベントデータと
を生成することと、
前記サーバシステムは、第１のユーザのサブセットが第１のソーシャルメディアイベントに関連付けられていると決定することと、
前記サーバシステムは、前記プロフィールデータおよび前記イベントデータを１つまたは複数のデータベースに記憶することと、
前記サーバシステムは、第１の興味カテゴリのサブセットが前記第１のユーザのサブセットに関連付けられていると決定することと、
前記サーバシステムは、第２の興味カテゴリのサブセットが前記第１のソーシャルメディアイベントに関連付けられていると決定することであって、前記第２の興味カテゴリのサブセットは前記第１のソーシャルメディアイベントの管理ユーザによって選択される、前記決定することと、
前記第１の興味カテゴリのサブセットおよび前記第２の興味カテゴリのサブセットに基づいて、前記第１のソーシャルメディアイベントについてイベントデータ構造を生成することであって、前記イベントデータ構造は、
前記第１の興味カテゴリのサブセットおよび前記第２の興味カテゴリのサブセットの指示と、
前記第１の興味カテゴリのサブセットおよび前記第２の興味カテゴリのサブセットのうちの各興味カテゴリについての、前記興味カテゴリに関連付けられた前記第１のユーザのサブセットのユーザの数を示す、または前記興味カテゴリが前記第１のソーシャルメディアイベントの前記管理ユーザによって選択された回数を示す、度数指標と
を含む、前記生成することと、
前記サーバシステムは、前記１つまたは複数のデータベースの前記プロフィールデータまたは前記イベントデータに変化をもたらすデータベーストランザクションを監視するように構成される１つまたは複数の処理を実行することと、
前記サーバシステムは、データベーストランザクションが前記第１のソーシャルメディアイベントに関するトリガ基準を満たすと決定することと、
前記データベーストランザクションが前記第１のソーシャルメディアイベントに関する前記トリガ基準を満たすと決定したことに応答して、前記データベーストランザクションに基づいて前記イベントデータ構造を修正することと
を含む、方法。
【請求項２】
前記データベーストランザクションは、前記第１のユーザのサブセットに関連付けられたプロフィールデータへの修正、または前記第１のソーシャルメディアイベントに関連付けられたイベントデータへの修正の少なくとも１つを含む、請求項１に記載の方法。
【請求項３】
前記修正は興味カテゴリの追加または削除を含む、請求項２に記載の方法。
【請求項４】
前記修正は、前記第１のソーシャルメディアイベントへの追加ユーザの関連付け、または前記第１のソーシャルメディアイベントからのユーザの関連付け解除を含む、請求項２に記載の方法。
【請求項５】
前記データベーストランザクションが前記第１のソーシャルメディアイベントに関する前記トリガ基準を満たすと決定することは、
特定の興味カテゴリが、前記第１のユーザのサブセットの特定のユーザの前記プロフィールデータに対して追加または削除されていると決定することと、
前記第１のソーシャルメディアイベントがまだ行われていないと決定することと
を含み、
前記イベントデータ構造を修正することは、前記イベントデータ構造における前記特定の興味カテゴリに関連する前記度数指標を修正することを含む、請求項１に記載の方法。
【請求項６】
前記サーバシステムは、前記データベーストランザクションが１つまたは複数の追加のソーシャルメディアイベントに関するトリガ基準を満たすと決定することと、
前記データベーストランザクションが前記１つまたは複数のソーシャルメディアイベントに関する前記トリガ基準を満たすと決定したことに応答して、前記データベーストランザクションに基づいて前記１つまたは複数のソーシャルメディアイベントについての前記イベントデータ構造を修正すること
をさらに含む、請求項５に記載の方法。
【請求項７】
前記データベーストランザクションが前記第１のソーシャルメディアイベントに関する前記トリガ基準を満たすと決定することは、
追加ユーザが前記第１のソーシャルメディアイベントに関連付けられていると決定することと、
前記第１のソーシャルメディアイベントがまだ行われていないと決定することと
を含み、
前記イベントデータ構造を修正することは、
前記追加ユーザが追加の興味カテゴリに関連付けられていると決定することと、
前記追加の興味カテゴリの指示を含むように前記イベントデータ構造を修正することと
を含む、請求項１に記載の方法。
【請求項８】
前記データベーストランザクションが前記第１のソーシャルメディアイベントに関する前記トリガ基準を満たすと決定することは、
追加ユーザが前記第１のソーシャルメディアイベントに関連付けられていると決定することと、
前記第１のソーシャルメディアイベントがまだ行われていないと決定することと
を含み、
前記イベントデータ構造を修正することは、
前記追加ユーザが前記第１の興味カテゴリのサブセットの特定の興味カテゴリに関連付けられていると決定することと、
前記追加ユーザが前記第１の興味カテゴリのサブセットの前記特定の興味カテゴリに関連付けられていると決定したことに応答して、前記イベントデータ構造における前記特定の興味カテゴリに関連する前記度数指標を修正することと
を含む、請求項１に記載の方法。
【請求項９】
前記イベントデータ構造における前記特定の興味カテゴリに関連する前記度数指標を修正することは、
前記特定の興味カテゴリに関連する前記度数指標をインクリメントすること
を含む、請求項８に記載の方法。
【請求項１０】
前記データベーストランザクションが前記第１のソーシャルメディアイベントに関する前記トリガ基準を満たすと決定することは、
前記第１のユーザのサブセットの特定のユーザが前記第１のソーシャルメディアイベントと関連付け解除されたと決定することと、
前記第１のソーシャルメディアイベントがまだ行われていないと決定することと
を含み、
前記イベントデータ構造を修正することは、
前記関連付け解除されたユーザが前記第１の興味カテゴリのサブセットの特定の興味カテゴリに関連付けられていたと決定することと、
前記関連付け解除されたユーザが前記第１の興味カテゴリのサブセットの前記特定の興味カテゴリに関連付けられていたと決定したことに応答して、前記イベントデータ構造における前記特定の興味カテゴリに関連する前記度数指標を修正することと
を含む、請求項１に記載の方法。
【請求項１１】
前記イベントデータ構造における前記特定の興味カテゴリに関連する前記度数指標を修正することは、
前記特定の興味カテゴリに関連する前記度数指標をデクリメントすること
を含む、請求項１０に記載の方法。
【請求項１２】
前記イベントデータ構造に基づいてヒストグラムを生成し指示することをさらに含む、請求項１に記載の方法。
【請求項１３】
１つまたは複数の追加のソーシャルメディアイベントについて１つまたは複数の追加のイベントデータ構造を生成することと、
前記イベントデータ構造および前記１つまたは複数の追加のイベントデータ構造に基づいて複数のヒストグラムを生成し指示することと
をさらに含む、請求項１に記載の方法。
【請求項１４】
前記プロフィールデータは、少なくとも１人のユーザについて、前記ユーザに関連付けられた１つまたは複数のパブリック興味カテゴリの指示と、前記ユーザに関連付けられた１つまたは複数のプライベート興味カテゴリの指示とを含み、
前記ユーザと前記１つまたは複数のパブリック興味カテゴリとの前記関連付けは、１人または複数人の他のユーザによってアクセス可能であり、
前記ユーザと前記１つまたは複数のプライベート興味カテゴリとの前記関連付けは、１人または複数人の他のユーザによってアクセス不可能である、
請求項１に記載の方法。
【請求項１５】
前記イベントデータ構造に基づいて前記１つまたは複数のパブリック興味カテゴリに対応するヒストグラムを生成し指示することをさらに含む、請求項１４に記載の方法。
【請求項１６】
前記第１の興味カテゴリのサブセットに基づいて前記イベントデータ構造を生成することは、前記第１の興味カテゴリのサブセットの各興味カテゴリについて、
前記興味カテゴリに関連し、前記第１のソーシャルメディアイベントへの招待を受諾した前記第１のユーザのサブセットの各ユーザについて、前記興味カテゴリに関連する前記度数指標を第１の量だけインクリメントすることと、
前記興味カテゴリに関連し、前記第１のソーシャルメディアイベントへの招待を暫定的に受諾した前記第１のユーザのサブセットの各ユーザについて、前記興味カテゴリに関連する前記度数指標を第２の量だけインクリメントすることと
を含み、
前記第１の量は前記第２の量と異なる、
請求項１に記載の方法。
【請求項１７】
前記第１の興味カテゴリのサブセットが前記第１のユーザのサブセットに関連付けられていると決定することは、
前記ユーザのサブセットの少なくとも１人のユーザによって選択された１つまたは複数の興味カテゴリを前記第１の興味カテゴリのサブセットとして識別すること
を含む、請求項１に記載の方法。
【請求項１８】
前記サーバシステムは、前記イベントデータ構造に基づいて追加ユーザに対する前記第１のソーシャルメディアイベントの推薦を生成すること
をさらに含む、請求項１に記載の方法。
【請求項１９】
前記追加ユーザに対する前記第１のソーシャルメディアイベントの前記推薦を生成することは、
前記追加ユーザのプロフィールデータを取得することと、
前記追加ユーザの前記プロフィールデータに基づいて、前記追加ユーザに関連付けられた前記興味カテゴリを決定することと、
前記追加ユーザおよび前記イベントデータ構造に関連付けられた前記興味カテゴリに基づいて推薦スコアを決定することと
を含む、請求項１８に記載の方法。
【請求項２０】
前記推薦スコアを決定することは、
前記追加ユーザおよび前記イベントデータ構造に関連付けられた前記興味カテゴリに共通している１つまたは複数の興味カテゴリを決定することと、
前記共通している興味カテゴリのそれぞれに対応する前記イベントデータ構造の前記度数指標を合計することと
を含む、請求項１９に記載の方法。
【請求項２１】
前記推薦スコアを決定することは、
前記追加ユーザに関連付けられた第１の地理的場所と、前記第１のソーシャルメディアイベントに関連付けられた第２の地理的場所との距離を決定することと、
前記第１の地理的場所と前記第２の地理的場所との前記距離に基づいて前記推薦スコアを修正することと
をさらに含む、請求項２０に記載の方法。
【請求項２２】
前記推薦スコアを決定することは、
前記第２の興味カテゴリのサブセットおよび前記追加ユーザに関連付けられた前記興味カテゴリに共通にしている１つまたは複数の興味カテゴリを決定することと、
前記決定に基づいて前記推薦スコアを修正することと
をさらに含む、請求項２０に記載の方法。
【請求項２３】
前記推薦スコアを決定することは、
前記追加ユーザに関連付けられたユーザの数と、
前記追加ユーザおよび前記第１のソーシャルメディアイベントの両方に関連付けられたユーザの数と
を決定することと、
前記決定に基づいて前記推薦スコアを修正することと
をさらに含む、請求項２０に記載の方法。
【請求項２４】
前記追加ユーザに対する前記第１のソーシャルメディアイベントの前記推薦を生成することは、
前記推薦スコアが閾値スコアを超えていると決定することと、
前記推薦スコアが前記閾値スコアを超えていると決定したことに応答して、前記第１のソーシャルメディアイベントを識別する前記追加ユーザへの通知を生成することと
をさらに含む、請求項２０に記載の方法。
【請求項２５】
グラフィカルユーザインターフェースをレンダリングすることであって、前記グラフィカルユーザインターフェースは前記イベントデータ構造のグラフィカル表現を含む、前記レンダリングすることと、
前記グラフィカルユーザインターフェースをユーザに提示することと
をさらに含む、請求項１に記載の方法。
【請求項２６】
前記イベントデータ構造は実質的にリアルタイムに修正される、請求項１に記載の方法。
【請求項２７】
前記イベントデータ構造は定期的に修正される、請求項１に記載の方法。
【請求項２８】
前記サーバシステムは、前記第１のユーザに対する追加の興味カテゴリの推薦を生成することをさらに含む、請求項１に記載の方法。
【請求項２９】
前記追加の興味カテゴリの前記推薦を生成することは、
前記第１のユーザが第１のソーシャルメディアイベントのサブセットに関連付けられていると決定することと、
第３の興味カテゴリのサブセットが、前記第１のソーシャルメディアイベントのサブセットのうちの少なくとも１つのソーシャルメディアイベントに関連付けられていると決定することと、
前記第３の興味カテゴリのサブセット内の各興味カテゴリについて推薦スコアを決定することと
を含む、請求項２８に記載の方法。
【請求項３０】
前記推薦スコアを決定することは、
前記第１のソーシャルメディアイベントのサブセットの各ソーシャルメディアイベントについて、対応するイベントデータ構造を取得することと、
前記第３の興味カテゴリのサブセットの各興味カテゴリについて、前記興味カテゴリに対応する前記取得されたイベントデータ構造の前記度数指標を合計することと
を含む、請求項２９に記載の方法。
【請求項３１】
前記推薦スコアを決定することは、
前記第１のソーシャルメディアイベントのサブセットの各ソーシャルメディアイベントについて、前記ソーシャルメディアイベントの管理ユーザによって選択された１つまたは複数の興味カテゴリを決定することと、
前記決定に基づいて前記推薦スコアを修正することと
をさらに含む、請求項３０に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、データベースシステムを維持することに関し、より詳細には、（たとえば、ソーシャルメディアプラットフォームと共に使用するための）ソーシャルメディアイベントアイテムのデータベースを維持して、ユーザが自動化された方式でソーシャルメディアイベントアイテムを作成し共有できるようにすることに関する。
【背景技術】
【０００２】
データベース（たとえば、リレーショナルデータベースまたは他の種類のデータベース）は、様々なデータ、たとえば、ソーシャルメディアプラットフォームによって生成され保持されるデータを記憶することができる。ソーシャルメディアプラットフォームとは、ユーザが他のユーザとのソーシャルネットワークおよび／または社会的関係を構築することを可能にするオンラインプラットフォームである。たとえば、ユーザは、ソーシャルメディアプラットフォーム上でのペルソナを作成し、ペルソナを使用して他のユーザと対話することができる。一例として、ユーザは、個人情報、経歴情報、および／または自身に関する他の情報（たとえば、氏名、連絡先情報、個人的な興味、仕事情報、写真、ビデオ、音声など）を入力することによって、ソーシャルメディアプロフィールを作成することができる。さらに、ユーザは、（たとえば、知人、取引先、および／または友人である１人または複数人のユーザを指定することによって）自身をソーシャルメディアプラットフォームの他のユーザと関連付けることができる。
【０００３】
場合により、ソーシャルメディアプラットフォームは、ユーザ同士が情報を共有することも可能にする。たとえば、一部のソーシャルメディアプラットフォームでは、ユーザ同士はソーシャルメディアプラットフォームを介して、メッセージ、写真、ビデオ、音声、文書、および／または他のコンテンツを互いに送信することができる。
【０００４】
場合により、ソーシャルメディアプラットフォームは、ユーザがイベントを主催し運営することも可能にする。たとえば、一部のソーシャルメディアプラットフォームでは、ユーザは近く行われるイベントに関する情報を入力し、その情報を他のユーザと共有することができる。受信者はイベントに関する情報をレビューし、イベントについて議論し、および／またはイベントにＲＳＶＰすることができる。
【発明の概要】
【０００５】
ソーシャルメディアプラットフォームは、ユーザが自動化された方式でイベントを主催し運営することを可能にすることができる。たとえば、イベントの「管理ユーザ」（たとえば、イベントの企画、運営、スケジューリング、再スケジューリング、監督、および／または公表を行う責任があるユーザ）は、ソーシャルメディアプラットフォームと対話して、イベントを表すソーシャルメディアイベントアイテムを作成することができる。管理ユーザはイベントに関する情報、たとえば、イベントの予定時刻、イベントの計画場所、イベントの説明、およびイベントに関する他のコンテンツ（たとえば、テキスト、画像、音声、ビデオなど）をソーシャルメディアイベントアイテムに入力することができる。さらに、管理ユーザはソーシャルメディアイベントアイテムを他のユーザ（たとえば、参加者候補）と共有することができる。各受信者はソーシャルメディアイベントアイテムをレビューして、イベントに関する情報を取得し、イベントについて議論し、および／またはイベントにＲＳＶＰすることができる。
【０００６】
場合により、管理ユーザは、イベントに関係する（ｐｅｒｔａｉｎｉｎｇ  ｔｏ）、妥当な（ｒｅｌｅｖａｎｔ  ｔｏ）、および／または他の態様で関連する（ａｓｓｏｃｉａｔｅｄ  ｗｉｔｈ）１つまたは複数の興味カテゴリを指定することができる。さらに、特定のイベントに対して管理ユーザによって指定された興味カテゴリを使用して、そのイベントを１人または複数人のユーザに自動的に推薦または提案することができる。たとえば、各ユーザはソーシャルメディアプラットフォームと対話して、ソーシャルメディアプロフィール（たとえば、そのユーザに関する情報を含む個人プロフィール）を作成し、自分にとって興味がある１つまたは複数の興味カテゴリを自分のソーシャルメディアプロフィールに入力することができる。この情報に基づいて、ソーシャルメディアプラットフォームは、特定のユーザがイベントに興味があり得ると自動的に決定することができる（その理由は、たとえば、興味カテゴリがそのユーザのソーシャルメディアプロフィールと、イベントのソーシャルメディアイベントアイテムとの両方に共通しているため）。それに応答して、ソーシャルメディアプラットフォームは、イベントのソーシャルメディアイベントアイテムをその第２のユーザに自動的に提示することができる。
【０００７】
場合により、ソーシャルメディアプラットフォームは、特定のイベントを、そのイベントへの参加を計画していることを表明したユーザによって選択された興味カテゴリに基づいて自動的に提案または推薦することができる。たとえば、何人かのユーザが特定のイベントに「はい」とＲＳＶＰしている（たとえば、そのイベントへの参加を計画していることを表明している）場合がある。さらに、それらのユーザの大部分の各々が、そのイベントのソーシャルメディアイベントアイテムに含まれていなかった特定の興味カテゴリを、それぞれのソーシャルメディアプロフィールに対して選択している場合がある。この情報に基づいて、ソーシャルメディアプラットフォームは、この追加の興味カテゴリがイベントの管理ユーザによって明示的に指定されていなかったとしても、追加の興味カテゴリに興味があるユーザはそのイベントも楽しみ得ると自動的に決定することができる。それに応じて、ソーシャルメディアプラットフォームは、自分のソーシャルメディアプロフィールにおいて追加の興味カテゴリも選択した１人または複数人の追加ユーザに対して、そのイベントのソーシャルメディアイベントアイテムを自動的に提示することができる。
【０００８】
一態様では、方法は、サーバシステムによって、複数人のユーザについてのプロフィールデータと、複数のソーシャルメディアイベントについてのイベントデータとを生成することを含む。プロフィールデータは、各ユーザについて、そのユーザに関連付けられた１つまたは複数の興味カテゴリの表示を含む。イベントデータは、各ソーシャルメディアイベントについて、そのソーシャルメディアイベントに関連付けられた１人または複数人のユーザの表示を含む。方法は、サーバシステムによって、第１のユーザのサブセットが第１のソーシャルメディアイベントに関連付けられていると決定することと、サーバシステムによって、プロフィールデータおよびイベントデータを１つまたは複数のデータベースに記憶することとをさらに含む。方法は、サーバシステムによって、第１の興味カテゴリのサブセットが第１のユーザのサブセットに関連付けられていると決定することと、サーバシステムによって、第２の興味カテゴリのサブセットが第１のソーシャルメディアイベントに関連付けられていると決定することであって、第２の興味カテゴリのサブセットは第１のソーシャルメディアイベントの管理ユーザによって選択される、決定することとをさらに含む。方法は、第１の興味カテゴリのサブセットおよび第２の興味カテゴリのサブセットに基づいて、第１のソーシャルメディアイベントについてイベントデータ構造を生成することをさらに含む。イベントデータ構造は、第１の興味カテゴリのサブセットおよび第２の興味カテゴリのサブセットの表示と、第１の興味カテゴリのサブセットおよび第２の興味カテゴリのサブセットのうちの各興味カテゴリについての、その興味カテゴリに関連付けられた第１のユーザのサブセットのユーザの数と、その興味カテゴリが第１のソーシャルメディアイベントの管理ユーザによって選択されているか否かとに基づくそれぞれの度数指標とを含む。方法は、サーバシステムによって、１つまたは複数のデータベースのデータに変化をもたらすデータベーストランザクションを監視するように構成される１つまたは複数の処理を実行することと、サーバシステムによって、トランザクションが第１のソーシャルメディアイベントに関するトリガ基準を満たすと決定することと、トランザクションが第１のソーシャルメディアイベントに関するトリガ基準を満たすと決定したことに応答して、トランザクションに基づいてイベントデータ構造を修正することとをさらに含む。
【０００９】
この態様の実施態様は、以下の特徴の１つまたは複数を含むことができる。
【００１０】
いくつかの実施態様では、トランザクションは、第１のユーザのサブセットに関連付けられたプロフィールデータへの修正、または第１のイベントに関連付けられたイベントデータへの修正の少なくとも１つを含むことができる。
【００１１】
いくつかの実施態様では、修正は興味カテゴリの追加または削除を含むことができる。
【００１２】
いくつかの実施態様では、修正は、追加ユーザの第１のソーシャルメディアイベントとの関連付け、または第１のソーシャルメディアイベントからのユーザの関連付け解除を含むことができる。
【００１３】
いくつかの実施態様では、トランザクションが第１のソーシャルメディアイベントに関するトリガ基準を満たすと決定することは、特定の興味カテゴリが、第１のユーザのサブセットの特定のユーザのプロフィールデータに対して追加または削除されていると決定することと、第１のソーシャルメディアイベントがまだ行われていないと決定することとを含むことができる。イベントデータ構造を修正することは、イベントデータ構造における特定の興味カテゴリに関連する度数指標を修正することを含むことができる。
【００１４】
いくつかの実施態様では、この方法は、サーバシステムによって、トランザクションが１つまたは複数の追加のソーシャルメディアイベントに関するトリガ基準を満たすと決定することと、トランザクションが１つまたは複数のソーシャルメディアイベントに関するトリガ基準を満たすと決定したことに応答して、トランザクションに基づいて１つまたは複数のソーシャルメディアイベントについてのイベントデータ構造を修正することをさらに含むことができる。
【００１５】
いくつかの実施態様では、トランザクションが第１のソーシャルメディアイベントに関するトリガ基準を満たすと決定することは、追加ユーザが第１のソーシャルメディアイベントに関連付けられていると決定することと、第１のソーシャルメディアイベントがまだ行われていないと決定することとを含むことができる。イベントデータ構造を修正することは、追加ユーザが追加の興味カテゴリに関連付けられていると決定することと、追加の興味カテゴリの表示を含むようにイベントデータ構造を修正することとを含むことができる。
【００１６】
いくつかの実施態様では、トランザクションが第１のソーシャルメディアイベントに関するトリガ基準を満たすと決定することは、追加ユーザが第１のソーシャルメディアイベントに関連付けられていると決定することと、第１のソーシャルメディアイベントがまだ行われていないと決定することとを含むことができる。イベントデータ構造を修正することは、追加ユーザが第１の興味カテゴリのサブセットの特定の興味カテゴリに関連付けられていると決定することと、追加ユーザが第１の興味カテゴリのサブセットの特定の興味カテゴリに関連付けられていると決定したことに応答して、イベントデータ構造における特定の興味カテゴリに関連する度数指標を修正することとを含むことができる。
【００１７】
いくつかの実施態様では、イベントデータ構造における特定の興味カテゴリに関連する度数指標を修正することは、特定の興味カテゴリに関連する度数指標をインクリメントすることを含むことができる。
【００１８】
いくつかの実施態様では、トランザクションが第１のソーシャルメディアイベントに関するトリガ基準を満たすと決定することは、第１のユーザのサブセットの特定のユーザが第１のソーシャルメディアイベントと関連付け解除されたと決定することと、第１のソーシャルメディアイベントがまだ行われていないと決定することとを含むことができる。イベントデータ構造を修正することは、関連付け解除されたユーザが第１の興味カテゴリのサブセットの特定の興味カテゴリに関連付けられていたと決定することと、関連付け解除されたユーザが第１の興味カテゴリのサブセットの特定の興味カテゴリに関連付けられていたと決定したことに応答して、イベントデータ構造における特定の興味カテゴリに関連する度数指標を修正することとを含むことができる。
【００１９】
いくつかの実施態様では、イベントデータ構造における特定の興味カテゴリに関連する度数指標を修正することは、特定の興味カテゴリに関連する度数指標をデクリメントすることを含むことができる。
【００２０】
いくつかの実施態様では、この方法は、イベントデータ構造に基づいてヒストグラムを生成し表示することをさらに含むことができる。
【００２１】
いくつかの実施態様では、この方法は、１つまたは複数の追加のソーシャルメディアイベントについて１つまたは複数の追加のイベントデータ構造を生成することと、イベントデータ構造および１つまたは複数の追加のイベントデータ構造に基づいて複数のヒストグラムを生成し表示することとをさらに含むことができる。
【００２２】
いくつかの実施態様では、プロフィールデータは、少なくとも１人のユーザについて、そのユーザに関連付けられた１つまたは複数のパブリック興味カテゴリの表示と、そのユーザに関連付けられた１つまたは複数のプライベート興味カテゴリの表示とを含むことができる。そのユーザと１つまたは複数のパブリック興味カテゴリとの関連付けは、１人または複数人の他のユーザによってアクセス可能にすることができる。そのユーザと１つまたは複数のプライベート興味カテゴリとの関連付けは、１人または複数人の他のユーザによってアクセス不可能にすることができる。
【００２３】
いくつかの実施態様では、この方法は、イベントデータ構造に基づいて１つまたは複数のパブリック興味カテゴリに対応するヒストグラムを生成し表示することをさらに含むことができる。
【００２４】
いくつかの実施態様では、第１の興味カテゴリのサブセットに基づいてイベントデータ構造を生成することは、第１の興味カテゴリのサブセットの各興味カテゴリについて、その興味カテゴリに関連し、第１のソーシャルメディアイベントへの招待を受諾した第１のユーザのサブセットの各ユーザについて、その興味カテゴリに関連する度数指標を第１の量だけインクリメントすることと、その興味カテゴリに関連し、第１のソーシャルメディアイベントへの招待を暫定的に受諾した第１のユーザのサブセットの各ユーザについて、その興味カテゴリに関連する度数指標を第２の量だけインクリメントすることとを含むことができる。第１の量は第２の量と異なることができる。
【００２５】
いくつかの実施態様では、第１の興味カテゴリのサブセットが第１のユーザのサブセットに関連付けられていると決定することは、ユーザのサブセットの少なくとも１人のユーザによって選択された１つまたは複数の興味カテゴリを第１の興味カテゴリのサブセットとして識別することを含むことができる。
【００２６】
いくつかの実施態様では、この方法は、サーバシステムによって、イベントデータ構造に基づいて追加ユーザに対する第１のソーシャルメディアイベントの推薦を生成することをさらに含むことができる。
【００２７】
いくつかの実施態様では、追加ユーザに対する第１のソーシャルメディアイベントの推薦を生成することは、追加ユーザのプロフィールデータを取得することと、追加ユーザのプロフィールデータに基づいて、追加ユーザに関連付けられた興味カテゴリを決定することと、追加ユーザおよびイベントデータ構造に関連付けられた興味カテゴリに基づいて推薦スコアを決定することとを含むことができる。
【００２８】
いくつかの実施態様では、推薦スコアを決定することは、追加ユーザおよびイベントデータ構造に関連付けられた興味カテゴリに共通している１つまたは複数の興味カテゴリを決定することと、共通している興味カテゴリのそれぞれに対応するイベントデータ構造の度数指標を合計することとを含むことができる。
【００２９】
いくつかの実施態様では、推薦スコアを決定することは、追加ユーザに関連付けられた第１の地理的場所と、第１のソーシャルメディアイベントに関連付けられた第２の地理的場所との距離を決定することと、第１の地理的場所と第２の地理的場所との距離に基づいて推薦スコアを修正することとをさらに含むことができる。
【００３０】
いくつかの実施態様では、推薦スコアを決定することは、第２の興味カテゴリのサブセットおよび追加ユーザに関連付けられた興味カテゴリに共通にしている１つまたは複数の興味カテゴリを決定することと、決定に基づいて推薦スコアを修正することとをさらに含むことができる。
【００３１】
いくつかの実施態様では、推薦スコアを決定することは、第２のユーザに関連付けられたユーザの数と、第２のユーザおよび第１のソーシャルメディアイベントの両方に関連付けられたユーザの数とを決定することと、決定に基づいて推薦スコアを修正することとをさらに含むことができる。
【００３２】
いくつかの実施態様では、追加ユーザに対する第１のソーシャルメディアイベントの推薦を生成することは、推薦スコアが閾値スコアを超えていると決定することと、推薦スコアが閾値スコアを超えていると決定したことに応答して、第１のソーシャルメディアイベントを識別する追加ユーザへの通知を生成することとをさらに含むことができる。
【００３３】
いくつかの実施態様では、この方法は、グラフィカルユーザインターフェースをレンダリングすることであって、グラフィカルユーザインターフェースはイベントデータ構造のグラフィカル表現を含む、レンダリングすることと、グラフィカルユーザインターフェースをユーザに提示することとをさらに含むことができる。
【００３４】
いくつかの実施態様では、イベントデータ構造は実質的にリアルタイムに修正することができる。
【００３５】
いくつかの実施態様では、イベントデータ構造は定期的に修正することができる。
【００３６】
いくつかの実施態様では、この方法は、サーバシステムによって、第１のユーザに対する追加の興味カテゴリの推薦を生成することをさらに含むことができる。
【００３７】
いくつかの実施態様では、追加の興味カテゴリの推薦を生成することは、第１のユーザが第１のソーシャルメディアイベントのサブセットに関連付けられていると決定することと、第３の興味カテゴリのサブセットが、第１のソーシャルメディアイベントのサブセットのうちの少なくとも１つのソーシャルメディアイベントに関連付けられていると決定することと、第３の興味カテゴリのサブセット内の各興味カテゴリについて推薦スコアを決定することとを含むことができる。
【００３８】
いくつかの実施態様では、推薦スコアを決定することは、第１のソーシャルメディアイベントのサブセットの各ソーシャルメディアイベントについて、対応するイベントデータ構造を取得することと、第３の興味カテゴリのサブセットの各興味カテゴリについて、その興味カテゴリに対応する取得されたイベントデータ構造の度数指標を合計することとを含むことができる。
【００３９】
いくつかの実施態様では、推薦スコアを決定することは、第１のソーシャルメディアイベントのサブセットの各ソーシャルメディアイベントについて、そのソーシャルメディアイベントの管理ユーザによって選択された１つまたは複数の興味カテゴリを決定することと、決定に基づいて推薦スコアを修正することとをさらに含むことができる。
【００４０】
他の態様では、方法は、サーバシステムによって会場データを生成することを含む。会場データは、会場に関して管理ユーザによって選択された１つまたは複数の第１の興味カテゴリの表示と、会場に関連付けられた１つまたは複数のイベントの表示とを含む。この方法は、サーバシステムによって、会場に関連付けられた１つまたは複数のイベントのそれぞれについてイベントデータ構造を生成することをさらに含む。各イベントデータ構造は、イベントに関連付けられた１つまたは複数の第２の興味カテゴリの表示と、１つまたは複数の第２の興味カテゴリの各興味カテゴリについての、それぞれの度数指標とを含む。この方法は、サーバシステムによって、会場データおよび１つまたは複数のイベントデータ構造に基づいて会場データ構造を生成することをさらに含む。会場データ構造は、１つまたは複数の第１のカテゴリおよび１つまたは複数の第２の興味カテゴリの表示と、１つまたは複数の第１のカテゴリおよび１つまたは複数の第２の興味カテゴリのうちの各興味カテゴリについての、会場データおよび１つまたは複数のイベントデータ構造に基づいて決定されるそれぞれの度数指標とを含む。この方法は、サーバシステムによって、１つまたは複数のデータベースのデータに変化をもたらすデータベーストランザクションを監視するように構成される１つまたは複数の処理を実行することとをさらに含む。この方法は、サーバシステムによって、トランザクションが会場データ構造に関するトリガ基準を満たすと決定することと、それに応答して、トランザクションに基づいて会場データ構造を修正することとをさらに含む。
【００４１】
この態様の実施態様は、以下の特徴の１つまたは複数を含むことができる。
【００４２】
いくつかの実施態様では、トランザクションは１つまたは複数のイベントデータ構造への修正を含むことができる。
【００４３】
いくつかの実施態様では、トランザクションは会場データへの修正を含むことができる。
【００４４】
いくつかの実施態様では、この方法は、会場データ構造に基づいてヒストグラムを生成し表示することをさらに含むことができる。
【００４５】
いくつかの実施態様では、会場データ構造を生成することは、各イベントデータ構造について、それぞれの重みを決定することと、重みに基づいて会場データ構造の度数指標を決定することとを含むことができる。
【００４６】
いくつかの実施態様では、各重みは、それぞれのイベントの開催の新しさに対応することができる。
【００４７】
いくつかの実施態様では、この方法は、サーバシステムによって、会場データおよび１つまたは複数のイベントデータ構造に基づいて１つまたは複数の追加の会場データ構造を生成することさらに含むことができる。各追加の会場データ構造は、それぞれの時刻に応じた１つまたは複数の第１のカテゴリおよび１つまたは複数の第２の興味カテゴリの表示と、１つまたは複数の第１のカテゴリおよび１つまたは複数の第２の興味カテゴリのうちの各興味カテゴリについての、その時刻に応じたそれぞれの度数指標とを含むことができる。
【００４８】
いくつかの実施態様では、この方法は、会場データ構造および１つまたは複数の追加の会場データ構造に基づいて複数のヒストグラムを生成し表示することをさらに含むことができる。
【００４９】
いくつかの実施態様では、この方法は、グラフィカルユーザインターフェースをレンダリングすることをさらに含むことができる。グラフィカルユーザインターフェースはイベントデータ構造のグラフィカル表現を含むことができる。この方法は、グラフィカルユーザインターフェースをユーザに提示することをさらに含むことができる。
【００５０】
いくつかの実施態様では、会場データ構造は実質的にリアルタイムに修正することができる。
【００５１】
いくつかの実施態様では、会場データ構造は定期的に修正することができる。
【００５２】
本明細書に記載の実施態様の１つまたは複数は、様々な技術的利点を提供することができる。たとえば、ソーシャルメディアプラットフォームの実施態様は、ユーザがコンピュータ通信ネットワークを介してイベント情報を迅速かつ効率的に作成し、修正し、配信することを可能にすることができる。一例として、ソーシャルメディアプラットフォームは、イベントに対して妥当であり得る興味カテゴリを自動的に決定し、それらの興味カテゴリを対応するソーシャルメディアイベントアイテムに自動的に関連付け、（たとえば、イベントに興味がありそうな１人または複数人のユーザにソーシャルメディアイベントアイテムを提示することによって）イベントを１人または複数人のユーザに自動的に推薦することができる。これは自動化された方式で実行することができるので、イベントの管理ユーザは、（たとえば、イベントに関連付けられた興味カテゴリを手動で識別し、追加の興味カテゴリを含むようにイベントのソーシャルメディアイベントアイテムを手動で修正し、イベントに興味があり得るユーザを手動で識別し、それらのユーザにイベントのソーシャルメディアイベントアイテムを手動で共有するなどすることと比較して）より少ない入力を使用してイベント情報を作成し、修正し、および／または配信することができる。したがって、ユーザのデバイスにより利用されるコンピュータ資源およびネットワーク資源が削減される。さらに、ソーシャルメディアプラットフォームの実施態様は、特定のデータ処理ルールに従ってデータを受信、処理、記憶、および／または送信することによって、ソーシャルメディアプラットフォームが一貫して、確実に、効率的に動作することを可能にし、従来技術を使用しても実現できなかった結果をもたらす（たとえば、ソーシャルメディアイベントアイテムを動的な方式で自動的に維持する、特定のイベントに興味があり得るユーザを自動的に識別するなど）。またさらに、これらの動作は、主観的な人間の入力（たとえば、各イベントまたは会場についての妥当な興味カテゴリに関する人間の主観的な判断）に基づくのではなく、クラウドソースのコンピュータ化データレコードにコンピュータベースのルールを適用することによって実行することができる。したがって、これによりコンピュータが、従来は困難、非現実的、または不可能であったタスクを実行することが可能になる。たとえば、コンピュータシステムは、イベントまたは会場を正確に記述する興味カテゴリを自動的に決定し、決定に基づいて推薦を行うことができる。
【００５３】
１つまたは複数の実施形態の詳細を添付の図面および以下の説明に記載する。他の特徴および利点は、本説明および図面ならびに特許請求の範囲から明らかになろう。
【図面の簡単な説明】
【００５４】
【図１】ソーシャルメディアプラットフォームを実装するための例示的なシステムの図である。
【図２】例示的なソーシャルメディアプラットフォームの図である。
【図３Ａ】自動化された方式でイベントを主催し運営するためのソーシャルメディアプラットフォームの例示的な使用法を示す図である。
【図３Ｂ】自動化された方式でイベントを主催し運営するためのソーシャルメディアプラットフォームの例示的な使用法を示す図である。
【図３Ｃ】自動化された方式でイベントを主催し運営するためのソーシャルメディアプラットフォームの例示的な使用法を示す図である。
【図４Ａ】ソーシャルメディアプラットフォームのユーザのプライバシー設定を考慮して、自動化された方式でイベントを主催し運営するためのソーシャルメディアプラットフォームの他の例示的な使用法を示す図である。
【図４Ｂ】ソーシャルメディアプラットフォームのユーザのプライバシー設定を考慮して、自動化された方式でイベントを主催し運営するためのソーシャルメディアプラットフォームの他の例示的な使用法を示す図である。
【図４Ｃ】ソーシャルメディアプラットフォームのユーザのプライバシー設定を考慮して、自動化された方式でイベントを主催し運営するためのソーシャルメディアプラットフォームの他の例示的な使用法を示す図である。
【図５Ａ】自動化された方式でユーザに対して興味カテゴリを識別し推薦するためのソーシャルメディアプラットフォームの例示的な使用法を示す図である。
【図５Ｂ】自動化された方式でユーザに対して興味カテゴリを識別し推薦するためのソーシャルメディアプラットフォームの例示的な使用法を示す図である。
【図６】ソーシャルメディアプラットフォームと対話するための例示的なユーザインターフェースの図である。
【図７】ソーシャルメディアプラットフォームと対話するための例示的なユーザインターフェースの図である。
【図８】ソーシャルメディアプラットフォームと対話するための例示的なユーザインターフェースの図である。
【図９】ソーシャルメディアプラットフォームと対話するための例示的なユーザインターフェースの図である。
【図１０Ａ】ソーシャルメディアプラットフォームと対話するための例示的なユーザインターフェースの図である。
【図１０Ｂ】ソーシャルメディアプラットフォームと対話するための例示的なユーザインターフェースの図である。
【図１１Ａ】自動化された方式で会場の特徴を決定するためのソーシャルメディアプラットフォームの例示的な使用法を示す図である。
【図１１Ｂ】自動化された方式で会場の特徴を決定するためのソーシャルメディアプラットフォームの例示的な使用法を示す図である。
【図１２】３次元ヒストグラムの形態の例示的な会場データ構造の図である。
【図１３】３次元ヒストグラムの形態の一連のイベントについての例示的なイベントデータ構造の図である。
【図１４】自動化された方式でユーザに対してイベントを識別し推薦するための例示的な処理の流れ図である。
【図１５】会場の特徴を自動的に決定するための例示的な処理の流れ図である。
【図１６】例示的なコンピュータシステムの図である。
【発明を実施するための形態】
【００５５】
様々な図における同様の参照符号は同様の要素を示す。
【００５６】
ソーシャルメディアプラットフォームは、ユーザがソーシャルメディアイベントアイテムを使用して自動化された方式でイベントを主催し運営することを可能にすることができる。ソーシャルメディアイベントアイテムとはイベントを表すデータの一部であり、典型的には、たとえば、各ソーシャルメディアイベントの日時、イベントの説明、イベントに関連付けられた１つまたは複数のソーシャルメディアプロフィール（たとえば、ソーシャルメディアイベントアイテムを生成したユーザと、ソーシャルメディアプラットフォームの他のユーザとに対応するソーシャルメディアプロフィール）、および各ソーシャルメディアイベントに関係する他のコンテンツなどのデータを含む。ソーシャルメディアイベントアイテムは、典型的には、ソーシャルメディアプラットフォームに関連付けられたデータベースに記憶される。このデータベースを維持することは、ソーシャルメディアイベントアイテムなど、イベントを表すデータに特有のデータ処理ルールを使用することを含む場合がある。
【００５７】
一実施態様では、ユーザはソーシャルメディアプラットフォームと対話して、イベントを表すソーシャルメディアイベントアイテムを作成することができる。ユーザはイベントに関する情報、たとえば、イベントの予定時刻、イベントの計画場所、イベントの説明、およびイベントに関する他のコンテンツ（たとえば、テキスト、画像、音声、ビデオなど）をソーシャルメディアイベントアイテムに入力することができる。
【００５８】
ソーシャルメディアイベントアイテムが生成された後、ユーザはイベントに対応するソーシャルメディアイベントアイテムを公表して、他のユーザにアクセス可能にすることができる。たとえば、ユーザはソーシャルメディアプラットフォームを使用してソーシャルメディアイベントアイテムを他のユーザと共有することができる。受信者はソーシャルメディアイベントアイテムをレビューして、イベントに関する情報を取得し、（たとえば、ソーシャルメディアプラットフォームによって提供される議論エンジンを使用して）イベントについて議論し、および／または（たとえば、ソーシャルメディアプラットフォームによって提供されるＲＳＶＰエンジンを使用して）イベントにＲＳＶＰすることができる。
【００５９】
場合により、管理ユーザは、イベントに関係する、妥当な、および／または他の態様で関連する１つまたは複数の興味カテゴリを指定することができる。たとえば、「Ｔｅａｍ  Ｓｈａｒｋｓ」対「Ｔｅａｍ  Ｊｅｔｓ」の野球の試合では、イベントの管理ユーザは、「Ｔｅａｍ  Ｓｈａｒｋｓ」、「Ｔｅａｍ  Ｊｅｔｓ」、「野球」、「スポーツ」、「アウトドア」などの興味カテゴリを指定することができる。これらの興味カテゴリは、ソーシャルメディアイベントアイテムの一部として各ユーザに提示することができる。これは、たとえば参加者候補がイベントの性質を素早く評価し、参加したいか否かを判断できるようになるので、有益であり得る。
【００６０】
場合により、特定のイベントに対して管理ユーザによって指定された興味カテゴリを使用して、そのイベントを１人または複数人のユーザに自動的に推薦または提案することができる。たとえば、各ユーザはソーシャルメディアプラットフォームと対話して、ソーシャルメディアプロフィール（たとえば、そのユーザに関する情報を含む個人プロフィール）を作成し、自分にとって興味がある１つまたは複数の興味カテゴリを自分のソーシャルメディアプロフィールに入力することができる。たとえば、第１のユーザは、「音楽」、「サッカー」、および「映画」に興味があることを示すソーシャルメディアプロフィールを作成する場合があり、第２のユーザは、「食べ物」、「野球」、および「読書」に興味があることを示すソーシャルメディアプロフィールを作成する場合がある。この情報に基づいて、ソーシャルメディアプラットフォームは、第２のユーザが「Ｔｅａｍ  Ｓｈａｒｋｓ」対「Ｔｅａｍ  Ｊｅｔｓ」の野球の試合に興味があり得ると自動的に決定し（その理由は、たとえば、「野球」興味カテゴリが第２のユーザのソーシャルメディアプロフィールと、野球の試合を表すソーシャルメディアイベントアイテムとの両方に共通しているため）、野球の試合を表すソーシャルメディアイベントアイテムを第２のユーザに自動的に提示することができる。
【００６１】
場合により、ソーシャルメディアプラットフォームは、特定のイベントを、そのイベントへの参加を計画していることを表明したユーザによって選択された興味カテゴリに基づいて自動的に提案または推薦することができる。たとえば、何人かのユーザは、「Ｔｅａｍ  Ｓｈａｒｋｓ」と「Ｔｅａｍ  Ｊｅｔｓ」との野球の試合に「はい」とＲＳＶＰしている（たとえば、そのイベントへの参加を計画していることを表明している）場合がある。さらに、それらのユーザの大部分の各々が、それぞれのソーシャルメディアプロフィールに対して「ソフトボール」興味カテゴリを選択している場合がある。この情報に基づいて、ソーシャルメディアプラットフォームは、「ソフトボール」興味カテゴリがイベントの管理ユーザによって明示的に指定されていなかったとしても、ソフトボールを楽しいと感じるユーザが野球の試合も楽しみ得ると自動的に決定することができる。それに応じて、ソーシャルメディアプラットフォームは、自分のソーシャルメディアプロフィールにおいて「ソフトボール」興味カテゴリを選択した１人または複数人の追加ユーザに対して、野球の試合のソーシャルメディアイベントアイテムを自動的に提示することができる。
【００６２】
ソーシャルメディアプラットフォームを実装するための例示的なシステム１００を図１に示す。システム１００は、１つまたは複数のサーバコンピュータを含むサーバシステム１０２上で維持されるソーシャルメディアプラットフォーム１５０を含む。
【００６３】
サーバシステム１０２は、ネットワーク１０６を使用してクライアントデバイス１０４ａ−ｃに通信可能に接続される。各クライアントデバイス１０４ａ−ｃは、それぞれのユーザインターフェース１０８ａ−ｃを含む。ユーザはユーザインターフェース１０８ａ−ｃと対話して、データ（たとえば、サーバシステム１０２およびプラットフォーム１５０上のデータ、ならびに／あるいは他のクライアントデバイス１０４ａ−ｃ上のデータ）を閲覧する。また、ユーザはユーザインターフェース１０８ａ−ｃと対話して、他のデバイス（たとえば、サーバシステム１０２およびプラットフォーム１５０、ならびに／あるいは他のクライアントデバイス１０４ａ−ｃ）にデータを送信する。ユーザはユーザインターフェース１０８ａ−ｃと対話して、コマンド１１０ａ−ｃを（たとえば、サーバシステム１０２およびプラットフォーム１５０、ならびに／あるいは他のクライアントデバイス１０４ａ−ｃに）発行する。コマンド１１０ａ−ｃは、たとえば、サーバシステム１０２および／または他のクライアントデバイス１０４ａ−ｃへの任意のユーザ指示とすることができる。いくつかの実施態様では、ユーザは、これらのタスクを実行しやすくするためのソフトウェアアプリケーションをクライアントデバイス１０４ａ−ｃ上にインストールすることができる。
【００６４】
クライアントデバイス１０４ａ−ｃは、ユーザによってデータを閲覧、処理、送信および受信するために使用される任意の電子デバイスとすることができる。クライアントデバイス１０４ａ−ｃの例は、コンピュータ（たとえば、デスクトップコンピュータ、ノートブックコンピュータ、サーバシステムなど）、モバイルコンピューティングデバイス（たとえば、携帯電話、スマートフォン、タブレット、パーソナルデータアシスタント、ネットワーク機能付きのノートブックコンピュータ）、およびネットワーク１０６との間でデータを送信および受信することが可能な他のコンピューティングデバイスを含む。クライアントデバイス１０４ａ−ｃは、１つまたは複数のオペレーティングシステム（たとえば、Ｍｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ、Ａｐｐｌｅ  ＯＳ  Ｘ、Ｌｉｎｕｘ、Ｕｎｉｘ、Ａｎｄｒｏｉｄ、Ａｐｐｌｅ  ｉＯＳなど）、ならびに／あるいはアーキテクチャ（たとえば、ｘ８６、ＰｏｗｅｒＰＣ、ＡＲＭなど）を使用して動作するデバイスを含むことができる。いくつかの実施態様では、クライアントデバイス１０４ａ−ｃの１つまたは複数は、システム１００の残りの部分に対してローカルに配置される必要はなく、クライアントデバイス１０４ａ−ｃの１つまたは複数は、１つまたは複数の離れた物理的場所に配置することができる。いくつかの実施態様では、クライアントデバイス１０４ａ−ｃは、地理測位システム（たとえば、全地球測位システム［ＧＰＳ］、Ｗｉ−Ｆｉ三角測量システムなど）と通信して、その地理的場所を特定することができる。
【００６５】
ネットワーク１０６は、データを転送および共有可能な任意の通信ネットワークとすることができる。たとえば、ネットワーク１０６は、ローカルエリアネットワーク（ＬＡＮ）またはワイドエリアネットワーク（ＷＡＮ）、たとえば、インターネットとすることができる。ネットワーク１０６は様々なネットワークインターフェース、たとえば、無線ネットワークインターフェース（たとえば、Ｗｉ−Ｆｉ、Ｂｌｕｅｔｏｏｔｈ、もしくは赤外線）または有線ネットワークインターフェース（たとえば、イーサネットもしくはシリアル接続）を使用して実装することができる。また、ネットワーク１０６は２つ以上のネットワークの組み合わせを含むことができ、１つまたは複数のネットワークインターフェースを使用して実装することができる。
【００６６】
サーバシステム１０２はそれぞれの単一の構成要素として示している。しかしながら、実際には、これは１つまたは複数のコンピューティングデバイス上で実装することができる（たとえば、各コンピューティングデバイスは、マイクロプロセッサまたはマイクロコントローラなどの少なくとも１つのプロセッサを含む）。サーバシステム１０２は、たとえば、ネットワーク１０６に接続された単一のコンピューティングデバイスとすることができ、ソーシャルメディアプラットフォーム１５０は、単一のコンピューティングデバイス上で維持し動作させることができる。いくつかの実施態様では、サーバシステム１０２は、ネットワーク１０６に接続された複数のコンピューティングデバイスを含むことができ、ソーシャルメディアプラットフォーム１５０は、コンピューティングデバイスの一部または全部の上で維持し動作させることができる。たとえば、サーバシステム１０２はいくつかのコンピューティングデバイスを含むことができ、プラットフォーム１５０はこれらのコンピューティングデバイスの１つまたは複数に分散させることができる。いくつかの実施態様では、サーバシステム１０２はシステム１００の残りの部分に対してローカルに配置される必要はなく、サーバシステム１０２の一部は１つまたは複数の離れた物理的場所に配置することができる。
【００６７】
図２にプラットフォーム１５０の様々な態様を示す。プラットフォーム１５０は、システム１００の動作に関する特定の機能を実行するいくつかのモジュールを含む。たとえば、プラットフォーム１５０は、データベースモジュール２０２、伝送モジュール２０４、および処理モジュール２０６を含むことができる。
【００６８】
データベースモジュール２０２は、システム１００の１人または複数人のユーザに関する情報を保持する。例として、データベースモジュール２０２は、ユーザのＩＤ証明に関する情報（たとえば、ユーザ名およびパスワード）、連絡先情報（たとえば、電子メールアドレス、実際の住所、電話番号など）、人口統計情報（たとえば、年齢、性別、地理的地域など）、設定（たとえば、システム設定、プライバシー設定など）、場所（たとえば、地理座標、たとえば、全地球測位システム（ＧＰＳ）、Ｗｉ−Ｆｉ三角測量システム、または他の地理測位システムを使用して特定されるもの）、関係性情報（たとえば、ユーザの他のユーザとの関連付けの表示など）、および他のユーザ情報（たとえば、ユーザが書いたコンテンツ集、写真、ビデオ、音声コンテンツなど）を記憶することができる。他の例として、データベースモジュール２０２は、ユーザの１つまたは複数の興味に関する情報（たとえば、ユーザによって選択された１つまたは複数の興味カテゴリ、たとえば、「読書」、「スポーツ」、「アウトドア」、「映画」、「カントリーミュージック」など）を記憶することができる。各ユーザに関する情報は、ソーシャルメディアプロフィール２１０（たとえば、特定のユーザを表すデータの一部）の形態で記憶することができる。
【００６９】
データベースモジュール２０２は、１つまたは複数のイベントに関する情報を記憶することもできる。一例として、各イベントは、それぞれのソーシャルメディアイベントアイテム２１２として表すことができる。各ソーシャルメディアイベントアイテム２１２は、イベントに関するスケジュール情報を含むことができる。たとえば、ソーシャルメディアイベントアイテム２１２は、イベントが行われる予定の時間（たとえば、日時）、イベントの予定期間、および／またはイベントが終了する予定の時間を示すことができる。各ソーシャルメディアイベントアイテム２１２はイベントに関するコンテンツを含むことができる。たとえば、ソーシャルメディアイベントアイテム２１２は、イベントに関するテキスト情報、画像、ビデオ、音声、または他のコンテンツを含むことができる。各ソーシャルメディアイベントアイテム２１２は、イベントを管理する責任があるユーザ（たとえば、「管理ユーザ」）および／またはイベントへの被招待者に関する情報を含むこともできる。たとえば、ソーシャルメディアイベントアイテム２１２は、イベントの１人または複数人の管理ユーザ（たとえば、イベントの企画、運営、スケジューリング、再スケジューリング、監督、および／または公表を行う責任がある１人または複数人のユーザ）、ならびに／あるいはイベントに招待されている１人または複数人のユーザを示すことができる。各ソーシャルメディアイベントアイテム２１２は、被招待者の１人または複数人に関するＲＳＶＰ情報を含むこともできる。たとえば、ソーシャルメディアイベントアイテム２１２は、イベントに招待されている１人または複数人のユーザと、イベントに関する各被招待者の対応するステータス（たとえば、イベントに招待された、招待を辞退した、招待を受諾した、招待を暫定的に受諾した、招待に返事をしていない、など）とを示すことができる。各ソーシャルメディアイベントアイテム２１２は、（たとえば、イベントの管理ユーザによって指定される）イベントに関係する、妥当な、および／または他の態様で関連する興味カテゴリを示すこともできる。
【００７０】
データベースモジュール２０２は、１つまたは複数の会場（たとえば、イベントを開催する場所、たとえば、コンサートホール、映画館、スタジアム、クラブ、公園、イベントスペースなど）に関する情報を記憶することもできる。一例として、各会場は、それぞれの会場アイテム２１８として表すことができる。各会場アイテム２１８は、会場に関連付けられた１つまたは複数のイベントに関する情報を含むことができる。たとえば、会場アイテム２１８は、過去に会場で行われた１つまたは複数のイベント、ならびに／あるいは今後会場で行われる予定である１つまたは複数のイベントを示すことができる。場合により、会場アイテム２１８は、それらのイベントに対応する１つまたは複数のソーシャルメディアイベントアイテム２１２を（たとえば、１つまたは複数の相互参照を介して）識別することができる。さらに、各会場アイテム２１８は会場に関するコンテンツを含むことができる。たとえば、会場アイテム２１８は、会場に関するテキスト情報、画像、ビデオ、音声、または他のコンテンツを含むことができる。各会場アイテム２１８は、会場を管理または監督する責任があるユーザ（たとえば、「管理ユーザ」）と、会場に関連付けられたイベントを運営および／または主催するユーザとに関する情報を含むこともできる。たとえば、会場アイテム２１８は、会場の１人または複数人の管理ユーザ（たとえば、会場の運営、監督、および／または公表を行う責任がある１人または複数人のユーザ）、ならびに／あるいは会場で行われたまたは行われる予定であるイベントを運営および／または主催する責任がある１人または複数人のユーザを示すことができる。各会場アイテム２１８は、（たとえば、会場の管理ユーザによって指定される）会場に関係する、妥当な、および／または他の態様で関連する興味カテゴリを示すこともできる。
【００７１】
様々な情報の例を上述しているが、これらは例示的なものにすぎない。実際には、データベースモジュール２０２は、プラットフォーム１５０のユーザ、予定イベントに関する任意の情報、またはプラットフォーム１５０に関係する他の任意の情報を記憶することができる。
【００７２】
さらに、データベースモジュール２０２は、データベースクエリまたはトランザクション２１４を実行することができる。データベースクエリまたはトランザクションは、たとえば、特定のデータがデータベースモジュール２０２から取得、修正、および／または消去されるように指定するコマンドとすることができる。それに応答して、データベースモジュール２０２は、クエリまたはトランザクションを実行して要求を果たし、またはソーシャルメディアプラットフォーム１５０の他の構成要素にクエリを実行するように指示することができる。場合により、データベースクエリまたはトランザクション２１４は、処理モジュール２０６によって（たとえば、ユーザの指示に基づいて）生成され、データベースモジュール２０２に送信されて実行され得る。場合により、データベースクエリまたはトランザクション２１４は、処理モジュール２０６によって直接生成および実行することができる（たとえば、処理モジュール２０６は、データベースモジュール２０２に記憶されたデータを直接取得、修正、および／または消去することができる）。
【００７３】
伝送モジュール２０４は、プラットフォーム１５０との間のデータの伝送を可能にする。たとえば、伝送モジュール２０４はネットワーク１０６に通信可能に接続することができ、それによってネットワーク１０６を介してクライアントデバイス１０４ａ−ｃにデータを送信し、クライアントデバイス１０４ａ−ｃからデータを受信することができる。一例として、クライアントデバイス１０４ａ−ｃ上でユーザによって入力された情報は、伝送モジュール２０４を介してプラットフォーム１５０に送信することができる。次いで、この情報は、（たとえば、処理モジュール２０６を使用して）処理し、および／または（たとえば、データベースモジュール２０２を使用して）記憶することができる。他の例として、プラットフォーム１５０からの情報（たとえば、データベースモジュール２０２に記憶された情報）は、伝送モジュール２０４を介してクライアントデバイス１０４ａ−ｃに送信することができる。
【００７４】
処理モジュール２０６は、記憶されたまたは他の方法でプラットフォーム１５０がアクセス可能なデータを処理する。たとえば、処理モジュール２０６は、１人または複数人のユーザあるいは１つまたは複数のイベントに関係するデータを操作する自動化処理またはユーザが起動した処理を実行することができる。一例として、処理モジュール２０６は、データベースクエリ２１４生成し、次いでデータベースモジュール２０２に送信して、データベースモジュール２０２に記憶されたデータを取得、修正、および／または消去することができる。他の例として、処理モジュール２０６は、データベースクエリ２１４を直接生成し処理することができる（たとえば、処理モジュール２０６はデータベースクエリ２１４を実行して、データベースモジュール２０２に記憶されたデータを直接取得、修正、および／または消去することができる）。さらに、処理モジュール２０６は、伝送モジュール２０４から受信されたデータを処理することができる。同様に、処理モジュール２０６からの処理済みデータは、（たとえば、１つまたは複数のデータベースクエリ２１４を使用して）データベースモジュール２０２に記憶され、および／または伝送モジュール２０４に送られて、他のデバイスに送信され得る。以下、処理モジュール２０６によって実行することができる例示的な処理をより詳細に説明する。
【００７５】
場合により、データベースモジュール２０２および／または処理モジュール２０６は、１つまたは複数のデータ処理ルール２１６に従って、データベースモジュール２０２に記憶されたデータを処理することができる。これらのデータ処理ルール２１６は、特定の条件、基準、および／または要因に基づいて、データベースモジュール２０２によって記憶されたデータに関して実行される特定の動作を指定することができる。場合により、これらのルールに従って処理されたデータは、ユーザにとってより有用にすることができ、および／またはソーシャルメディアプラットフォーム１５０によってより効率的に記憶することができる。一例として、データ処理ルール２１６は、特定のソーシャルメディアイベントアイテム２１２および／または会場アイテム２１８が、自動化された方式で作成、修正、および／またはユーザに提示され得る方法を指定することができる。場合により、データ処理ルール２１６は、処理モジュール２０６によって記憶することができる（たとえば、処理モジュール２０６が処理ルール２１６に直接アクセスできるようにする）。場合により、データ処理ルール２１６は、データベースモジュール２０２によって記憶することができる。以下、データ処理ルール２１６の例示的な実施態様をより詳細に論じる。
【００７６】
上記のように、ソーシャルメディアプラットフォーム１５０の１つまたは複数の実施態様は、ユーザが自動化された方式でイベントを主催し運営することを可能にする。この機能の例を図３Ａ〜図３Ｃに示す。
【００７７】
この例では、ユーザはイベントを計画しており、イベントを１人または複数人の他のユーザに告知することを望む。このユーザを「管理ユーザ」と呼ぶ場合がある。これを容易にするために、管理ユーザはソーシャルメディアプラットフォーム１５０と対話して、ソーシャルメディアイベントアイテム３００を作成し、ソーシャルメディアイベントアイテム３００にイベントに関する情報を入力することができる。たとえば、管理ユーザは、イベントのタイトル（たとえば、「イベント１」）、イベントに関するスケジュール情報、イベントに関するコンテンツ（たとえば、イベントに関するテキスト情報、画像、ビデオ、音声、または他のコンテンツ）を提供することができる。さらに、管理ユーザは、イベントに関係する、妥当な、および／または他の態様で関連する１つまたは複数の興味カテゴリを示すことができる。これは、たとえば参加者候補がイベントの性質を素早く評価し、参加したいか否かを判断できるようになるので、有益であり得る。この例では、ユーザは興味カテゴリ「Ａ」、「Ｂ」および「Ｃ」を選択している。
【００７８】
さらに、管理ユーザはソーシャルメディアプラットフォーム１５０と対話して、１人または複数人の他のユーザをイベントに招待することができる。たとえば、管理ユーザは、ソーシャルメディアイベントアイテム３００を他のユーザとの間で共有、送信、または他の方法で配信することができる。この例では、管理ユーザは「人物１」、「人物２」、「人物３」、「人物４」、「人物５」および「人物６」をイベントに招待している。
【００７９】
各ユーザはソーシャルメディアプラットフォーム１５０と対話して、ソーシャルメディアイベントアイテム３００をレビューすることができる（たとえば、イベントに関する情報を取得するため）。さらに、各ユーザは参加を計画しているか否かを表明することができる。たとえば、各ユーザは、イベントに関する「ＲＳＶＰ」データ（たとえば、招待を辞退した、招待を受諾した、招待を暫定的に受諾したことなどを示すデータ）を提出することができる。この例では、「人物１」、「人物２」、「人物３」、「人物５」および「人物６」は、イベントへの参加を計画していることを表明している（たとえば、「はい」というＲＳＶＰを提出している）が、「人物４」は、イベントへの参加を計画していないことを表明している（たとえば、「いいえ」というＲＳＶＰを提出している）。
【００８０】
さらに、ソーシャルメディアプラットフォーム１５０の各ユーザは、個人用ソーシャルメディアプロフィールを作成し、ソーシャルメディアプロフィールに自身に関する情報を入力することができる。たとえば、各ユーザは、ＩＤ証明、連絡先情報、人口統計情報、設定、場所、関係性情報、ならびに他のユーザ情報を提供して、ソーシャルメディアプロフィールに含めることができる。さらに、各ユーザは、そのユーザの１つまたは複数の興味（たとえば、そのユーザによって選択された１つまたは複数の興味カテゴリ）を示すことができる。この例では、「人物１」は、興味カテゴリ「Ａ」、「Ｄ」および「Ｆ」を自分のプロフィール３０２ａに対して選択している。「人物２」は、興味カテゴリ「Ａ」、「Ｃ」および「Ｆ」を自分のプロフィール３０２ｂに対して選択している。「人物３」は、興味カテゴリ「Ｂ」、「Ｅ」および「Ｆ」を自分のプロフィール３０２ｃに対して選択している。「人物４」は、興味カテゴリ「Ａ」、「Ｂ」、「Ｃ」、「Ｄ」、「Ｆ」および「Ｇ」を自分のプロフィール３０２ｄに対して選択している。「人物５」は、興味カテゴリ「Ｆ」および「Ｇ」を自分のプロフィール３０２ｅに対して選択している。「人物６」は、興味カテゴリ「Ｃ」および「Ｆ」を自分のプロフィール３０２ｆに対して選択している。
【００８１】
ソーシャルメディアイベントアイテム３００の管理ユーザおよび招待されたユーザのそれぞれによって選択された興味カテゴリに基づいて、ソーシャルメディアプラットフォーム１５０は、イベントへの参加に興味があり得る１人または複数人の追加ユーザを自動的に決定することができる。さらに、ソーシャルメディアイベントアイテム３００は、（たとえば、ソーシャルメディアイベントアイテム３００をそれらの追加ユーザとの間で共有、送信、または他の方法で配信することによって）それらの追加ユーザにイベントを自動的に推薦することができる。
【００８２】
場合により、ソーシャルメディアプラットフォーム１５０は、イベントについてのイベントデータ構造を生成することができる。イベントデータ構造は、（ｉ）ソーシャルメディアイベントアイテム３００の管理ユーザによって選択されたか、または（ｉｉ）イベントへの招待を受諾した（たとえば、「はい」とＲＳＶＰした）ユーザによって選択された興味カテゴリのそれぞれを示すことができる。さらに、イベントデータ構造は、各興味カテゴリについて、その興味カテゴリが管理ユーザおよび／またはイベントへの招待を受諾したユーザによって選択された回数を示す度数指標を含むことができる。場合により、これはヒストグラムの形態で提示することができる。
【００８３】
図３Ｂに、ソーシャルメディアイベントアイテム３００についての例示的なイベントデータ構造３０４の表現を示す。この例では、興味カテゴリ「Ａ」は、管理ユーザならびに「人物１」および「人物２」（イベントに「はい」とＲＳＶＰしたユーザ）によって選択されているので、度数指標３を有する。なお、「人物４」も興味カテゴリ「Ａ」を選択しているが、「人物４」はイベントに「いいえ」とＲＳＶＰしているので、この選択はイベントデータ構造３０４に反映されない。
【００８４】
同様に、興味カテゴリ「Ｂ」は、管理ユーザならびに「人物３」によって選択されているので、度数指標２を有する。さらに、興味カテゴリ「Ｃ」は、管理ユーザならびに「人物２」および「人物６」によって選択されているので、度数指標３を有する。さらに、興味カテゴリ「Ｄ」は、「人物１」によって選択されているので、度数指標１を有する。さらに、興味カテゴリ「Ｅ」は、「人物３」によって選択されているので、度数指標１を有する。さらに、興味カテゴリ「Ｆ」は、「人物１」、「人物２」、「人物３」、「人物５」および「人物６」によって選択されているので、度数指標５を有する。さらに、興味カテゴリ「Ｇ」は、「人物５」によって選択されているので、度数指標１を有する。上記のように、「人物４」もこれらの興味カテゴリのそれぞれを選択しているが、「人物４」はイベントに「いいえ」とＲＳＶＰしているので、これらの選択はイベントデータ構造３０４に反映されない。
【００８５】
場合により、イベントデータ構造３０４は、ソーシャルメディアイベントアイテム３００に含めて、ソーシャルメディアイベントアイテム３００をレビューする場合にユーザに提示することができる。たとえば、ユーザがソーシャルメディアイベントアイテム３００にアクセスする場合（たとえば、ソーシャルメディアプラットフォーム１５０を使用してイベントに関する情報を閲覧する場合）、ソーシャルメディアプラットフォーム１５０は、イベントデータ構造３０４を表すヒストグラム（あるいは他のグラフィカル表現および／またはテキスト表現）をユーザに表示することができる。これは、たとえば被招待者候補がイベントに妥当な興味カテゴリを、それらの興味カテゴリがイベントの管理ユーザによって明確に選択されていなかったとしても識別できるようになるので、有益であり得る。この情報は管理ユーザに提示することもできる（たとえば、管理ユーザに、自分のイベントの予想参加者の興味に関する情報を提供するため）。
【００８６】
ソーシャルメディアプラットフォーム１５０は、イベントデータ構造３０４を使用して、イベントへの参加に興味があり得る１人または複数人の追加ユーザを識別することもできる。場合により、これは、イベントに関する各被招待者候補に対する推薦指標を導出することによって、実行することができる。推薦指標は、たとえば、ユーザがイベントへの参加に興味があり得る可能性を反映した数値スコアとすることができる。たとえば、より高い推薦指標は、ユーザがイベントへの参加に興味がある可能性がより高いことを示すことができ、より低い推薦指標は、ユーザがイベントへの参加に興味がある可能性がより低いことを示すことができる。推薦指標が特定のユーザについて十分に高い（たとえば、閾値を上回る）場合、ソーシャルメディアプラットフォーム１５０は、そのユーザがイベントへの参加に興味がある（たとえば、イベントへの参加に十分に高い興味がある）可能性が高いと決定することができる。
【００８７】
一例として、図３Ｃに、イベントへの３人の被招待者候補、「人物７」、「人物８」および「人物９」を示す。上記と同様に、これらのユーザのそれぞれは、個人用ソーシャルメディアプロフィールを作成し、ソーシャルメディアプロフィールに自身に関する情報、たとえば、個人的な興味を入力することができる。この例では、「人物７」は興味カテゴリ「Ｄ」、「Ｆ」および「Ｈ」を自分のプロフィール３０２ｇに対して選択している。「人物８」は興味カテゴリ「Ｅ」、「Ｆ」および「Ｉ」を自分のプロフィール３０２ｈに対して選択している。「人物９」は興味カテゴリ「Ｄ」、「Ｅ」および「Ｇ」を自分のプロフィール３０２ｉに対して選択している。
【００８８】
イベントに関する各ユーザに対する推薦指標は、そのユーザの興味カテゴリ選択およびイベントデータ構造３０４に基づいて導出することができる。場合により、推薦指標は、イベントデータ構造３０４と、ユーザのソーシャルメディアプロフィールとの両方に共通している興味カテゴリを識別し、それらの興味カテゴリのそれぞれについての度数指標を合計することによって、生成することができる。
【００８９】
この例では、興味カテゴリ「Ｄ」および「Ｆ」は、イベントデータ構造３０４と、「人物７」のソーシャルメディアプロフィールとの両方に共通している。したがって、イベントに関する「人物７」に対する推薦指標は６である（たとえば、興味カテゴリ「Ｄ」の度数指標１、プラス興味カテゴリ「Ｆ」の度数指標５）。
【００９０】
さらに、興味カテゴリ「Ｅ」および「Ｆ」は、イベントデータ構造３０４と、「人物８」のソーシャルメディアプロフィールとの両方に共通している。したがって、イベントに関する「人物８」に対する推薦指標は６である（たとえば、興味カテゴリ「Ｅ」の度数指標１、プラス興味カテゴリ「Ｆ」の度数指標５）。
【００９１】
さらに、興味カテゴリ「Ｄ」、「Ｅ」および「Ｆ」は、イベントデータ構造３０４と、「人物９」のソーシャルメディアプロフィールとの両方に共通している。したがって、イベントに関する「人物９」に対する推薦指標は３である（たとえば、興味カテゴリ「Ｄ」の度数指標１、プラス興味カテゴリ「Ｅ」の度数指標１、プラス興味カテゴリ「Ｇ」の度数指標１）。
【００９２】
イベントに関する「人物７」および「人物８」についての推薦指標は「人物９」よりも高いので、ソーシャルメディアプラットフォーム１５０は、「人物７」および「人物８」が、「人物９」よりもイベントへの参加に興味がある可能性が高いと決定する。
【００９３】
さらに、ソーシャルメディアプラットフォーム１５０は、推薦指標に基づいて１人または複数人のユーザにイベントを自動的に推薦することができる。たとえば、特定のユーザに対する推薦指標が閾値を上回る場合、ソーシャルメディアプラットフォーム１５０は、ソーシャルメディアイベントアイテム３００をそのユーザとの間で共有、送信、または他の方法で配信することができる。実際には、閾値は実施態様に応じて異なることができる。場合により、閾値は、ソーシャルメディアプラットフォーム１５０の監督者または開発者によって指定することができる。場合により、閾値は、ソーシャルメディアプラットフォーム１５０の１人または複数人のユーザ（たとえば、管理ユーザ）によって指定することができる。
【００９４】
この例では、閾値は５である。したがって、ソーシャルメディアプラットフォーム１５０は、ソーシャルメディアイベントアイテム３００を「人物７」および「人物８」に自動的に送信することができる（これらのユーザについての推薦指標が閾値を超えるため）。しかしながら、ソーシャルメディアプラットフォーム１５０は、ソーシャルメディアイベントアイテム３００を「人物９」に自動的に送信しないようにすることができる（このユーザに対する推薦指標が閾値を超えないため）。
【００９５】
場合により、ソーシャルメディアプラットフォーム１５０は、イベントの計画された地理的場所に対する各ユーザの地理的場所に基づいて、推薦指標を修正することもできる。たとえば、ユーザがイベントの計画場所の比較的近くに位置する場合、ソーシャルメディアプラットフォーム１５０は、そのユーザに対するイベントの推薦指標を増加させることができる。ユーザがイベントの想定場所から比較的離れて位置する場合、ソーシャルメディアプラットフォーム１５０は、そのユーザに対するイベントの推薦指標を減少させることができる。これは、たとえば、ソーシャルメディアプラットフォーム１５０がそのユーザに妥当な可能性が高いイベント（たとえば、ユーザの比較的近くのイベント）を推薦できるようになるので、有用であり得る。場合により、ソーシャルメディアプラットフォーム１５０は、ユーザに対して特定の地理的領域内（たとえば、ユーザの場所から特定の距離半径内）で行われる計画のイベントのみを推薦することができる。
【００９６】
場合により、ソーシャルメディアプラットフォーム１５０は、まずイベントデータアイテムについてのイベントデータ構造を生成し、生成後にイベントデータ構造を１回または複数回修正することができる。
【００９７】
場合により、ソーシャルメディアプラットフォーム１５０は、１つまたは複数のデータベースのデータに変化をもたらすトランザクション（たとえば、データベースモジュール２０２によって記憶されたデータ、たとえば、ソーシャルメディアプロフィール２１０、ソーシャルメディアイベントアイテム２１２、および／または会場アイテム２１８に関して処理モジュール２０６によって実行されるトランザクション）を監視することができる。トランザクションが特定のトリガ基準を満たす場合、ソーシャルメディアプラットフォーム１５０はそれに応答して１つまたは複数のイベントデータ構造を修正することができる。たとえば、トランザクションがイベントデータ構造に影響するデータフィールドを修正する場合（たとえば、ユーザがイベントに「はい」とＲＳＶＰすること、ユーザが自分のソーシャルメディアプロフィールに対して追加の興味カテゴリを選択すること、またはイベントのヒストグラムに影響し得る他のアクションに関するトランザクション修正の場合）、ソーシャルメディアプラットフォーム１５０は、（たとえば、処理モジュール２０６を使用して）そのトランザクションを特定のフラグ、たとえば、「トリガ」フラグによってマークすることができる。各トランザクションが正常に完了した場合、ソーシャルメディアプラットフォーム１５０は、（たとえば、処理モジュール２０６を使用して）そのトランザクションのフラグを確認し、次いで任意の識別されたフラグに基づいて特定の関数を呼び出す。これらの関数はこれら自体のトランザクションを生成し、このトランザクションは、実行されるとそれに応じて適切なイベントデータ構造を更新する（たとえば、妥当なイベントのヒストグラムを更新する）。これは、たとえば、ソーシャルメディアプラットフォーム１５０が、イベントデータ構造を更新する前に（これは完了するのに比較的長い時間がかかり得る）、ユーザが行なった任意の変更を素早く確認できるようになるので、有用であり得る。たとえば、ユーザが新たな興味カテゴリを自分のソーシャルメディアプロフィールに追加する場合、ソーシャルメディアプラットフォーム１５０は、（ユーザが長い時間待たなくてよいように）ユーザの変更を素早く確認し、その後、ユーザが他のタスクを行なっている間に、ユーザの変更に基づいて１つまたは複数のイベントデータ構造を更新することができる。
【００９８】
一例として、管理ユーザがイベントデータアイテムの興味カテゴリ選択を修正した場合、それに応答して、ソーシャルメディアプラットフォーム１５０は、（たとえば、新たな興味カテゴリをイベントデータ構造に追加する、イベントデータ構造から興味カテゴリを削除する、および／またはイベントデータ構造における興味カテゴリの度数指標を修正することによって）これらの変更を反映するようにイベントデータ構造を修正することができる。他の例として、１人または複数人の追加ユーザがイベントへの参加を計画していることを表明している場合、それに応答して、ソーシャルメディアプラットフォーム１５０は、（たとえば、新たな興味カテゴリをイベントデータ構造に追加する、および／またはイベントデータ構造において追加ユーザによって選択された興味カテゴリの度数指標をインクリメントすることによって）これらの変更を反映するようにイベントデータ構造を修正することができる。他の例として、１人または複数人のユーザがイベントへの参加をもはや計画していないことを表明している場合、ソーシャルメディアプラットフォーム１５０は、（たとえば、イベントデータ構造から興味カテゴリを削除する、および／またはイベントデータ構造においてそれらのユーザによって選択された興味カテゴリの度数指標をデクリメントすることによって）これらの変更を反映するようにイベントデータ構造を修正することができる。他の例として、イベントへの参加を計画している１人または複数人のユーザが自分の個人用ソーシャルメディアプロフィール内の興味カテゴリ選択を修正する場合、ソーシャルメディアプラットフォーム１５０は、（たとえば、新たな興味カテゴリをイベントデータ構造に追加する、イベントデータ構造から興味カテゴリを削除する、および／またはイベントデータ構造における興味カテゴリの度数指標を修正することによって）これらの変更を反映するようにイベントデータ構造を修正することができる。これは、たとえば、ソーシャルメディアプラットフォーム１５０が、イベントのそれぞれに関する正確な情報を提示し、より正確な推薦をそのユーザに行うことができるようになるので、有用であり得る。場合により、これらの修正は、まだ行われていないイベントに関してのみ行うことができる。
【００９９】
場合により、ソーシャルメディアプラットフォーム１５０は、イベントデータアイテムをリアルタイムまたは実質的にリアルタイムに更新することができる。たとえば、ソーシャルメディアプラットフォームはトランザクションを監視して、特定のトランザクションが１つまたは複数のトリガ基準を満たすか否かを判定することができる（たとえば、管理ユーザがイベントデータアイテムの興味カテゴリ選択を修正する、１人または複数人の追加ユーザがイベントへの参加を計画していることを表明する、１人または複数人のユーザがイベントへの参加をもはや計画していないことを表明する、イベントへの参加を計画している１人または複数人のユーザが自分の個人用ソーシャルメディアプロフィール内の興味カテゴリ選択を修正する、など）。それに応答して、ソーシャルメディアプラットフォーム１５０は、対応するイベントデータ構造を即時に（または実質的に即時に）修正することができる。これは、たとえば、ソーシャルメディアプラットフォーム１５０が、運営されるイベントのそれぞれに関する最新情報を継続的に維持できるようにする際に、有用であり得る。
【０１００】
場合により、ソーシャルメディアプラットフォーム１５０はイベントデータアイテムを定期的に更新することができる。たとえば、ソーシャルメディアプラットフォーム１５０は、繰り返しのスケジュールに従って（たとえば、１秒に１回、１分に１回、１時間に１回、１日に１回、または何らかの他のスケジュールに従って）、１つまたは複数のトリガ基準が満たされているか否かを判定することができる。特定のトリガ基準が満たされていると決定すると、ソーシャルメディアプラットフォーム１５０はそれに応答して対応するイベントデータ構造を修正することができる。これは、たとえば、ソーシャルメディアプラットフォーム１５０が、（たとえば、リアルタイムに更新するのと比較して）より予測可能なスケジュールに従って、計算コストを削減し得る方式で、運営されるイベントのそれぞれに関する最新情報を維持できるようにする際に、有用であり得る。
【０１０１】
これは、たとえば、ソーシャルメディアプラットフォーム１５０におけるデータの完全性を向上する際にも、有用であり得る。たとえば、動作中に、ソーシャルメディアプラットフォーム１５０は異常に振る舞って不安定になる場合がある（たとえば、システムクラッシュ）。上記のように、ソーシャルメディアプラットフォーム１５０は、リアルタイムまたは実質的にリアルタイムに（たとえば、トランザクションを監視して、特定のトランザクションが１つまたは複数のトリガ基準を満たすか否かを判定し、満たす場合、それに応答して即時に対応するイベントデータ構造を修正することによって）イベントデータアイテムを更新することができる。しかしながら、トランザクションの実行後であるが、イベントデータ構造がそれに応答して更新される前に、ソーシャルメディアプラットフォーム１５０がシステムクラッシュを経験した場合、イベントデータ構造はそのトランザクションの実行を反映しない。さらに、ソーシャルメディアイベントアイテムはリアルタイムまたは実質的にリアルタイムに、予測可能なスケジュールに従わずに更新されるので、ソーシャルメディアイベントアイテムが正しく更新されたか否かを判定することは困難であろう。対照的に、ソーシャルメディアプラットフォーム１５０がイベントデータアイテムを定期的に（たとえば、予測可能なスケジュールに従って）更新する場合、各ソーシャルメディアイベントアイテムが正しく更新されたか否かを判定することは容易になる。たとえば、システムがクラッシュした時刻を、予定更新時刻と比較することができる。クラッシュが予定更新時刻後に発生した場合、ソーシャルメディアプラットフォーム１５０は、予定更新が行われたと決定することができる。しかしながら、クラッシュが予定更新時刻前に発生した場合、ソーシャルメディアプラットフォーム１５０は、予定更新が行われなかったと決定することができ、それに応答して修正措置をとる（たとえば、次の予定更新時に追加の更新をキューに入れる）ことができる。このようにして、ソーシャルメディアプラットフォーム１５０におけるデータの信頼性を向上させることができる。とはいえ、これはソーシャルメディアプラットフォーム１５０が、場合により、（たとえば、継続的な最新の情報がデータ完全性の改善よりも望ましい場合に）リアルタイムまたは実質的にリアルタイムにイベントデータアイテムを更新することを排除するものではない。
【０１０２】
図３Ａ〜図３Ｃに示す例では、各興味カテゴリの実績指標は、管理ユーザおよび／またはイベントへの参加を計画しているユーザによって選択されるたびに、特定の量（たとえば、１）だけインクリメントされる。場合により、各興味カテゴリの実績指標は、イベントへの参加を暫定的に計画しているユーザによって選択されるたびに、異なる量だけインクリメントすることができる。たとえば、第１のユーザがイベントへの参加を計画していることを（たとえば、「はい」とＲＳＶＰすることによって）表明している場合、第１のユーザが自分の個人用ソーシャルメディアプロフィールにおいて興味カテゴリを選択するたびに、イベントデータ構造におけるそれらのカテゴリの度数指標を第１の単位（たとえば、１）だけインクリメントすることができる。第２のユーザがイベントへの参加を暫定的に計画していることを（たとえば、「たぶん」とＲＳＶＰすることによって）表明している場合、第２のユーザが自分の個人用ソーシャルメディアプロフィールにおいて興味カテゴリを選択するたびに、イベントデータ構造におけるそれらのカテゴリの度数指標を第２の単位（たとえば、０．５）だけインクリメントすることができる。これは、たとえば、ソーシャルメディアプラットフォーム１５０が、イベントへ参加する可能性が高いユーザと、イベントへ参加する可能性が低いユーザとを区別し、これらの違いを考慮した推薦を生成できるようになるので、有用であり得る。例示的な単位（たとえば、１および０．５）を上述しているが、これらは説明のための実例にすぎない。実際には、各単位は実施態様に応じて異なることができる。
【０１０３】
上記のように、イベントデータ構造は、ソーシャルメディアイベントアイテムを（たとえば、ヒストグラムの形態で）レビューする場合にユーザに提示することができる。これは、たとえば被招待者候補がイベントに妥当な興味カテゴリを、それらの興味カテゴリがイベントの管理ユーザによって明確に選択されていなかったとしても識別できるようになるので、有益であり得る。しかしながら、これには、イベントへの参加を計画しているユーザの集団的興味を公開する効果もある。場合により、これにより、閲覧者が特定の興味カテゴリを特定のユーザに起因するものと考えることが可能になり得る。一部のユーザにとって、これは望ましくない場合がある。たとえば、ユーザは、特定の興味カテゴリに関連付けられることを気にする場合があり、自分の関連付けをプライベートにしておくことを望み得る。他の例として、ユーザは、自分の個人情報が他人に広く拡散されないように、通常は自分の興味をプライベートにしておくことを好む場合がある。
【０１０４】
場合により、この可能性を考慮して、ソーシャルメディアプラットフォーム１５０は、自分のソーシャルメディアプロフィール内の各興味カテゴリがユーザにパブリックに表示されるべきか否かをユーザが指定できるように構成することができる。たとえば、ユーザは、興味カテゴリを選択して自分のソーシャルメディアプロフィールに含める場合に、各興味カテゴリが「パブリック」としてマークされるべきか（たとえば、自分のソーシャルメディアプロフィールが閲覧される場合に、自分がその興味カテゴリを選択したことを他のユーザが見ることができるようになる）、または「プライベート」としてマークされるべきか（たとえば、自分のソーシャルメディアプロフィールが閲覧される場合に、その興味カテゴリが他のユーザから見えないようになる）を示すこともできる。
【０１０５】
さらに、ソーシャルメディアプラットフォーム１５０は、特定のイベントについて２つの異なるイベントデータ構造を生成するように構成することができる。第１のイベントデータ構造（たとえば、「内部」イベントデータ構造）は、上述のものと同様とすることができる。たとえば、内部イベントデータ構造は、イベントの管理ユーザ、および／またはイベントへの参加を計画していることを表明した（たとえば、「はい」とＲＳＶＰした）１人または複数人のユーザによって選択された各興味カテゴリを示すことができる。さらに、上記と同様に、内部イベントデータ構造を使用して、イベントへの参加に興味があり得る１人または複数人の追加ユーザを識別し、そのイベントをそれらのユーザに推薦することができる。したがって、ソーシャルメディアプラットフォーム１５０は、他のユーザに推薦を行うために利用可能な情報を全て使用する。しかしながら、ソーシャルメディアプラットフォーム１５０は、（たとえば、ユーザがソーシャルメディアイベントアイテムを閲覧する場合に）内部イベントデータ構造をユーザにパブリックには表示しない。
【０１０６】
その代わりに、ソーシャルメディアプラットフォーム１５０は、ユーザにパブリックに表示するための第２のイベントデータ構造（たとえば、「パブリック」イベントデータ構造）を生成する。パブリックイベントデータ構造は第１のイベントデータ構造に類似しているが、各ユーザのプライバシー設定（たとえば、各ユーザの「パブリック」および「プライベート」の選択）を反映している。たとえば、特定のユーザがイベントへの参加を計画していることを表明した場合、ユーザの各「パブリック」興味カテゴリの度数指標が、パブリックイベントデータ構造において（たとえば、上記と同様にして）インクリメントされる。しかしながら、ユーザの各プライベート興味カテゴリの度数指標は、（たとえば、あたかもユーザがプライベート興味カテゴリを全く選択していないかのように）変わらないままである。したがって、パブリックイベントデータ構造は、ユーザの「プライベート」興味カテゴリ選択を他のユーザにパブリックに公開しないので、閲覧者が特定の興味カテゴリを特定のユーザに起因するものと考えることがより困難になる。
【０１０７】
この機能の例を図４Ａ〜図４Ｃに示す。図３Ａ〜図３Ｃに関して説明したのと同様に、管理ユーザはイベントを計画しており、イベントを１人または複数人の他のユーザに告知することを望む。これを容易にするために、管理ユーザはソーシャルメディアプラットフォーム１５０と対話して、ソーシャルメディアイベントアイテム４００を作成し、ソーシャルメディアイベントアイテム４００にイベントに関する情報を入力することができる。この例では、ソーシャルメディアイベントアイテム４００は、上述のソーシャルメディアイベントアイテム３００と同様である。たとえば、ここでは、ユーザは興味カテゴリ「Ａ」、「Ｂ」および「Ｃ」を選択している。
【０１０８】
さらに、管理ユーザはソーシャルメディアプラットフォーム１５０と対話して、１人または複数人の他のユーザをイベントに招待することができる。たとえば、管理ユーザは、ソーシャルメディアイベントアイテム４００を他のユーザとの間で共有、送信、または他の方法で配信することができる。この例では、管理ユーザはこの場合もやはり「人物１」、「人物２」、「人物３」、「人物４」、「人物５」および「人物６」をイベントに招待している。
【０１０９】
同様に、各ユーザはソーシャルメディアプラットフォーム１５０と対話して、ソーシャルメディアイベントアイテム４００をレビューすることができる（たとえば、イベントに関する情報を取得するため）。さらに、各ユーザは参加を計画しているか否かを表明することができる。この例では、「人物１」、「人物２」、「人物３」、「人物５」および「人物６」は、この場合もやはり、イベントへの参加を計画していることを表明している（たとえば、「はい」というＲＳＶＰを提出している）が、「人物４」は、この場合もやはり、イベントへの参加を計画していないことを表明している（たとえば、「いいえ」というＲＳＶＰを提出している）。
【０１１０】
同様に、ソーシャルメディアプラットフォーム１５０の各ユーザは、個人用ソーシャルメディアプロフィールを作成し、ソーシャルメディアプロフィールに自身に関する情報を入力することができる。たとえば、各ユーザは、そのユーザの１つまたは複数の興味（たとえば、そのユーザによって選択された１つまたは複数の興味カテゴリ）を示すことができる。しかしながら、各ユーザは、特定の興味カテゴリが「パブリック」であるか（たとえば、自分のソーシャルメディアプロフィールが閲覧される場合に、自分がその興味カテゴリを選択したことを他のユーザが見ることができるようになる）、または「プライベート」であるか（たとえば、自分のソーシャルメディアプロフィールが閲覧される場合に、その興味カテゴリが他のユーザから見えないようになる）を指定することもできる。
【０１１１】
この例では、「人物１」はやはり興味カテゴリ「Ａ」、「Ｄ」および「Ｆ」を自分のプロフィール４０２ａに対して選択しているが、自分の興味カテゴリ「Ａ」の選択がプライベートになるように指定している（アスタリスクで示す）。「人物２」はやはり興味カテゴリ「Ａ」、「Ｃ」および「Ｆ」を自分のプロフィール４０２ｂに対して選択している。「人物３」はやはり興味カテゴリ「Ｂ」、「Ｅ」および「Ｆ」を自分のプロフィール４０２ｃに対して選択しているが、自分の興味カテゴリ「Ｂ」の選択がプライベートになるように指定している（アスタリスクで示す）。「人物４」はやはり興味カテゴリ「Ａ」、「Ｂ」、「Ｃ」、「Ｄ」、「Ｆ」および「Ｇ」を自分のプロフィール４０２ｄに対して選択している。「人物５」はやはり興味カテゴリ「Ｆ」および「Ｇ」を自分のプロフィール４０２ｅに対して選択しているが、自分の興味カテゴリ「Ｆ」の選択がプライベートになるように指定している（アスタリスクで示す）。「人物６」はやはり興味カテゴリ「Ｃ」および「Ｆ」を自分のプロフィール３０２ｆに対して選択している。
【０１１２】
ソーシャルメディアプラットフォーム１５０は、これらの選択に基づいて内部イベントデータ構造およびパブリックイベントデータ構造を生成する。
【０１１３】
図４Ｂに、ソーシャルメディアイベントアイテム４００についての例示的な内部イベントデータ構造４０４の表現を示す。この例では、興味カテゴリ「Ａ」はやはり、管理ユーザならびに「人物１」および「人物２」によって選択されているので、度数指標３を有する。さらに、興味カテゴリ「Ｂ」はやはり、管理ユーザならびに「人物３」によって選択されているので、度数指標２を有する。さらに、興味カテゴリ「Ｃ」はやはり、管理ユーザならびに「人物２」および「人物６」によって選択されているので、度数指標３を有する。さらに、興味カテゴリ「Ｄ」はやはり、「人物１」によって選択されているので、度数指標１を有する。さらに、興味カテゴリ「Ｅ」はやはり、「人物３」によって選択されているので、度数指標１を有する。さらに、興味カテゴリ「Ｆ」はやはり、「人物１」、「人物２」、「人物３」、「人物５」および「人物６」によって選択されているので、度数指標５を有する。さらに、興味カテゴリ「Ｇ」はやはり、「人物５」によって選択されているので、度数指標１を有する。同様に、「人物４」もこれらの興味カテゴリのそれぞれを選択しているが、「人物４」はイベントに「いいえ」とＲＳＶＰしているので、これらの選択はイベントデータ構造４０４に反映されない。
【０１１４】
イベントデータ構造３０４に関して説明したのと同様に、内部イベントデータ構造４０４を使用して、イベントへの参加に興味があり得る１人または複数人の追加ユーザを識別する。たとえば、ソーシャルメディアプラットフォーム１５０は、イベントデータ構造４０４を使用して、イベントに関する各被招待者候補に対する推薦指標を導出することができる。推薦指標が特定のユーザについて十分に高い（たとえば、閾値を上回る）場合、ソーシャルメディアプラットフォーム１５０は、そのユーザがイベントへの参加に興味があり得ると決定することができる。しかしながら、ソーシャルメディアプラットフォーム１５０は、（たとえば、ユーザがソーシャルメディアイベントアイテム４００を閲覧する場合に）内部イベントデータ構造４０４をユーザにパブリックには表示しない。
【０１１５】
図４Ｃに、ソーシャルメディアイベントアイテム４００についての例示的なパブリックイベントデータ構造４０６の表現を示す。パブリックイベントデータ構造４０６は概して内部イベントデータ構造４０４と同様である。しかしながら、「人物１」、「人物４」および「人物５」は、それぞれ自分の興味カテゴリ「Ａ」「Ｂ」および「Ｆ」の選択がプライベートであることを指定しているので、各カテゴリについての度数指標は（内部イベントデータ構造４０４と比較して）１だけ小さい。
【０１１６】
場合により、パブリックイベントデータ構造４０６は、ソーシャルメディアイベントアイテム４００をレビューする場合に、１人または複数人のユーザに提示することができる。たとえば、管理ユーザがソーシャルメディアイベントアイテム４００にアクセスする場合（たとえば、自分が主催しているイベントに関する情報をレビューする場合）、ソーシャルメディアプラットフォーム１５０は、パブリックイベントデータ構造４０６を表すヒストグラム（あるいは他のグラフィカル表現および／またはテキスト表現）を管理ユーザに表示することができる。他の例として、一般ユーザ（たとえば、被招待者または参加者候補）がソーシャルメディアイベントアイテム４００にアクセスする場合（たとえば、参加を考えているイベントに関する情報を閲覧する場合）、ソーシャルメディアプラットフォーム１５０は、パブリックイベントデータ構造４０６を表すヒストグラム（あるいは他のグラフィカル表現および／またはテキスト表現）をユーザに表示することもできる。どちらの場合も、パブリックイベントデータ構造４０６は、ユーザのプライベート興味カテゴリが対応する度数指標に反映されないように生成される。したがって、閲覧者が、イベントに関するパブリックな利用可能な情報に基づいて、特定の興味カテゴリを特定のユーザに起因するものと考えることはより困難である。場合により、パブリックイベントデータ構造４０６は、ソーシャルメディアイベントアイテム４００に関連付けられた管理ユーザには提示するが、一般ユーザ（たとえば、被招待者、参加者候補など）には知らせないことができる。場合により、パブリックイベントデータ構造４０６は、ソーシャルメディアイベントアイテム４００に関連付けられた管理ユーザだけでなく、一般ユーザにも提示することができる。
【０１１７】
場合により、ソーシャルメディアプラットフォーム１５０は、ユーザに妥当であり得る興味カテゴリを、ユーザが自分のソーシャルメディアプロフィールに対してそれらの興味カテゴリを明確に選択していなかったとしても、決定することができる。場合により、これは、ユーザが参加を計画しているイベント（たとえば、ユーザが「はい」とＲＳＶＰしたイベント）のそれぞれを識別し、それらのイベントにも参加している他のユーザの間で人気の興味カテゴリを識別することによって、実行することができる。特定の興味カテゴリがそれらの他のユーザの間で十分に共通している場合（たとえば、その興味カテゴリの度数指標が特定の閾値より大きい場合）、ソーシャルメディアプラットフォーム１５０はその興味カテゴリをユーザに推薦することができる。たとえば、ソーシャルメディアプラットフォームは、ユーザがその興味カテゴリを自分のソーシャルメディアプロフィールに追加するように提案することができる。
【０１１８】
場合により、これは、各ユーザに対して、その特定のユーザに妥当であり得る興味カテゴリを表すユーザデータ構造を生成することによって、実行することができる。ユーザデータ構造は、ユーザが参加を計画しているイベントについての１つまたは複数のイベントデータ構造に含まれていた各興味カテゴリを示すことができる。さらに、イベントデータ構造は、（たとえば、各興味カテゴリにわたって各イベントデータ構造の度数指標を組み合わせるかまたは合計した）各興味カテゴリについての度数指標を含むことができる。場合により、これはヒストグラムの形態で提示することができる。
【０１１９】
この機能の例を図５Ａおよび図５Ｂに示す。この例では、ユーザ（「人物１」）は、ソーシャルメディアプラットフォーム１５０上で個人用ソーシャルメディアプロフィール５００を作成しており、興味カテゴリ「Ａ」、「Ｄ」および「Ｆ」を選択して、ソーシャルメディアプロフィール５００に含めている。さらに、ユーザは２つのイベント、「イベント１」および「イベント２」への参加を計画していることを（たとえば、これらのイベントに「はい」とＲＳＶＰすることによって）表明している。
【０１２０】
「イベント１」はソーシャルメディアイベントアイテム５０２ａによって表されており、「イベント２」はソーシャルメディアイベントアイテム５０２ｂによって表されている。ソーシャルメディアイベントアイテム５０２ａおよび５０２ｂは、それぞれ対応するイベントデータ構造５０４ａおよび５０４ｂを含む。イベントデータ構造５０４ａおよび５０４ｂは、（たとえば、図３Ａ〜図３Ｃに関して説明した）本明細書に記載の技術などに従って生成することができる。たとえば、イベントデータ構造５０４ａおよび５０４ｂは、（ｉ）それぞれのソーシャルメディアイベントアイテムの管理ユーザによって選択されたか、または（ｉｉ）それぞれのイベントへの招待を受諾したユーザによって選択された興味カテゴリのそれぞれを示すことができる。さらに、イベントデータ構造５０４ａおよび５０４ｂは、各興味カテゴリについて、その興味カテゴリがそれぞれのソーシャルメディアイベントアイテムの管理ユーザおよび／またはそれぞれのイベントへの参加を受諾したユーザによって選択された回数を示す度数指標を含むことができる。場合により、これはヒストグラムの形態で提示することもできる。
【０１２１】
図５Ｂに、「人物１」の例示的なユーザデータ構造５０６の表現を示す。この例では、興味カテゴリ「Ａ」は度数指標４を有する（イベントデータ構造５０４ａおよび５０４ｂにわたる興味カテゴリ「Ａ」についての度数指標の合計）。同様に、興味カテゴリ「Ｂ」は度数指標３を有する（イベントデータ構造５０４ａおよび５０４ｂにわたる興味カテゴリ「Ｂ」についての度数指標の合計）。さらに、興味カテゴリ「Ｃ」は度数指標８を有する（イベントデータ構造５０４ａおよび５０４ｂにわたる興味カテゴリ「Ｃ」についての度数指標の合計）。さらに、興味カテゴリ「Ｄ」は度数指標３を有する（イベントデータ構造５０４ａおよび５０４ｂにわたる興味カテゴリ「Ｄ」についての度数指標の合計）。さらに、興味カテゴリ「Ｅ」は度数指標２を有する（イベントデータ構造５０４ａおよび５０４ｂにわたる興味カテゴリ「Ｅ」についての度数指標の合計）。さらに、興味カテゴリ「Ｆ」は度数指標６を有する（イベントデータ構造５０４ａおよび５０４ｂにわたる興味カテゴリ「Ｆ」についての度数指標の合計）。さらに、興味カテゴリ「Ｇ」は度数指標４を有する（イベントデータ構造５０４ａおよび５０４ｂにわたる興味カテゴリ「Ｇ」についての度数指標の合計）。
【０１２２】
ソーシャルメディアプラットフォーム１５０は、ユーザデータ構造を使用して、ユーザに妥当であり得る１つまたは複数の興味カテゴリを、ユーザが自分のソーシャルメディアプロフィールに対してそれらの興味カテゴリを明確に選択していなかったとしても、識別することができる。一例として、ソーシャルメディアプラットフォーム１５０は、ユーザに対して提案される興味カテゴリのリストを生成し、リストをユーザに提示して選択させることができる。リストは、たとえば、ユーザがまだ自分のソーシャルメディアプロフィールに含めていない興味カテゴリを識別することによって、決定することができる。さらに、リストは、ユーザに妥当な可能性が高い興味カテゴリが優先され、および／またはユーザにより目立つように表示され（たとえば、リストの先頭の近くに提示され）、ユーザに妥当な可能性が低い興味カテゴリが優先されず、および／またはユーザにより目立たないように表示される（たとえば、リストの後尾の近くに提示される）ようにソートすることができる。ユーザはリストから興味カテゴリの１つまたは複数を選択して、それらの興味カテゴリを自分のプロフィールに追加することができる。
【０１２３】
他の例として、ソーシャルメディアプラットフォーム１５０は、特定の興味カテゴリの度数指標が十分に高い（たとえば、閾値を上回る）か否かを判定することができる。高い場合（かつ、ユーザがその興味カテゴリを自分のソーシャルメディアプロフィールに既に含めていない場合）、ソーシャルメディアプラットフォーム１５０は、そのユーザがその興味カテゴリを自分のプロフィールに含めることに興味があり得ると決定することができる。さらに、ソーシャルメディアプラットフォーム１５０は、興味カテゴリをユーザに自動的に推薦する（たとえば、ユーザが興味カテゴリを自分のソーシャルメディアプロフィール５００に含めるように提案する通知または他のメッセージをユーザに送信する）ことができる。実際には、閾値は実施態様に応じて異なることができる。場合により、閾値は、ソーシャルメディアプラットフォーム１５０の監督者または開発者によって指定することができる。場合により、閾値は、ソーシャルメディアプラットフォーム１５０の１人または複数人のユーザ（たとえば、管理ユーザ）によって指定することができる。
【０１２４】
この例では、閾値は５である。したがって、ソーシャルメディアプラットフォーム１５０は、興味カテゴリ「Ｃ」を「人物１」に自動的に提案することができる（興味カテゴリ「Ｃ」の度数指標が閾値を超えるため）。さらに、興味カテゴリ「Ｆ」の度数指標も閾値を超えるが、ソーシャルメディアプラットフォーム１５０は、興味カテゴリ「Ｆ」を「人物１」に自動的に推薦せず、その理由は、既に自分のソーシャルメディアプロフィール５００に含めているためである。
【０１２５】
本明細書に記載のように、ユーザはソーシャルメディアプラットフォーム１５０によって提示されるユーザインターフェースを使用して、ソーシャルメディアプラットフォーム１５０と対話することができる。例示的なユーザインターフェース（たとえば、ユーザインターフェース６００、７００、８００、９００、１０００、および１０５０）を以下に説明する。場合により、本明細書に記載のユーザインターフェースは、図１に示したユーザインターフェース１０８ａ−ｃの一部として実装することができる。
【０１２６】
ユーザが興味カテゴリを選択して自分のソーシャルメディアプロフィールに含めることを可能にする例示的なユーザインターフェース６００を図６に示す。ユーザインターフェース６００は、選択可能な各興味カテゴリを示すメニューペイン６０２を含む。ユーザはメニューペイン６０２に表示された興味カテゴリの１つを（たとえば、入力デバイスを使用して所望の興味カテゴリの隣の選択ボックス６０４をクリックするまたは「チェックを入れる」ことによって）選択することができる。それに応答して、選択された興味カテゴリは選択ペイン６０６に移動され、ユーザのソーシャルメディアプロフィールに関連付けられる。ユーザはこのようにして複数の興味カテゴリを選択することができる。さらに、ユーザは、（たとえば、興味カテゴリの隣の選択ボックス６０４の「チェックをはずす」ことによって）選択した興味カテゴリを選択ペイン６０６から削除し、メニューペイン６０２に戻すことができる。削除された興味カテゴリは、ユーザのソーシャルメディアプロフィールから削除される。
【０１２７】
ユーザが興味カテゴリを選択してソーシャルメディアイベントアイテムに含めることを可能にする例示的なユーザインターフェース７００を図７に示す。ユーザインターフェース７００は、選択に使用可能な各興味カテゴリを示すメニューペイン７０２を含む。ユーザ（たとえば、ソーシャルメディアイベントアイテムの管理ユーザ）は、メニューペイン７０２に表示された興味カテゴリの１つを（たとえば、入力デバイスを使用して所望の興味カテゴリの隣の選択ボックス７０４をクリックするまたは「チェックを入れる」ことによって）選択することができる。それに応答して、選択された興味カテゴリは選択ペイン７０６に移動され、ソーシャルメディアイベントアイテムに関連付けられる。ユーザはこのようにして複数の興味カテゴリを選択することができる。さらに、ユーザは、（たとえば、興味カテゴリの隣の選択ボックス６０４の「チェックをはずす」ことによって）選択した興味カテゴリを選択ペイン７０６から削除し、メニューペイン７０２に戻すことができる。削除された興味カテゴリは、ソーシャルメディアイベントアイテムから削除される。
【０１２８】
ユーザがイベントに関する情報（たとえば、ソーシャルメディアイベントアイテムからの情報）を閲覧することを可能にする例示的なユーザインターフェース８００を図８に示す。ユーザインターフェース８００は、イベントに関する情報（たとえば、イベントのタイトル、イベントの場所、イベントの予定時刻および時間、イベントへの参加を計画しているユーザの「友人」の１人または複数人など）を表示する説明ペイン８０２を含む。説明ペイン８０２は、イベントに関連付けられた１つまたは複数の興味カテゴリ（たとえば、管理ユーザによって選択された１つまたは複数の興味カテゴリ）も示す。ユーザは、「参加」コマンド８０４を選択することによって、イベントへの参加を計画していることを表明することができる。
【０１２９】
ユーザ（たとえば、管理ユーザ）がイベントデータアイテムの内容を閲覧することを可能にする例示的なユーザインターフェース９００を図９に示す。ユーザインターフェース９００は、イベントへの参加を計画しているユーザ（たとえば、「参加者」）に関する情報を表示するヒストグラムペイン９０２を含む。ヒストグラムペイン９０２は、少なくとも１人の「参加者」が選択して自分の個人用ソーシャルメディアプロフィールに含めた各興味カテゴリの表示と、参加者の間で各興味カテゴリが選択された回数を示す度数指標とを含む。ヒストグラムペイン９０２は、ユーザがイベントの参加者の間で人気のカテゴリをより容易に決定できるように、度数指標に基づいて興味カテゴリをソートすることができる（たとえば、最高度数を有する興味カテゴリが最初に表示される）。
【０１３０】
ユーザが複数のイベントに関する情報を閲覧することを可能にする例示的なユーザインターフェース１０００を図１０Ａに示す。ユーザインターフェース１０００は、ユーザが参加可能なイベントを示すフィードペイン１００２を含む。場合により、フィードペイン１００２に表示されたイベントは、ユーザによって選択された興味カテゴリ、および／または本明細書に記載のイベント推薦技術に基づいて、ソーシャルメディアプラットフォーム１５０によって選択することができる。ユーザはフィードペイン１００２からイベントを選択して、（たとえば、図８に示したユーザインターフェース８００を使用して）そのイベントに関するさらなる情報を閲覧することができる。ユーザは「参加」コマンド１００４を選択することによって、イベントへの参加を計画していることを表明することもできる。
【０１３１】
ユーザが複数のイベントに関する情報を閲覧することを可能にする他の例示的なユーザインターフェース１０５０を図１０Ｂに示す。ユーザインターフェース１０５０は、（たとえば、グラフィカルなマップ１０５６に重ねられたマーカ１０５４を使用して）ユーザが参加可能なイベントの計画された地理的場所を示すマップペイン１０５２を含む。場合により、マップペイン１０５２に表示されたイベントは、ユーザによって選択された興味カテゴリ、および／または本明細書に記載のイベント推薦技術に基づいて、ソーシャルメディアプラットフォーム１５０によって選択することができる。ユーザはマップペイン１０５２からマーカ１０５４を選択して、（たとえば、図８に示したユーザインターフェース８００を使用して）特定のイベントに関するさらなる情報を閲覧することができる。
【０１３２】
いくつかの実施態様では、ソーシャルメディアプラットフォーム１５０は、ユーザが自動化された方式で会場に関する情報を決定する（たとえば、会場に関連付けられた興味カテゴリ、および／または会場に関連付けられたイベントを識別する）ことを可能にすることができる。この機能の例を図１１Ａおよび図１１Ｂに示す。
【０１３３】
この例では、ユーザは会場（たとえば、イベントを開催する場所、たとえば、コンサートホール、映画館、スタジアム、クラブ、公園、イベントスペースなど）を管理しており、会場を１人または複数人の他のユーザ（たとえば、参加者候補、イベント運営者、イベント主催者など）に告知することを望む。このユーザを「管理ユーザ」と呼ぶ場合がある。これを容易にするために、管理ユーザはソーシャルメディアプラットフォーム１５０と対話して、会場アイテム１１００を作成し、会場アイテム１１００に会場に関する情報を入力することができる。たとえば、管理ユーザは、会場の名前（たとえば、「会場１」）、会場に関連付けられたイベントおよび今後のイベントに関する情報、ならびに会場に関するコンテンツ（たとえば、会場に関するテキスト情報、画像、ビデオ、音声、または他のコンテンツ）を提供することができる。さらに、管理ユーザは、会場に関係する、妥当な、および／または他の態様で関連する１つまたは複数の興味カテゴリを示すことができる。これは、たとえば、管理ユーザが会場に関する人口統計情報および傾向を決定できるようになるので、有益であり得る。これにより、他のユーザ（たとえば、管理ユーザ、参加者候補、イベント運営者、イベント主催者など）が、会場の性質を素早く評価し、会場のイベントに参加したいか、および／または会場のイベントを運営したいかを判断できるようにもなる。この例では、ユーザは、興味カテゴリ「Ａ」、「Ｂ」および「Ｃ」を選択している。
【０１３４】
さらに、管理ユーザはソーシャルメディアプラットフォーム１５０と対話して、行われたおよび／または行われる予定である１つまたは複数のイベントを示すことができる。場合により、イベントの１つまたは複数は、（たとえば、図２、図３Ａ〜図３Ｃ、図４Ａ〜図４Ｃ、図５Ａおよび図５Ｂに関して図示および説明したように）ソーシャルメディアイベントアイテムに対応することができる。この例では、管理ユーザは、１つのイベント（ソーシャルメディアイベントアイテム１１０２ａに対応する「イベント１」）が過去に行われたことを示している。さらに、管理ユーザは、３つのイベント（ソーシャルメディアイベントアイテム１１０２ｂ、１１０２ｃ、および１１０２ｄにそれぞれ対応する「イベント２」、「イベント３」および「イベント４」）が今後行われる予定であることを示している。
【０１３５】
場合により、イベントの管理ユーザ（たとえば、運営者、イベント主催者など）は、（たとえば、ソーシャルメディアイベントアイテムに入力する場合に）自分のイベントに関連付けられる会場を指定することができる。ソーシャルメディアプラットフォーム１５０は、入力に基づいて１つまたは複数の会場アイテムを自動的に生成することができる。たとえば、ソーシャルメディアプラットフォーム１５０は、特定の会場で行われたまたは行われる予定であるイベントのそれぞれを識別し、それらのイベントのそれぞれを指定する会場アイテムを生成することができる。
【０１３６】
本明細書に記載のように、ユーザはソーシャルメディアプラットフォーム１５０と対話して、ソーシャルメディアイベントアイテムをレビューすることができる（たとえば、イベントに関する情報を取得するため）。さらに、各ユーザは参加を計画しているか否かを表明することができる。たとえば、各ユーザは、イベントに関する「ＲＳＶＰ」データ（たとえば、招待を辞退した、招待を受諾した、招待を暫定的に受諾したことなどを示すデータ）を提出することができる。
【０１３７】
さらに、本明細書に記載のように、ソーシャルメディアプラットフォーム１５０は各イベントについてのイベントデータ構造を生成することができる。イベントデータ構造は、（ｉ）ソーシャルメディアイベントアイテムに入力する場合に、ソーシャルメディアイベントアイテム３００の管理ユーザ（たとえば、イベントを運営および／または主催する責任があるユーザ）によって選択されたか、または（ｉｉ）自分のユーザプロフィールに入力する場合に、イベントへの招待を受諾した（たとえば、「はい」とＲＳＶＰした）ユーザによって選択された興味カテゴリのそれぞれを示すことができる。さらに、イベントデータ構造は、各興味カテゴリについて、その興味カテゴリが（たとえば、ソーシャルメディアイベントアイテムに入力する場合に）イベントの管理ユーザによって選択されたか、および／または（自分のユーザプロフィールに入力する場合に）イベントへの招待を受諾したユーザによって選択された回数を示す度数指標を含むことができる。場合により、これはヒストグラムの形態で提示することができる。この例では、各ソーシャルメディアイベントアイテム１１０２ａ−１１０２ｄは、ヒストグラムの形態のそれぞれのイベントデータ構造１１０４ａ−ｄを含む。
【０１３８】
場合により、ソーシャルメディアプラットフォーム１５０は、会場についての会場データ構造を生成することができる。会場データ構造は、（ｉ）会場アイテムに入力する場合に、会場の管理ユーザによって選択されたか、（ｉｉ）ソーシャルメディアイベントアイテムに入力する場合に、会場に関連付けられたソーシャルメディアイベントアイテムの管理ユーザによって選択されたか、または（ｉｉｉ）自分のユーザプロフィールに入力する場合に、会場に関連付けられたイベントへの招待を受諾した（たとえば、「はい」とＲＳＶＰした）ユーザによって選択された興味カテゴリのそれぞれを示すことができる。さらに、会場データ構造は、各興味カテゴリについて、その興味カテゴリがこのようにして選択された回数を示す度数指標を含むことができる。場合により、これはヒストグラムの形態で提示することもできる。
【０１３９】
図１１Ｂに、会場アイテム１１００についての例示的な会場データ構造１１０６の表現を示す。この例では、興味カテゴリ「Ａ」は、「会場１」の管理ユーザによって選択され、「イベント１」および「イベント４」に関連付けられたユーザによって６回選択されているので、度数指標７を有する。同様に、興味カテゴリ「Ｂ」は、「会場１」の管理ユーザによって選択され、「イベント１」、「イベント３」、および「イベント４」に関連付けられたユーザによって６回選択されているので、度数指標７を有する。さらに、興味カテゴリ「Ｃ」は、「会場１」の管理ユーザによって選択され、「イベント１」に関連付けられたユーザによって３回選択されているので、度数指標４を有する。さらに、興味カテゴリ「Ｄ」は、「イベント１」、「イベント２」、「イベント３」および「イベント４」に関連付けられたユーザによって４回選択されているので、度数指標４を有する。さらに、興味カテゴリ「Ｅ」は、「イベント１」、「イベント２」および「イベント４」に関連付けられたユーザによって４回選択されているので、度数指標４を有する。さらに、興味カテゴリ「Ｆ」は、「イベント１」、「イベント２」、「イベント３」および「イベント４」に関連付けられたユーザによって１２回選択されているので、度数指標１２を有する。さらに、興味カテゴリ「Ｇ」は、「イベント１」、「イベント２」および「イベント４」に関連付けられたユーザによって３回選択されているので、度数指標３を有する。
【０１４０】
場合により、会場データ構造１１０６は、会場アイテム１１００に含めて、会場アイテム１１００をレビューする場合にユーザに提示することができる。たとえば、ユーザが会場アイテム１１００にアクセスにする場合（たとえば、ソーシャルメディアプラットフォーム１５０を使用して会場に関する情報を閲覧する場合）、ソーシャルメディアプラットフォーム１５０は、会場データ構造１１０６を表すヒストグラム（あるいは他のグラフィカル表現および／またはテキスト表現）をユーザに表示することができる。これは、たとえばイベントの参加者候補が会場およびそれに関連付けられたイベントに妥当な興味カテゴリを、それらの興味カテゴリが会場またはイベントの管理ユーザによって明確に選択されていなかったとしても識別できるようになるので、有益であり得る。この情報は管理ユーザに提示することもできる（たとえば、会場に関連付けられたイベントの予想参加者の興味に関する情報を管理ユーザに提供するため）。
【０１４１】
場合により、会場データ構造の度数指標は、異なる重みに応じて計算することができる。一例として、会場の管理ユーザによって選択された興味カテゴリには、より大きい重みを割り当てることができ（たとえば、各選択は重み１０を有する）、他のユーザにはより小さい重みを割り当てることができる（たとえば、各選択は重み１を有する）。したがって、特定のユーザによってなされた興味カテゴリ選択は、会場データ構造の度数指標により大きな影響を与えることができる。
【０１４２】
場合により、会場データ構造の度数指標へのイベントの影響は、経時的に変化することができる。たとえば、まだ行われていないイベントには、より大きい重みを割り当てることができる（たとえば、それらのイベントに関連付けられた各興味カテゴリ選択は、重み１を有することができる）。イベントが行われると、イベントに経時的に徐々により小さい重みを割り当てることができる（たとえば、イベントが行われた１ヶ月後には重み０．７５、イベントが行われた２ヶ月後には重み０．５、イベントが行われた３ヶ月後には重み０．２５、イベントが行われた４ヶ月後には重み０）。この時間ベースの重み付けの「減衰」は、たとえば、会場データ構造についての度数指標の計算において、より最近のイベントを優遇するので、有用であり得る。したがって、経時的な会場の観客の変化を決定することがより簡単になり得る。たとえば、会場が歴史的にコメディイベントに関連していたが、最近は代わりに音楽イベントへ移行している場合、このジャンルの変化は、時間ベースの重み付けの減衰によってより簡単に検出することができる。
【０１４３】
例示的な重み付け基準および重みを上記で説明しているが、これらは説明のための例にすぎない。実際には、他の重み付け基準および／または重みを、本明細書に記載したものの代わりにまたはこれに加えて使用することができる。
【０１４４】
場合により、ソーシャルメディアプラットフォーム１５０は、まず会場アイテムについての会場データ構造を生成し、生成後に会場データ構造を１回または複数回修正することができる。
【０１４５】
場合により、ソーシャルメディアプラットフォーム１５０は、１つまたは複数のデータベースのデータに変化をもたらすトランザクション（たとえば、データベースモジュール２０２によって記憶されたデータ、たとえば、ソーシャルメディアプロフィール２１０、ソーシャルメディアイベントアイテム２１２、および／または会場アイテム２１８に関して処理モジュール２０６によって実行されるトランザクション）を監視することができる。トランザクションが特定のトリガ基準を満たす場合、ソーシャルメディアプラットフォーム１５０はそれに応答して１つまたは複数の会場データ構造を修正することができる。たとえば、トランザクションがイベントデータ構造に影響するデータフィールドを修正する場合（たとえば、ユーザがイベントに「はい」とＲＳＶＰすること、ユーザが自分のソーシャルメディアプロフィールに対して追加の興味カテゴリを選択すること、またはイベントのヒストグラムに影響し得る他のアクションについてのトランザクション修正の場合）、ソーシャルメディアプラットフォーム１５０は、（たとえば、処理モジュール２０６を使用して）そのトランザクションを特定のフラグ、たとえば、「トリガ」フラグによってマークすることができる。各トランザクションが正常に完了した場合、ソーシャルメディアプラットフォーム１５０は、（たとえば、処理モジュール２０６を使用して）そのトランザクションのフラグを確認し、次いで任意の識別されたフラグに基づいて特定の関数を呼び出す。これらの関数はこれら自体のトランザクションを生成し、このトランザクションは、実行されるとそれに応じて適切なイベントデータ構造および会場データ構造を更新する（たとえば、妥当なイベントおよび会場のヒストグラムを更新する）。これは、たとえば、ソーシャルメディアプラットフォーム１５０が、会場データ構造を更新する前に（これは完了するのに比較的長い時間がかかり得る）、ユーザが行なった任意の変更を素早く確認できるようになるので、有用であり得る。たとえば、ユーザが新たな興味カテゴリを自分のソーシャルメディアプロフィールに追加する場合、ソーシャルメディアプラットフォーム１５０は、（ユーザが長い時間待たなくてよいように）ユーザの変更を素早く確認し、その後、ユーザが他のタスクを行なっている間に、ユーザの変更に基づいて１つまたは複数の会場データ構造を更新することができる。
【０１４６】
一例として、管理ユーザが会場アイテムの興味カテゴリ選択を修正した場合、それに応答して、ソーシャルメディアプラットフォーム１５０は、（たとえば、新たな興味カテゴリを会場データ構造に追加する、会場データ構造から興味カテゴリを削除する、および／または会場データ構造における興味カテゴリの度数指標を修正することによって）これらの変更を反映するように会場データ構造を修正することができる。他の例として、１人または複数人の追加ユーザが会場に関連付けられたイベントへの参加を計画していることを表明している場合、それに応答して、ソーシャルメディアプラットフォーム１５０は、（たとえば、新たな興味カテゴリを会場データ構造に追加する、および／または会場データ構造において追加ユーザによって選択された興味カテゴリの度数指標をインクリメントすることによって）これらの変更を反映するように会場データ構造を修正することができる。他の例として、１人または複数人のユーザが会場に関連付けられたイベントへの参加をもはや計画していないことを表明している場合、ソーシャルメディアプラットフォーム１５０は、（たとえば、会場データ構造から興味カテゴリを削除する、および／または会場データ構造においてそれらのユーザによって選択された興味カテゴリの度数指標をデクリメントすることによって）これらの変更を反映するように会場データ構造を修正することができる。他の例として、会場に関連付けられたイベントへの参加を計画している１人または複数人のユーザが自分の個人用ソーシャルメディアプロフィール内の興味カテゴリ選択を修正する場合、ソーシャルメディアプラットフォーム１５０は、（たとえば、新たな興味カテゴリを会場データ構造に追加する、会場データ構造から興味カテゴリを削除する、および／または会場データ構造における興味カテゴリの度数指標を修正することによって）これらの変更を反映するように会場データ構造を修正することができる。これは、たとえば、ソーシャルメディアプラットフォーム１５０が、会場のそれぞれに関する正確な情報を提示できるようになるので、有用であり得る。
【０１４７】
場合により、これらの修正は、まだ行われていないイベントに関してのみ行うことができる。たとえば、図１１Ａを参照すると、「イベント１」は既に行われたイベントである。したがって、ソーシャルメディアプラットフォーム１５０は、（たとえば、「イベント１」が行われた後に）会場データ構造１１０４ａを「凍結」し、イベントが行われたときのユーザの興味カテゴリの過去の記録として会場データ構造１１０４ａを保存することができる。しかしながら、「イベント２」、「イベント３」および「イベント４」はまだ行われていない。したがって、ソーシャルメディアプラットフォーム１５０は、それぞれのイベントが行われるまで、ユーザの活動に基づいて会場データ構造１１０４ｂ、１１０４ｃ、および１１０４ｄの修正を継続することができる（たとえば、イベントが行われる前にユーザの興味カテゴリに関する最新情報を提供するため）。
【０１４８】
場合により、ソーシャルメディアプラットフォーム１５０は、会場アイテムをリアルタイムまたは実質的にリアルタイムに更新することができる。たとえば、ソーシャルメディアプラットフォームはトランザクションを監視して、特定のトランザクションが１つまたは複数のトリガ基準を満たすか否かを判定することができる（たとえば、ユーザが特定の会場に関連付けられたイベントデータアイテムの興味カテゴリ選択を修正する、１人または複数人の追加ユーザがその会場に関連付けられたイベントへの参加を計画していることを表明する、１人または複数人のユーザがその会場に関連付けられたイベントへの参加をもはや計画していないことを表明する、その会場に関連付けられたイベントへの参加を計画している１人または複数人のユーザが自分の個人用ソーシャルメディアプロフィール内の興味カテゴリ選択を修正する、など）。それに応答して、ソーシャルメディアプラットフォーム１５０は、対応する会場データ構造を即時に（または実質的に即時に）修正することができる。これは、たとえば、ソーシャルメディアプラットフォーム１５０が会場のそれぞれに関する最新情報を継続的に維持できるようにする際に、有用であり得る。
【０１４９】
場合により、ソーシャルメディアプラットフォーム１５０は会場アイテムを定期的に更新することができる。たとえば、ソーシャルメディアプラットフォーム１５０は、繰り返しのスケジュールに従って（たとえば、１秒に１回、１分に１回、１時間に１回、１日に１回、または何らかの他のスケジュールに従って）、１つまたは複数のトリガ基準が満たされているか否かを判定することができる。特定のトリガ基準が満たされていると決定すると、ソーシャルメディアプラットフォーム１５０はそれに応答して対応する会場データ構造を修正することができる。これは、たとえば、ソーシャルメディアプラットフォーム１５０が、（たとえば、リアルタイムに更新するのと比較して）より予測可能なスケジュールに従って、計算コストを削減し得る方式で、運営されるイベントのそれぞれに関する最新情報を維持できるようにする際に、有用であり得る。
【０１５０】
これは、たとえば、ソーシャルメディアプラットフォーム１５０におけるデータの完全性を向上する際にも、有用であり得る。たとえば、動作中に、ソーシャルメディアプラットフォーム１５０は異常に振る舞って不安定になる場合がある（たとえば、システムクラッシュ）。上記のように、ソーシャルメディアプラットフォーム１５０は、リアルタイムまたは実質的にリアルタイムに（たとえば、トランザクションを監視して、特定のトランザクションが１つまたは複数のトリガ基準を満たすか否かを判定し、満たす場合、それに応答して即時に対応する会場データ構造を修正することによって）会場アイテムを更新することができる。しかしながら、トランザクションの実行後であるが、会場データ構造がそれに応答して更新される前に、ソーシャルメディアプラットフォーム１５０がシステムクラッシュを経験した場合、会場データ構造はそのトランザクションの実行を反映しない。さらに、会場アイテムはリアルタイムまたは実質的にリアルタイムに、予測可能なスケジュールに従わずに更新されるので、会場アイテムが正しく更新されたか否かを判定することは困難であろう。対照的に、ソーシャルメディアプラットフォーム１５０が会場アイテムを定期的に（たとえば、予測可能なスケジュールに従って）更新する場合、各会場アイテムが正しく更新されたか否かを判定することは容易になる。たとえば、システムがクラッシュした時刻を、予定更新時刻と比較することができる。クラッシュが予定更新時刻後に発生した場合、ソーシャルメディアプラットフォーム１５０は、予定更新が行われたと決定することができる。しかしながら、クラッシュが予定更新時刻前に発生した場合、ソーシャルメディアプラットフォーム１５０は、予定更新が行われなかったと決定することができ、それに応答して修正措置をとる（たとえば、次の予定更新時に追加の更新をキューに入れる）ことができる。このようにして、ソーシャルメディアプラットフォーム１５０におけるデータの信頼性を向上させることができる。とはいえ、これはソーシャルメディアプラットフォーム１５０が、場合により、（たとえば、継続的な最新の情報がデータ完全性の改善よりも望ましい場合に）リアルタイムまたは実質的にリアルタイムに会場アイテムを更新することを排除するものではない。
【０１５１】
場合により、ソーシャルメディアプラットフォーム１５０は、経時的な複数の会場データ構造を生成し、会場データ構造の一部または全部を同時に（たとえば、３次元ヒストグラムの形態で）提示することができる。これは、たとえば、経時的な会場の特徴の変化を決定する際に、有用であり得る。一例として、ソーシャルメディアプラットフォーム１５０は、時刻ｔ１に応じた会場データ構造（たとえば、時刻ｔ１時点での会場に関連付けられたイベントについての興味カテゴリの度数指標を示すもの）を生成することができる。メディアプラットフォーム１５０は、時刻ｔ２、ｔ３、およびｔ４に応じた追加の会場データ構造（たとえば、時刻ｔ２、ｔ３、およびｔ４時点での会場に関連付けられたイベントについての興味カテゴリの度数指標をそれぞれ示すもの）を生成することもできる。会場データ構造の一部または全部を同時に（たとえば、図１２に示す３次元ヒストグラム１２００の形態で）ユーザに提示することができる。これにより、ユーザは、経時的な会場に関連付けられた興味カテゴリの変化を識別し、会場で行われるイベントの種類、およびそれらのイベントの参加者の興味をより良く理解することが可能になる。
【０１５２】
同様に、ソーシャルメディアプラットフォーム１５０は、経時的な一連のイベントにわたる複数のイベントデータ構造を生成し、イベントデータ構造の一部または全部を同時に（たとえば、３次元ヒストグラムの形態で）提示することができる。これは、たとえば、経時的な一連のイベントの人口統計の変化を決定する際に、有用であり得る。一例として、繰り返しの一連のイベントは、「イベントＡ」、「イベントＢ」、「イベントＣ」、および「イベントＤ」を含むことができる。「イベントＡ」が行われると、ソーシャルメディアプラットフォーム１５０は、（たとえば、イベントの管理ユーザおよび／またはイベントへの参加を計画していることを表明したユーザによる興味カテゴリ選択に基づいて）「イベントＡ」に対応する第１のイベントデータ構造を生成することができる。同様に、「イベントＢ」、「イベントＣ」、および「イベントＤ」が行われると、ソーシャルメディアプラットフォーム１５０は、（たとえば、イベントの管理ユーザおよび／またはイベントへの参加を計画していることを表明したユーザによる興味カテゴリ選択に基づいて）それらのイベントに対応する追加のイベントデータ構造を生成することができる。イベントデータ構造の一部または全部を同時に（たとえば、図１３に示す３次元ヒストグラム１３００の形態で）ユーザに提示することができる。これにより、ユーザは、経時的な一連のイベントに関連付けられた興味カテゴリの変化を識別し、それらのイベントの参加者の興味をより良く理解することが可能になる。
【０１５３】
例示的な処理
自動化された方式でイベントを識別しユーザに推薦するための例示的な処理１４００を図１４に示す。いくつかの実施態様では、処理１４００は、図１のシステム１００、および／または図２に示したソーシャルメディアプラットフォーム１５０によって実行することができる。
【０１５４】
処理１４００において、サーバシステムは、複数人のユーザについてのプロフィールデータと、複数のソーシャルメディアイベントについてのイベントデータとを生成する（ステップ１４０２）。サーバシステムは、たとえば、図１に関して説明したソーシャルメディアプラットフォーム１５０を含むサーバシステム１０２を含むことができる。プロフィールデータは、各ユーザについて、そのユーザに関連付けられた１つまたは複数の興味カテゴリの表示を含むことができる。イベントデータは、各ソーシャルメディアイベントについて、そのソーシャルメディアイベントに関連付けられた１人または複数人のユーザの表示を含むことができる。この機能の例は、たとえば、図３Ａおよび図４Ａに関して説明している。
【０１５５】
サーバシステムは、第１のユーザのサブセットが第１のソーシャルメディアイベントに関連付けられていると決定する（ステップ１４０４）。たとえば、サーバシステムは、１人または複数人の特定のユーザが、特定のソーシャルメディアイベントへの参加を計画している、および／または特定のソーシャルメディアイベントへの参加を暫定的に計画していることを表明している（たとえば、「はい」および／または「たぶん」とＲＳＶＰしている）と決定することができる。
【０１５６】
サーバシステムは、プロフィールデータおよびイベントデータを１つまたは複数のデータベースに記憶する（ステップ１４０６）。一例として、プロフィールデータおよびイベントデータは、図２に関して説明したデータベースモジュール２０２を使用して記憶することができる。
【０１５７】
サーバシステムは、第１の興味カテゴリのサブセットが第１のユーザのサブセットに関連付けられていると決定する（ステップ１４０８）。これは、たとえば、第１のユーザのサブセットによって選択され、彼らのプロフィールに含められた興味カテゴリを含むことができる。
【０１５８】
サーバシステムは、第２の興味カテゴリのサブセットが第１のソーシャルメディアイベントに関連付けられていると決定する（ステップ１４１０）。第２の興味カテゴリのサブセットは第１のソーシャルメディアイベントの管理ユーザによって選択される。これは、たとえば、第１のソーシャルメディアイベントの管理ユーザによって、第１のソーシャルメディアイベントに妥当であると識別された興味カテゴリを含むことができる。
【０１５９】
第１の興味カテゴリのサブセットおよび第２の興味カテゴリのサブセットに基づいて、第１のソーシャルメディアイベントについてイベントデータ構造が生成される（ステップ１４１２）。イベントデータ構造は、第１の興味カテゴリのサブセットおよび第２の興味カテゴリのサブセットの表示と、第１の興味カテゴリのサブセットおよび第２の興味カテゴリのサブセットのうちの各興味カテゴリについての、その興味カテゴリに関連付けられた第１のユーザのサブセットのユーザの数と、その興味カテゴリが第１のソーシャルメディアイベントの管理ユーザによって選択されているか否かにとに基づくそれぞれの度数指標とを含む。この機能の例は、たとえば、図３Ｂ、図４Ｂ、および図４Ｃに関して説明している。
【０１６０】
サーバシステムは、１つまたは複数のデータベースのデータに変化をもたらすデータベーストランザクションを監視するように構成される１つまたは複数の処理を実行する（ステップ１４１４）。これは、たとえば、図２に関して説明した処理モジュール２０６を使用して実行することができる。トランザクションは、第１のユーザのサブセットに関連付けられたプロフィールデータへの修正と、第１のイベントに関連付けられたイベントデータへの修正とのうちの少なくとも１つを含むことができる。場合により、修正は興味カテゴリの追加または削除を含むことができる（たとえば、ユーザは自分のプロフィールに対して興味カテゴリを追加または削除する）。場合により、修正は、追加ユーザの第１のソーシャルメディアイベントとの関連付け、または第１のソーシャルメディアイベントからのユーザの関連付け解除を含むことができる（たとえば、ユーザはイベントに「はい」および／または「たぶん」とＲＳＶＰし、あるいはユーザは「はい」および／または「たぶん」から「いいえ」にＲＳＶＰを切り替える）。
【０１６１】
サーバシステムは、トランザクションが第１のソーシャルメディアイベントに関するトリガ基準を満たすと決定する（ステップ１４１６）。トランザクションが第１のソーシャルメディアイベントに関するトリガ基準を満たすと決定したことに応答して、トランザクションに基づいてイベントデータ構造が修正される（ステップ１４１８）。
【０１６２】
場合により、トランザクションが第１のソーシャルメディアイベントに関するトリガ基準を満たすと決定することは、特定の興味カテゴリが、第１のユーザのサブセットの特定のユーザのプロフィールデータに対して追加または削除されていると決定することと、第１のソーシャルメディアイベントがまだ行われていないと決定することとを含むことができる。イベントデータ構造を修正することは、イベントデータ構造における特定の興味カテゴリに関連する度数指標を修正することを含むことができる。場合により、サーバシステムはさらに、トランザクションが１つまたは複数の追加のソーシャルメディアイベントに関するトリガ基準を満たすと決定し、トランザクションが１つまたは複数のソーシャルメディアイベントに関するトリガ基準を満たすと決定したことに応答して、トランザクションに基づいて１つまたは複数のソーシャルメディアイベントについてのイベントデータ構造を修正することができる。
【０１６３】
場合により、トランザクションが第１のソーシャルメディアイベントに関するトリガ基準を満たすと決定することは、追加ユーザが第１のソーシャルメディアイベントに関連付けられていると決定することと、第１のソーシャルメディアイベントがまだ行われていないと決定することとを含むことができる。イベントデータ構造を修正することは、追加ユーザが追加の興味カテゴリに関連付けられていると決定することと、追加の興味カテゴリの表示を含むようにイベントデータ構造を修正することとを含むことができる。
【０１６４】
場合により、トランザクションが第１のソーシャルメディアイベントに関するトリガ基準を満たすと決定することは、追加ユーザが第１のソーシャルメディアイベントに関連付けられていると決定することと、第１のソーシャルメディアイベントがまだ行われていないと決定することとを含むことができる。イベントデータ構造を修正することは、追加ユーザが第１の興味カテゴリのサブセットの特定の興味カテゴリに関連付けられていると決定することと、追加ユーザが第１の興味カテゴリのサブセットの特定の興味カテゴリに関連付けられていると決定したことに応答して、イベントデータ構造における特定の興味カテゴリに関連する度数指標を修正することとを含むことができる。場合により、イベントデータ構造における特定の興味カテゴリに関連する度数指標を修正することは、特定の興味カテゴリに関連する度数指標をインクリメントすることを含むことができる。
【０１６５】
場合により、トランザクションが第１のソーシャルメディアイベントに関するトリガ基準を満たすと決定することは、第１のユーザのサブセットの特定のユーザが第１のソーシャルメディアイベントと関連付け解除されたと決定することと、第１のソーシャルメディアイベントがまだ行われていないと決定することとを含むことができる。イベントデータ構造を修正することは、関連付け解除されたユーザが第１の興味カテゴリのサブセットの特定の興味カテゴリに関連付けられていたと決定することと、関連付け解除されたユーザが第１の興味カテゴリのサブセットの特定の興味カテゴリに関連付けられていたと決定したことに応答して、イベントデータ構造における特定の興味カテゴリに関連する度数指標を修正することとを含むことができる。場合により、イベントデータ構造における特定の興味カテゴリに関連する度数指標を修正することは、特定の興味カテゴリに関連する度数指標をデクリメントすることを含むことができる。
【０１６６】
場合により、イベントデータ構造に基づいてヒストグラムを生成し表示することができる。例示的なヒストグラムは、たとえば、図３Ｂ、図４Ｂ、および図４Ｃに示している。場合により、１つまたは複数の追加のソーシャルメディアイベントについて１つまたは複数の追加のイベントデータ構造を生成することができる。さらに、イベントデータ構造および１つまたは複数の追加のイベントデータ構造に基づいて複数のヒストグラムを生成し表示することができる。
【０１６７】
場合により、プロフィールデータは、少なくとも１人のユーザーについて、そのユーザに関連付けられた１つまたは複数のパブリック興味カテゴリの表示と、そのユーザに関連付けられた１つまたは複数のプライベート興味カテゴリの表示とを含むことができる。そのユーザと１つまたは複数のパブリック興味カテゴリとの関連付けは、１人または複数人の他のユーザによってアクセス可能にすることができ、そのユーザと１つまたは複数のプライベート興味カテゴリとの関連付けは、１人または複数人の他のユーザによってアクセス不可能にすることができる。イベントデータ構造に基づいて１つまたは複数のパブリック興味カテゴリに対応するヒストグラムを生成し表示することができる。
【０１６８】
場合により、第１の興味カテゴリのサブセットに基づいてイベントデータ構造を生成することは、第１の興味カテゴリのサブセットの各興味カテゴリについて、その興味カテゴリに関連し、第１のソーシャルメディアイベントへの招待を受諾した第１のユーザのサブセットの各ユーザについて、その興味カテゴリに関連する度数指標を第１の量だけインクリメントすることと、その興味カテゴリに関連し、第１のソーシャルメディアイベントへの招待を暫定的に受諾した第１のユーザのサブセットの各ユーザについて、その興味カテゴリに関連する度数指標を第２の量だけインクリメントすることとを含むことができる。第１の量は第２の量と異なることができる。
【０１６９】
場合により、第１の興味カテゴリのサブセットが第１のユーザのサブセットに関連付けられていると決定することは、ユーザのサブセットの少なくとも１人のユーザによって選択された１つまたは複数の興味カテゴリを第１の興味カテゴリのサブセットとして識別すること。を含むことができる。
【０１７０】
場合により、サーバシステムは、イベントデータ構造に基づいて追加ユーザに対する第１のソーシャルメディアイベントの推薦を生成することができる。追加ユーザに対する第１のソーシャルメディアイベントの推薦を生成することは、追加ユーザのプロフィールデータを取得することと、追加ユーザのプロフィールデータに基づいて、追加ユーザに関連付けられた興味カテゴリを決定することと、追加ユーザおよびイベントデータ構造に関連付けられた興味カテゴリに基づいて推薦スコアを決定することとを含むことができる。
【０１７１】
推薦スコアを決定することは、追加ユーザおよびイベントデータ構造に関連付けられた興味カテゴリに共通している１つまたは複数の興味カテゴリを決定することと、共通している興味カテゴリのそれぞれに対応するイベントデータ構造の度数指標を合計することとを含むことができる。
【０１７２】
推薦スコアを決定することは、追加ユーザに関連付けられた第１の地理的場所と、第１のソーシャルメディアイベントに関連付けられた第２の地理的場所との距離を決定することと、第１の地理的場所と第２の地理的場所との距離に基づいて推薦スコアを修正することとをさらに含むことができる。
【０１７３】
推薦スコアを決定することは、第２の興味カテゴリのサブセットおよび追加ユーザに関連付けられた興味カテゴリに共通している１つまたは複数の興味カテゴリを決定することと、決定に基づいて推薦スコアを修正することとをさらに含むことができる。
【０１７４】
推薦スコアを決定することは、第２のユーザに関連付けられたユーザの数と、第２のユーザおよび第１のソーシャルメディアイベントの両方に関連付けられたユーザの数とを決定することをさらに含むことができる。推薦スコアを決定することは、決定に基づいて推薦スコアを修正することをさらに含むことができる。
【０１７５】
追加ユーザに対する第１のソーシャルメディアイベントの推薦を生成することは、推薦スコアが閾値スコアを超えていると決定することと、推薦スコアが閾値スコアを超えていると決定したことに応答して、第１のソーシャルメディアイベントを識別する追加ユーザへの通知を生成することとをさらに含むことができる。
【０１７６】
場合により、処理１４００は、グラフィカルユーザインターフェースをレンダリングすることをさらに含むことができる。グラフィカルユーザインターフェースはイベントデータ構造のグラフィカル表現を含む。処理１４１０は、グラフィカルユーザインターフェースをユーザに提示することをさらに含むことができる。例示的なグラフィカルユーザインターフェースは、たとえば、図９に示している。
【０１７７】
場合により、イベントデータ構造は実質的にリアルタイムに修正することができる。場合により、イベントデータ構造は定期的に修正することができる。
【０１７８】
場合により、サーバシステムは、第１のユーザに対する追加の興味カテゴリの推薦を生成することができる。追加の興味カテゴリの推薦を生成することは、第１のユーザが第１のソーシャルメディアイベントのサブセットに関連付けられていると決定することと、第３の興味カテゴリのサブセットが、第１のソーシャルメディアイベントのサブセットのうちの少なくとも１つのソーシャルメディアイベントに関連付けられていると決定することと、第３の興味カテゴリのサブセット内の各興味カテゴリについて推薦スコアを決定することとを含むことができる。推薦スコアを決定することは、第１のソーシャルメディアイベントのサブセットの各ソーシャルメディアイベントについて、対応するイベントデータ構造を取得することと、第３の興味カテゴリのサブセットの各興味カテゴリについて、興味カテゴリに対応する取得されたイベントデータ構造の度数指標を合計することとを含むことができる。推薦スコアを決定することは、第１のソーシャルメディアイベントのサブセットの各ソーシャルメディアイベントについて、そのソーシャルメディアイベントの管理ユーザによって選択された１つまたは複数の興味カテゴリを決定することと、決定に基づいて推薦スコアを修正することとをさらに含むことができる。この機能の例は、たとえば、図５Ａおよび図５Ｂに関して説明している。
【０１７９】
会場の特徴を自動的に決定するための他の例示的な処理１５００を図１５に示す。いくつかの実施態様では、処理１５００は、図１のシステム１００、および／または図２に示したソーシャルメディアプラットフォーム１５０によって実行することができる。
【０１８０】
処理１５００において、サーバシステムは会場データを生成する（ステップ１５０２）。会場データは、会場に関して管理ユーザによって選択された１つまたは複数の第１の興味カテゴリの表示と、会場に関連付けられた１つまたは複数のイベントの表示とを含む。たとえば、１つまたは複数の第１の興味カテゴリは、会場の管理ユーザ（たとえば、会場の管理、監督、および／または告知を行う責任があるユーザ）によって、会場アイテムに入力している間に選択することができる。他の例として、１つまたは複数のイベントは、イベントの管理ユーザおよび／または複数人の管理ユーザ（たとえば、イベントを運営および／または主催する責任があるユーザ）によって指定することができる。この機能の例は、たとえば、図１１Ａに関して図示および説明している。
【０１８１】
サーバシステムは、会場に関連付けられた１つまたは複数のイベントのそれぞれについてイベントデータ構造を生成する（ステップ１５０４）。各イベントデータ構造は、イベントに関連付けられた１つまたは複数の第２の興味カテゴリの表示と、１つまたは複数の第２の興味カテゴリの各興味カテゴリについての、それぞれの度数指標とを含む。イベントデータ構造を生成するための例示的な技術は、たとえば、図３Ａ〜図３Ｃ、図４Ａ〜図４Ｃ、および図１４に関して図示および説明している。
【０１８２】
サーバシステムは、会場データおよび１つまたは複数のイベントデータ構造に基づいて会場データ構造を生成する（ステップ１５０６）。会場データ構造は、１つまたは複数の第１のカテゴリおよび１つまたは複数の第２の興味カテゴリの表示を含む。会場データ構造は、１つまたは複数の第１のカテゴリおよび１つまたは複数の第２の興味カテゴリのうちの各興味カテゴリについての、会場データおよび１つまたは複数のイベントデータ構造に基づいて決定されるそれぞれの度数指標をさらに含む。会場データ構造を生成するための例示的な技術は、たとえば、図１１Ａおよび図１１Ｂに関して図示および説明している。
【０１８３】
いくつかの実施態様では、会場データ構造を生成することは、各イベントデータ構造について、それぞれの重みを決定することと、重みに基づいて会場データ構造の度数指標を決定することとを含むことができる。各重みは、それぞれのイベントの開催の新しさに対応することができる。
【０１８４】
サーバシステムは、１つまたは複数のデータベースのデータに変化をもたらすデータベーストランザクションを監視するように構成される１つまたは複数の処理を実行する（ステップ１５０８）。サーバシステムは、トランザクションが会場データ構造に関するトリガ基準を満たすと決定する（ステップ１５１０）。トランザクションが会場データ構造に関するトリガ基準を満たすと決定したことに応答して、サーバシステムは、トランザクションに基づいて会場データ構造を修正する（ステップ１５１２）。いくつかの実施態様では、トランザクションは１つまたは複数のイベントデータ構造への修正を含むことができる。いくつかの実施態様では、トランザクションは会場データへの修正を含むことができる。いくつかの実施態様では、会場データ構造は実質的にリアルタイムに修正することができる。いくつかの実施態様では、会場データ構造は定期的に修正することができる。この機能の例は、たとえば、図１１Ａおよび図１１Ｂに関して説明している。
【０１８５】
いくつかの実施態様では、（たとえば、サーバコンピュータおよび／またはクライアントコンピュータによって）会場データ構造に基づいてヒストグラムを生成し表示することができる。
【０１８６】
いくつかの実施態様では、サーバシステムは、会場データおよび１つまたは複数のイベントデータ構造に基づいて１つまたは複数の追加の会場データ構造を生成することができる。各追加の会場データ構造は、それぞれの時刻に応じた１つまたは複数の第１のカテゴリおよび１つまたは複数の第２の興味カテゴリの表示と、１つまたは複数の第１のカテゴリおよび１つまたは複数の第２の興味カテゴリのうちの各興味カテゴリについての、その時刻に応じたそれぞれの度数指標とを含むことができる。会場データ構造および１つまたは複数の追加の会場データ構造に基づいて複数のヒストグラムを生成し表示することができる。例示的なヒストグラムは、たとえば、図１２および図１３に関して図示および説明している。
【０１８７】
いくつかの実施態様では、グラフィカルユーザインターフェースをレンダリングすることができる。グラフィカルユーザインターフェースはイベントデータ構造のグラフィカル表現を含むことができる。グラフィカルユーザインターフェースをユーザに提示することができる。
【０１８８】
例示的なシステム
本明細書に記載の主題および動作のいくつかの実施態様は、デジタル電子回路で、または本明細書で開示した構造およびその構造的等価物を含むコンピュータソフトウェア、ファームウェア、もしくはハードウェアで、あるいはそれらの１つまたは複数の組み合わせで実装することができる。たとえば、いくつかの実施態様では、サーバシステム１０２、プラットフォーム１５０、およびクライアントデバイス１０４ａ−ｃは、デジタル電子回路を使用して、またはコンピュータソフトウェア、ファームウェア、もしくはハードウェアで、あるいはそれらの１つまたは複数の組み合わせで実装することができる。他の例では、処理１４００および１５００は、デジタル電子回路を使用して、またはコンピュータソフトウェア、ファームウェア、もしくはハードウェアで、あるいはそれらの１つまたは複数の組み合わせで実装することができる。
【０１８９】
本明細書に記載のいくつかの実施態様は、デジタル電子回路、コンピュータソフトウェア、ファームウェア、もしくはハードウェアの１つまたは複数のグループまたはモジュールとして、あるいはそれらの１つまたは複数の組み合わせで実装することができる。異なるモジュールを使用することができるが、各モジュールは別個である必要はなく、複数のモジュールを、同一のデジタル電子回路、コンピュータソフトウェア、ファームウェア、もしくはハードウェア、またはそれらの組み合わせにおいて実装することができる。
【０１９０】
本明細書に記載のいくつかの実施態様は、１つまたは複数のコンピュータプログラム、すなわち、データ処理装置によって実行するための、またはその動作を制御するための、コンピュータ記憶媒体上に符号化されたコンピュータプログラム命令の１つまたは複数のモジュールとして実装することができる。コンピュータ記憶媒体は、コンピュータ可読記憶デバイス、コンピュータ可読記憶基板、ランダムもしくはシリアルアクセスメモリアレイもしくはデバイス、あるいはそれらの１つまたは複数の組み合わせとすることができ、またはこれらに含めることができる。また、コンピュータ記憶媒体は伝搬信号ではないが、コンピュータ記憶媒体は、人工的に生成された伝搬信号に符号化されたコンピュータプログラム命令の供給源または供給先とすることができる。コンピュータ記憶媒体は、１つまたは複数の別個の物理的構成要素または媒体（たとえば、複数のＣＤ、ディスク、または他の記憶デバイス）とすることができ、またはこれらに含めることができる。
【０１９１】
「データ処理装置」という用語は、データを処理するための全ての種類の装置、デバイス、および機械、たとえば、例として、プログラマブルプロセッサ、コンピュータ、システムオンチップ、またはこれらのうちの複数個、もしくは組み合わせを包含する。装置は、専用の論理回路、たとえば、ＦＰＧＡ（フィールドプログラマブルゲートアレイ）またはＡＳＩＣ（特定用途向け集積回路）を含むことができる。装置は、ハードウェアに加えて、当該コンピュータプログラムのための実行環境を生成するコード、たとえば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、クロスプラットフォームランタイム環境、仮想マシン、あるいはそれらの１つまたは複数の組み合わせを構成するコードをさらに含むことができる。装置および実行環境は、様々な異なるコンピューティングモデルインフラストラクチャ、たとえば、Ｗｅｂサービス、分散コンピューティング、およびグリッドコンピューティングインフラストラクチャを実現することができる。
【０１９２】
コンピュータプログラム（プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト、またコードとも呼ばれる）は、コンパイル言語またはインタプリタ言語、宣言型言語または手続き型言語を含む、任意の形式のプログラミング言語で記述することができる。コンピュータプログラムは、必要ではないが、ファイルシステムのファイルに対応してもよい。プログラムは、他のプログラムまたはデータ（たとえば、マークアップ言語文書に記憶された１つまたは複数のスクリプト）を保持するファイルの一部に、当該プログラム専用の単一のファイルに、あるいは複数の協調ファイル（たとえば、１つまたは複数のモジュール、サブプログラム、またはコードの一部を記憶したファイル）に記憶することができる。コンピュータプログラムは、１つのコンピュータ上で、あるいは１つの場所に配置されるか、または複数の場所に分散され通信ネットワークによって相互接続された複数のコンピュータ上で実行されるように配備することができる。
【０１９３】
本明細書に記載の処理フローおよびロジックフローの一部は、１つまたは複数のプログラマブルプロセッサが１つまたは複数のコンピュータプログラムを実行し、入力データに作用し出力を生成してアクションを行うことによって、実行することができる。処理フローおよびロジックフローは、専用論理回路、たとえば、ＦＰＧＡ（フィールドプログラマブルゲートアレイ）またはＡＳＩＣ（特定用途向け集積回路）によって実行することもでき、装置はこれらとして実装することもできる。
【０１９４】
コンピュータプログラムの実行に適したプロセッサは、例として、汎用および専用マイクロプロセッサの両方、ならびに任意の種類のデジタルコンピュータのプロセッサを含む。一般に、プロセッサは、読み出し専用メモリもしくはランダムアクセスメモリまたはその両方から命令およびデータを受け取る。コンピュータは、命令に従ってアクションを実行するためのプロセッサと、命令およびデータを記憶するための１つまたは複数のメモリデバイスとを含む。コンピュータは、データを記憶するための１つまたは複数の大容量記憶デバイス、たとえば、磁気、光磁気ディスク、または光ディスクを含んでもよく、またはこれらからデータを受信するかこれらにデータを転送するように動作可能に結合されてもよく、あるいはその両方でもよい。しかしながら、コンピュータはそのようなデバイスを有する必要はない。コンピュータプログラム命令およびデータを記憶するのに適したデバイスは、半導体記憶デバイス（たとえば、ＥＰＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリデバイスなど）、磁気ディスク（たとえば、内蔵ハードディスク、リムーバブルディスクなど）、光磁気ディスク、ならびにＣＤ−ＲＯＭディスクおよびＤＶＤ−ＲＯＭディスクを例として含む、全ての形態の不揮発性メモリ、メディアおよびメモリデバイスを含む。プロセッサおよびメモリは、専用論理回路によって補完することができ、またはこれに組み込むことができる。
【０１９５】
ユーザとの対話を提供するために、情報をユーザに表示するための表示デバイス（たとえば、モニタ、または他の種類の表示デバイス）と、ユーザがコンピュータに入力を提供することが可能なキーボードおよびポインティングデバイス（たとえば、マウス、トラックボール、タブレット、タッチ感応スクリーン、または他の種類のポインティングデバイス）とを有するコンピュータ上で動作を実施することができる。他の種類のデバイスを使用してユーザとの対話を提供することもでき、たとえば、ユーザに提供されるフィードバックは任意の形態の感覚フィードバック、たとえば、視覚フィードバック、聴覚フィードバック、または触覚フィードバックとすることができ、ユーザからの入力は、音響入力、音声入力、または触覚入力を含む任意の形態で受け取ることができる。加えて、コンピュータは、ユーザによって使用されるデバイスとの間でドキュメントを送受信することによって、たとえば、ウェブブラウザから受信した要求に応答してユーザのクライアントデバイス上のウェブブラウザにウェブページを送信することによって、ユーザと対話することができる。
【０１９６】
コンピュータシステムは、単一のコンピューティングデバイス、または近接してまたは一般的には互いに離れて動作し、典型的には通信ネットワークを介して対話する複数のコンピュータを含んでもよい。通信ネットワークの例は、ローカルエリアネットワーク（「ＬＡＮ」）およびワイドエリアネットワーク（「ＷＡＮ」）、相互接続ネットワーク（たええば、インターネット）、衛星リンクを含むネットワーク、およびピアツーピアネットワーク（たとえば、アドホックピアツーピアネットワーク）を含む。クライアントおよびサーバの関係は、コンピュータプログラムがそれぞれのコンピュータ上で動作し、互いとのクライアント−サーバ関係を有することによって生じ得る。
【０１９７】
図１６に、プロセッサ１６００、メモリ１６２０、記憶デバイス１６３０および入出力デバイス１６４０を含む例示的なコンピュータシステム１２００を示す。構成要素１６１０、１６２０、１６３０および１６４０のそれぞれは、システムバス１６５０などによって相互接続することができる。プロセッサ１６１０は、命令を処理してシステム１６００内で実行することが可能である。いくつかの実施態様では、プロセッサ１６１０は、シングルスレッドプロセッサ、マルチスレッドプロセッサ、または他の種類のプロセッサである。プロセッサ１６１０は、メモリ１６２０または記憶デバイス１６３０に記憶された命令を処理することが可能である。メモリ１６２０および記憶デバイス１６３０は、システム１６００内に情報を記憶することができる。
【０１９８】
入出力デバイス１６４０は、システム１６００に対して入出力動作を提供する。いくつかの実施態様では、入出力デバイス１６４０は、ネットワークインターフェースデバイス、たとえば、イーサネットカード、シリアル通信デバイス、たとえば、ＲＳ−２３２ポート、および／または無線インターフェースデバイス、たとえば、８０２．１１カード、３Ｇ無線モデム、４Ｇ無線モデム、５Ｇ無線モデムなどのうちの１つまたは複数を含むことができる。いくつかの実施態様では、入出力デバイスは、他の入出力デバイス、たとえば、キーボード、プリンタおよび表示デバイス１６６０から入力データを受け取り、これらに出力データを送るように構成されるドライバデバイスを含むことができる。いくつかの実施態様では、モバイルコンピューティングデバイス、モバイル通信デバイス、および他のデバイスを使用することができる。
【０１９９】
本明細書は多くの詳細を含むが、これらは特許請求し得るものの範囲への限定としてではなく、特定の例に固有の特徴の説明として解釈されるべきである。本明細書において別個の実施態様の文脈で説明している特定の特徴は、組み合わせることもできる。反対に、単一の実施態様の文脈で説明している様々な特徴は、複数の実施形態において別々に、または任意の好適な部分的組み合わせで実現することもできる。
【０２００】
いくつかの実施態様を説明した。とはいえ、本発明の趣旨および範囲から逸脱することなく様々な修正がなされ得ることは理解されよう。したがって、他の実施態様は以下の特許請求の範囲内にある。
【図１】
0006723453.tif 000002
【図２】
0006723453.tif 000003
【図３Ａ】
0006723453.tif 000004
【図３Ｂ】
0006723453.tif 000005
【図３Ｃ】
0006723453.tif 000006
【図４−１】
0006723453.tif 000007
【図４−２】
0006723453.tif 000008
【図５Ａ】
0006723453.tif 000009
【図５Ｂ】
0006723453.tif 000010
【図６】
0006723453.tif 000011
【図７】
0006723453.tif 000012
【図８】
0006723453.tif 000013
【図９】
0006723453.tif 000014
【図１０Ａ】
0006723453.tif 000015
【図１０Ｂ】
0006723453.tif 000016
【図１１Ａ】
0006723453.tif 000017
【図１１Ｂ】
0006723453.tif 000018
【図１２】
0006723453.tif 000019
【図１３】
0006723453.tif 000020
【図１４】
0006723453.tif 000021
【図１５】
0006723453.tif 000022
【図１６】
0006723453.tif 000023