(58)【調査した分野】(Int.Cl.,DB名)
前記投稿は、前記第1ユーザのプロファイルページに前記第1ユーザにより宣言された状態更新、前記第1ユーザのプロファイルページに宣言されたウォール投稿、前記第2ユーザのプロファイルページに宣言されたウォール投稿、前記第2ユーザにより宣言された状態更新に関する宣言されたコメント、前記第2ユーザにより宣言されたウォール投稿に関する宣言されたコメント、又はユーザアクションの前記第1ユーザによるインタラクションの通知である、請求項2記載の方法。
前記ソーシャルネットワーキングシステムの一部は、前記第1ユーザに関連する地理的エリア内の前記ソーシャルネットワーキングシステムのユーザ、又は前記ソーシャルネットワーキングシステム内の前記第1ユーザに接続されるソーシャルネットワーキングシステムのユーザを含む、請求項5記載の方法。
前記投稿は、前記第1ユーザのプロファイルページに前記第1ユーザにより宣言された状態更新、前記第1ユーザのプロファイルページに宣言されたウォール投稿、前記第2ユーザのプロファイルページに宣言されたウォール投稿、前記第2ユーザにより宣言された状態更新に関する宣言されたコメント、前記第2ユーザにより宣言されたウォール投稿に関する宣言されたコメント、又はユーザアクションの前記第1ユーザによるインタラクションの通知である、請求項12記載のシステム。
前記ソーシャルネットワーキングシステムの一部は、前記第1ユーザに関連する地理的エリア内の前記ソーシャルネットワーキングシステムのユーザ、又は前記ソーシャルネットワーキングシステム内の前記第1ユーザに接続されるソーシャルネットワーキングシステムのユーザを含む、請求項15記載のシステム。
【発明を実施するための形態】
【0005】
特定の実施例は、統合されたソーシャルネットワーク環境を可能にするインフラストラクチャ又はプラットフォーム(以降、インフラストラクチャ及びプラットフォームは、互換的に利用されてもよい)を含むソーシャルネットワーク環境に関する。本開示では、ソーシャルネットワーク環境は、ソーシャルグラフ情報を含むソーシャルグラフに関して説明される。特定の実施例では、ソーシャルネットワーク環境を実現するソーシャルネットワークシステムの1以上の計算システムは、ここに開示されるソーシャルネットワーク環境の実現に用いられるソーシャルグラフを含む1以上のデータ構造を含む、格納する又はアクセスする。特定の実施例では、ソーシャルグラフは、各ユーザノードがソーシャルネットワーク環境の各ユーザに対応するユーザノードを含む。ソーシャルグラフはまた、それぞれが特定のコンセプトに関するコンセプトノードと、それぞれがソーシャルネットワーク環境のユーザ間の現在の興味の特定のトピックに関する一時的であってもよいし、そうでなくてもよいトッピックノードなどの他のノードを含むものであってもよい。特定の実施例では、各ノードは、ソーシャルネットワーク環境においてホスト又はアクセス可能な対応するウェブページ(“プロファイルページ”)を有する、表す、又は表される。例えば、ユーザノードは、対応するユーザがコンテンツを追加し、宣言を行い、及びそうでない場合には自らを表現することが可能な対応するユーザプロファイルページを有してもよい。例えば、後述されるように、例えば、ユーザプロファイルページ、コンセプトプロファイルページ、又はトピックプロファイルページなどのソーシャルネットワーク環境においてホスト又はアクセス可能な各種ウェブページは、ユーザがコンテンツ、ステータス更新、メッセージ、ユーザや他のユーザにより提出又は送信された他の投稿に関するコメントを含むコメントを投稿し、興味、上述した投稿と共にページや特定のコンテンツの何れかに対する“嗜好”(後述される)を宣言し、又は自らを表現するか又は各種アクションを実行する(以降、上記及び他のユーザアクションは、“投稿”又は“ユーザアクション”とまとめて参照されてもよい)ことを可能にする。一部の実施例では、投稿は、各自のプロファイルページ、他のユーザプロファイルページ、コンセプトプロファイルページ、トピックページ又は他のウェブページ若しくはウェブアプリケーションを介し、メディアコンテンツ(フォト、ビデオ、音楽、テキストなど)、URL及び他のノードなどのさらなるコンテンツへのリンク又は参照を含むものであってもよい。このような投稿、宣言又はアクションは、その後、オーサリングユーザと共に他のユーザにより閲覧可能となってもよい。特定の実施例では、ソーシャルグラフはさらに、各エッジがソーシャルグラフの対応するノードペア間の接続を規定又は表す複数のエッジを含む。
【0006】
特定の実施例では、ユーザが、例えば、上述されたものなどの投稿を提出し、ワードやクエリをサーチボックスにタイプし、ハイパーリンクをクリックし、又は特定のページに単に訪問したりなどの他のアクションを実行すると、投稿又はアクションは、ここに開示されるソーシャルネットワークシステムにより受信又は検出される。ソーシャルネットワークシステムは、ポストの1以上のトピック(投稿のテーマ、メインアイデア又は主題など)又は実行されたアクションに関連するトピック(サーチ又はアクセスされたページのテーマ、メインアイデア、タイトル又は主題など)を決定又は抽出するため、投稿のコンテンツ(投稿におけるワード、メディア又は他のコンテンツ、又は“嗜好”のケースでは、“嗜好された”投稿におけるワード、メディア又は他のコンテンツなど)又は実行されたアクションに関連する各種情報(サーチボックスに入力されるワード、ハイパーリンクをクリックするときにアクセスされる情報又はリクエストされたウェブページに提供される情報など)を解析する。以降、ソーシャルネットワークシステムは、トピックのデータベース又はインデックスと、同一の又は類似するトピックの1以上を共有する他のユーザから何れか関連する投稿を特定するため、他のユーザから以前に受信した投稿の関連するデータベースを検索する。特定の実施例では、その後、ソーシャルネットワークシステムは、例えば、テキストや他のコンテンツを含む関連する投稿に関する1以上の関連する投稿又は情報と共に、特定の実施例では、関連する投稿のオーサリングユーザに関する情報をユーザへの提示のため送信する。一実現形態では、関連する投稿は、ユーザに時間的に近い1以上の関連する投稿が提示されるように、ユーザによって実行されたアクション又は提出された投稿に関して実質的にリアルタイムに送信される。関連する投稿の特定及び提示は、ユーザの投稿又はアクションのトピック及び関連する投稿の周囲の自発的な会話を可能にするための基礎を構成する。より詳細には、ソーシャルネットワークシステムは、ユーザにより提出された投稿又は検出されたアクションに対する最も大きな又は少なくとも閾値関連性を有する投稿のデータベースに格納される1以上の関連する投稿を特定し、関連する投稿又は関連する投稿に関する情報の1以上を、特定の実施例では、1以上のインタラクティブ要素と共に多数のフォームの1以上によりユーザに提示するため、トピックのインデックス又はデータベースを検索してもよい。このように、ソーシャルネットワーク環境は、特定の実施例ではユーザが投稿を提出するか、又はアクションを実行することによるさらなる入力なく、ユーザ及び関連する投稿のオーサリングユーザの間のやりとりを円滑化する。すなわち、特定の実施例では、ソーシャルネットワークシステムは、ユーザが自分自身の投稿を提出するか、又は特定のアクションを実行した後、ユーザによるさらなる指示を要求することなく、関連する投稿を検索及び特定する。
【0007】
一実施例では、ソーシャルネットワーク環境により円滑化される会話は、一実施例では、ライブ更新コメント機構を含む、提出された及び関連する投稿のオーサリングユーザに提示されるポストに関する対応するコメントとポストの1以上のフィードとして実現されてもよい。例えば、第1ユーザが第1投稿を提出し、第2ユーザが第1投稿と同一のトピックに関する第2投稿を以降に提出する場合、ソーシャルネットワークシステムは、第1ユーザの投稿又は第1ユーザの投稿又は第1ユーザに関する情報を第2ユーザに提示し、さらに第1投稿又は第1投稿と第2投稿との間で共有されるトピックに関してコメント、会話又はやりとりする1以上のインタラクティブ要素又は機構を第2ユーザに提供してもよい。特定の実施例では、ソーシャルネットワークシステムはまた、第2ユーザ又は関連する投稿を提出した他のユーザが第1ユーザの投稿にコメント又はやりとりすると、第1ユーザに通知する。他の実施例では、会話は、インタラクティブトピックチャットルームタイプ設定により実現されてもよい。さらなる実施例では、ソーシャルネットワークシステムは、ユーザがトピックに関して会話することを可能にする投稿のトピックに関するウェブページ又は他のアウトレットに投稿を提出したユーザを示してもよい。
【0008】
投稿の間の関連付けは、複数のファクタの1以上に基づき行われてもよい。特定の実施例では、ユーザが提出した投稿又は実行したアクションに関する投稿を特定するための主要なファクタ、又は何れの関連する投稿が最も関連し、ユーザに提示されるべきかの判定は、提出された投稿のトピック又はユーザアクションに関連するトピックである。他のファクタは、例えば、オーサリングユーザに対するユーザの地理的近接性又はソーシャルグラフの近接性、関連する各投稿が提出された回数、提出された投稿のトピックの人気又は“流行”、又はユーザにより宣言され、ユーザのプロファイルと共に格納されている情報を解析することによって特定されるようなユーザの興味と関連する投稿のトピックとの関係を含むものであってもよい。特定の実施例では、ソーシャルネットワークシステムは、ソーシャルネットワーク環境全体(ソーシャルネットワーク環境のすべてのユーザなど)において人気のあるグローバルトレンドトピック又はソーシャルネットワーク環境の一部(特定の地理的位置又は地域内のユーザやソーシャルグラフに規定されるユーザの社会的近接性の範囲内のユーザなど)において人気のあるトレンドトピックを特定及び追跡してもよい。一実施例では、ソーシャルネットワークシステムは、提出された投稿のトピックが投稿を提出したユーザに地理的又は社会的に近接するユーザのトレンドトピック又はグローバルトレンドトピックであると判断された場合、投稿を提出したユーザに関連する投稿を提示するのみである。他の実施例では、ユーザは、ソーシャルネットワーキングシステムが関連する投稿をユーザに提示すべき時を指示するため、1以上の設定を設定してもよい。例えば、ユーザは、ユーザの投稿のトピックがトレンドトピックであると判断されると、投稿の提出に応答してユーザに関連する投稿のみが提示されるように、又はユーザの友人であるユーザによりオーサリングされる関連する投稿、同一の地理的領域にいるユーザによりオーサリングされる関連する投稿、ユーザの投稿の前の及び相対的な指定された期間内に提出された関連する投稿、又は上記若しくは他の設定の組み合わせしかユーザに提示されないように、1以上の設定を予め指定してもよい。ユーザはまた、特定のトピックやトピックカテゴリの投稿や特定のユーザ若しくはユーザグループからの投稿など、ユーザに提示されることを所望しない投稿又はコンテンツを指定することが可能とされてもよい。
【0009】
特定の実施例では、関連する投稿の高度な選択と共に、ユーザが投稿を提出するか、特定のアクションを実行した後にユーザに提示されるべき関連する投稿を検索及び特定すべき他のオーサリングユーザのプールの高度な選択により投稿したユーザ間の最も魅力のある会話を促進することが目的である。ソーシャルネットワーク環境のユーザは、しばしば短時間のウィンドウ内の他のユーザと同一の又は類似するトピックに関する投稿を提出し、他のユーザがまたそのような投稿を提出していることに気付いてもよいし、気付かなくてもよい。ソーシャルネットワーク環境は、ユーザが共有する興味のトピックに関してアイデアを共有するか、又は自らを表現し続けることが可能となるように、同一の又は類似するトピックに関する他のユーザにより行われた投稿をユーザに示し、これにより、一般には互いに知らないこれらのユーザの間の会話を刺激及び円滑化することによって、ソーシャルネットワーク環境においてユーザの関与を円滑化する。従って、特定の実施例は、互いに友人でないユーザ、同一の地理的領域内にいないユーザ、又はソーシャルグラフにおいて直接的又は間接的に接続されていないユーザの間のやりとりを含むユーザ間のやりとりを刺激、円滑化又は加速する。このユーザ間の関与の増大は、一般にソーシャルネットワークの全体的な成長及び健全性を促進する。
【0010】
このようなソーシャルネットワーキングプラットフォームの各種部分は、限定的でなく例示的に以降でより詳細に説明されるように、各種ソフトウェアコンポーネント又はプロセスが特定の実施例を実現することを可能にするハードウェアアーキテクチャ又はソフトウェアフレームワークを介し実現されてもよい。プラットフォームは、1以上のハードウェア又はソフトウェアコンポーネントを含むものであってもよく、これらの1以上は、1以上の統合された又は分散された計算システムに配置又は実現されてもよい。さらに、ここで用いられる“又は”とは、“又は”と共に“及び”を意味し、すなわち、“又は”は、明示的に述べられるか、暗黙的に示唆されない場合、“及び”を必ずしも排除しない。
【0011】
上述されるように、各種実施例では、1以上の開示されるウェブページ又はウェブアプリケーションは、ソーシャルネットワーク環境又はソーシャルネットワーキングサービスに関連付けされる。ここで用いられる“ユーザ”は、このようなネットワーク環境とやりとりする又は通信する個人(人間のユーザ)、エンティティ(企業、会社又は第三者アプリケーション)又はグループ(個人又はエンティティなど)であってもよい。ここで用いられる“登録されたユーザ”とは、ソーシャルネットワーク環境内で公式に登録されたユーザを表す。(一般に、ここに説明されるユーザ及びユーザノードは、他の実施例では必ずしも必要ではないが、登録されたユーザのみを表し、すなわち、他の実施例では、ここに説明されるユーザ及びユーザノードは、ここに説明されるソーシャルネットワーク環境に登録されていないユーザを表すものであってもよい。)特定の実施例では、各ユーザは、ソーシャルネットワーク環境により格納、ホスト又はアクセス可能であって、他のユーザのすべて又は選択された一部によって閲覧可能な対応する“プロファイル”ページを有する。一般に、ユーザは、自分自身の各プロファイルページのすべて又は一部と共に、潜在的には、例えば、ホームページ、ウェブアプリケーションをホストするページなどを含む特定のユーザによって又はために作成された他のページに対する管理権限を有する。ここで用いられる“認証されたユーザ”とは、ユーザが管理権限を有するか、又は請求されたユーザの適切に信頼された代表を有する対応するプロファイルページにおいて請求されるユーザであるとして、ソーシャルネットワーク環境により認証されているユーザを表す。
【0012】
ここで用いられる“接続”とは、ソーシャルネットワーク環境の適切なデータ構造において論理的に規定可能であり、接続が行われたソーシャルネットワーク環境のコンセプト又はユーザに対応するノード間の関係(以降、エッジと呼ばれる)を規定するのに利用可能なソーシャルネットワーク環境のユーザ又はコンセプトの間の規定された関係を表すものであってもよい。ここで用いられる“友人関係”とは、ソーシャルネットワーク環境のユーザペア間の規定された社会的関係などの接続を表す。ここで用いられる“友人”とは、2人のユーザ間にエッジを生成する接続、友人関係、関連付け又は関係を他のユーザが形成したソーシャルネットワーク環境の何れかのユーザを表す。例えば、2人の登録されたユーザは、例えば、2人のユーザの一方が、その後に当該リクエストを承認又は拒絶するかもしれない他方のユーザに友人関係リクエストを送信した又は送信させた結果として、友人関係のために他方を選択することによって、互いに明示的に友人になるかもしれない。あるいは、友人関係又は他の接続は、自動的に確立されてもよい。このような社会的友人関係は、他のユーザ、特に登録されたユーザの一方又は双方と友人であるユーザには可視的とされてもよい。登録されたユーザの友人はまた、登録されたユーザのプロファイル又は他のページに関するコンテンツ、特に、ユーザにより生成又は宣言されたコンテンツに対する増大したアクセス権限を有してもよい。しかしながら、ソーシャルグラフにおいてユーザ間で確立された友人接続を有する2人のユーザは実生活(ソーシャルネットワーキング環境外)において必ずしも友人(従来の意味で)である必要はないことに留意すべきである。例えば、一部の実現形態では、ユーザは、会社又は他の人間でないエンティティであってもよく、従って、ワードの従来の意味で人間がユーザである友人となることはできない。
【0013】
ここで用いられる“ファン”とは、ソーシャルネットワーク環境においてアクセス可能な特定のウェブページ、ウェブアプリケーション又は他のウェブコンテンツのサポータであるユーザを表す。特定の実施例では、ユーザがあるウェブページのファンであるとき(当該ウェブページの“ファン”である)、ユーザは、当該ページにおいて他の登録されたユーザ又は一般に閲覧する公衆に対してファンとしてリストされてもよい。さらに、ユーザのアバタ又はプロファイルピクチャがページ上に示されてもよい(後述されるページの何れかにおいて)。ここで用いられる“嗜好”とは、例えば、限定することなく、ユーザ及び特に登録又は認証されたユーザが好きである、ファンである、支持している、楽しんでいる、又はポジティブな見解を有していると宣言又は明らかにした投稿、コメント、興味、リンク、メディア(写真、写真アルバム、ビデオ、曲など)、コンセプト、エンティティ又はページなどのものを表す(一部の実現形態では、ユーザは、ソーシャルネットワークシステム又は環境によりホスト又はアクセス可能な何れかのページ上のバーチャルなものに対する嗜好を示すか、又は宣言してもよい)。一実施例では、ユーザが何かの“ファン”であると示す又は宣言すること、又は“嗜好”を示す又は宣言することは、ソーシャルネットワーキング環境において等価的に処理及び規定され、互換的に利用されてもよい。同様に、コンセプトやコンセプトプロファイルページなどの何かの“ファン”を自ら宣言すること、又は自らそれが“好き”であることを宣言することは、ソーシャルネットワーキング環境において等価的に規定され、互換的に利用されてもよい。さらに、ここで用いられる“興味”は、ユーザのプロファイルページに提示されるユーザにより宣言された興味などのユーザにより宣言された興味を表す。ここで用いられる“所望する”とは、ユーザが所望するバーチャルな何かを表す。上述されるように、“コンセプト”とは、例えば、スポーツ、スポーツチーム、音楽のジャンル、作曲家、趣味、会社(企業)、エンティティ、グループ、セレブリティ、登録されたユーザでない人、又は一部の実施例では他のユーザ(認証されていないユーザなど)などへの興味、嗜好又は関係を宣言又は明らかにするバーチャルな何かを表す。例えば、著名なプロフットボールプレーヤーである“Jerry Rice”のためのコンセプトノード及びコンセプトプロファイルページが複数のユーザ(Jerry Rice以外など)の1以上により作成及び管理され、ソーシャルグラフはさらに、Jerry Rice自身(又はJerry Riceの信頼された又は権限のある代理人)により作成及び管理されるJerry Riceのユーザノード及びユーザプロファイルページを含む。
【0014】
特定の実施例では、以下により詳細に説明されるように、友人接続又は友人関係は、ソーシャルグラフのユーザノードの間のエッジにより規定又は表される論理接続を規定又は示し、一般に興味や関連付けを示す嗜好、所望、ファン又は他の接続は、ソーシャルグラフにおけるユーザノードとコンセプトノードとの間の論理接続又はエッジを規定する(また、一部の実施例では、2つのユーザノード間、2つのコンセプトノード間)。
【0015】
特定の実施例は、複数のネットワークにアドレス可能なシステムを含む、インターネットなどのワイドエリアネットワーク環境において又は関連して実行される。
図1は、各種実施例が実行可能な一例となるネットワーク環境を示す。ネットワーククラウド60は、一般にここに説明される各種システム及びホストが通信可能な1以上の相互接続されたネットワークを表す。ネットワーククラウド60は、パケットベースワイドエリアネットワーク(インターネットなど)、プライベートネットワーク、無線ネットワーク、衛星ネットワーク、セルラネットワーク、ページングネットワークなどを含むものであってもよい。
図1に示されるように、特定の実施例は、ソーシャルネットワーク環境20とクライアント装置30と共に、一部の実施例では、1以上の第三者ウェブアプリケーションサーバ40又は1以上の企業サーバ50を有するネットワーク環境に関して実行される。クライアント装置30、ウェブアプリケーションサーバ40及び企業サーバ50は、ネットワークサービスプロバイダ、無線キャリア、ルータ若しくはネットワーキングスイッチのセット又は他の何れか適切な手段を介しネットワーク環境及びネットワーククラウド60に動作接続されてもよい。
【0016】
一実施例では、ソーシャルネットワーク環境20は、クライアント装置30のユーザがここに説明されるようなユーザプロファイルなどのコンテンツにアクセスし、互いに通信又はやりとりすることを可能にする計算システムを有する。ソーシャルネットワーク環境20は、各種実施例では、
図2に示されるように、1以上の物理サーバ22a又は22b(以降において、サーバ22とまとめて参照される)と共に、データストア24としてまとめて参照される1以上のデータストア(各種統合又は分散された計算システム、データベース又はデータサーバの1以上により実現されてもよい)を有するネットワークアドレス可能なシステムである。1以上の物理サーバ22は、例えば、ルータ又はネットワーキングスイッチ26のセットを介しコンピュータネットワーク60に動作接続される。一実施例では、1以上の物理サーバ22によりホストされる機能は、ウェブ又はHTTPサーバ、FTPサーバと共に、限定することなく、CGI(Common Gateway Interface)スクリプト、PHP(PHP Hyper−text Preprocessor)、ASP(Active Server Pages)、HTML(Hyper Text Markup Language)、XML(Extensible Marup Language)、Java、Javascript、AJAX(Asynchronous JavaScript and XML)などを含むものであってもよい。
【0017】
物理サーバ22は、ソーシャルネットワーク環境20の処理に関する機能をホストする。例えば、ソーシャルネットワーク環境20は、1以上のクライアント装置30の1以上のユーザが情報を閲覧及び投稿すると共に、ウェブサイト、ウェブページ又はウェブアプリケーションを介し互いに通信することを可能にするウェブサイトをホストする。以降、サーバ22は、ソーシャルネットワーク環境22などと共に、他のコンテンツ配信サーバ、データストア又はデータベースをホストする多数のサーバを含むものであってもよいが、サーバ22と呼ばれてもよい。データストア24は、コンテンツオブジェクトを含むデジタルデータオブジェクトとしてソーシャルネットワーク環境の処理に関する及び可能にするコンテンツ及びデータを格納する。特定の実現形態では、データオブジェクトは、典型的にはデータファイル、データベース又はレコードに格納又は実現されるデジタル情報アイテムである。コンテンツオブジェクトは、テキスト(ASCII、SGML、HTMLなど)、イメージ(jpeg、tif、gifなど)、グラフィックス(ベクトルベース又はビットマップ)、オーディオ、ビデオ(mpegなど)、又は他のマルチメディア及びこれらの組み合わせを含む多数の形態をとりうる。コンテンツオブジェクトデータはまた、実行可能なコードオブジェクト(ブラウザウィンドウ又はフレーム内で実行可能なゲームなど)、ポッドキャストなどを含むものであってもよい。論理的には、データストア24は、1以上の物理システムに格納されている論理的に関連するレコード又はファイルの統合されたコレクションとして情報を維持するリレーショナルデータベース及びオブジェクト指向データベースなどの各種の別々の又は統合されたデータベースの1以上に対応する。構造的には、データストア24は、一般にデータストレージ及びマネージメントシステムの大きなクラスの1以上を含む。特定の実施例では、データストア24は、1以上のデータベースサーバ、マスストレージメディア、メディアライブラリシステム、ストレージエリアネットワーク、データストレージクラウドなどのコンポーネントを含む何れか適切な物理システムにより実現されてもよい。一実施例では、データストア24は、1以上のサーバ、データベース(MySQLなど)及び/又はデータウェアハウスを含む。
【0018】
データストア24は、異なるソーシャルネットワーク環境20のユーザ、クライアント装置30、ウェブアプリケーションサーバ40又は企業サーバ50に関連するデータと共に、特定の実施例では、各種コンセプト及びトピックに関連するデータを有してもよい。上述されるように、特定の実施例は、統合されたソーシャルネットワーク環境を可能にするプラットフォームを有するソーシャルネットワーク環境20に関する。以下の実施例では、ソーシャルネットワーク環境は、ソーシャルグラフ情報を含むソーシャルグラフに関して説明又は実現されてもよい。特定の実施例では、データストア24は、ここで説明されるソーシャルネットワーク環境を実現するのに用いられるソーシャルグラフ情報が格納されるソーシャルグラフデータベース204を有する。特定の実施例では、データストア24に、特にソーシャルグラフデータベース204にソーシャルネットワーク環境20によって格納されるソーシャルグラフ情報は、複数のノードと、対応するノード間の接続を規定する複数のエッジとを有する。特定の実施例では、ノード又はエッジ自体は、一部は対応するプロファイル又は他のページ上で実際にレンダリングされる対応するユーザ、コンセプト又はトピック(後述される)の識別子、属性及び情報(対応するプロファイルページの情報を含む)を有するデータオブジェクトである。ノードはまた、各ノードに対応するプロファイルページのレンダリングに関してコンテンツをレンダリングするのに利用される他のオブジェクト、データ構造又はリソースへのポインタ又はリファレンスを含むものであってもよい。
【0019】
特定の実施例では、ソーシャルグラフの複数のノード及びエッジは、データストア24にデータオブジェクトとして格納され、特に上述されるようにソーシャルグラフデータベース204に格納される。さらに、後述されるように、データストア24はさらに、1以上のサーチ可能な又はクエリ可能なデータベース、データストア、ソーシャルグラフデータベース204をインデックス処理することによって生成されるノード又はエッジのインデックス、及びユーザ又は他のソースから又はために受信された他のコンテンツを含むものであってもよい。特定の実施例では、管理されたノードの第1セットは、それぞれが各ユーザ及び当該ユーザの各ユーザプロファイルページに対応するユーザにより管理されるノード(以降、“ユーザノード”と呼ばれる)である。特定の実施例では、ユーザノードに対応するユーザプロファイルページは、各自のオーナー(登録された)ユーザによって及びよってのみ修正、書き換え、又は管理されてもよい(そうでない場合、一般にソーシャルネットワーク環境20のオフィシャルな管理者は、例えば、登録されたユーザの一部に対する良心的な又は不適切なアクションの結果として、ユーザのプロファイルページを修正又は削除するためのアクセスを所望又は要求する)。
【0020】
各クライアント装置30、ウェブアプリケーションサーバ40又は企業サーバ50は、一般にコンピュータネットワークを介し通信する機能(遠隔的など)を含むコンピュータ、計算システム又は計算装置(
図8を参照して後述されるものなど)であってもよい。特に、クライアント装置30は、他の適切な計算装置のうちデスクトップコンピュータ、ラップトップコンピュータ、PDA(Personal Digital Assistant)、車内又は車外ナビゲーションシステム、スマートフォン、他のセルラ若しくはモバイル装置、モバイルゲーム装置であってもよい。クライアント装置30は、
図3に示されるように、ウェブブラウザ206(例えば、MICROSOFT WINDOWS INTERNET EXPLORER,MOZILLA FIREFOX,APPLE SAFARI,GOOGLE CHROME,OPERAなど)などの1以上のクライアントアプリケーションを実行して、コンピュータネットワーク60を介しコンテンツにアクセス及び閲覧してもよい。特定の実現形態では、クライアントアプリケーションは、クライアント装置30のユーザがソーシャルネットワーク環境20、ウェブアプリケーションサーバ40又は企業サーバ5−によりホストされるリソースなど、抽出される特定のネットワークリソースのアドレスを入力することを可能にする。これらのアドレスは、URL(Uniform Resource Locator)とすることができる。さらに、ページ又は他のリソースが抽出されると、クライアントアプリケーションは、ユーザが他のリソースへのハイパーリンクを“クリック”すると、他のページやレコードへのアクセスを提供してもよい。例えば、このようなハイパーリンクは、ウェブページ内に配置され、ユーザが他のページのURLを入力し、当該ページを抽出するための自動的な方法を提供するようにしてもよい。
【0021】
より詳細には、クライアント装置30のユーザがソーシャルネットワーク環境20によりホストされる特定のウェブページ(以降において、ターゲットとなる構造化されたドキュメントと呼ばれる)、又はウェブアプリケーションサーバ40によりホストされ、ソーシャルネットワーク環境20に関して利用可能とされるウェブアプリケーションを閲覧することを所望するとき、ユーザのウェブブラウザ206又は他のクライアントサイドの構造化されたドキュメントレンダリングエンジン若しくは適切なクライアントアプリケーションは、ソーシャルネットワーク環境へのリクエストを定式化及び送信する。当該リクエストは、一般にURL又は他のドキュメント識別子と共に、メタデータ又は他の情報を含む。例えば、当該リクエストは、ユーザ識別子などのユーザを特定する情報と共に、ユーザのクライアント計算装置30上で実行されるウェブブラウザ206又はオペレーティングシステムを特定又は特徴付ける情報を含むものであってもよい。当該リクエストはまた、ユーザのクライアント装置の地理的位置又は論理的なネットワーク位置と共に、当該リクエストが送信された時刻を特定するタイムスタンプを含むものであってもよい。
【0022】
図3に示される一例となる実現形態では、ソーシャルネットワーク環境20によりホストされるウェブページや構造化されたドキュメントに対するリクエストが、ソーシャルネットワーク環境20により受信されると、ソーシャルネットワーク環境20内で実行される1以上のページ生成プロセス200は、典型的には、HTML、XML又は他のウェブブラウザによりサポートされている構造化されたドキュメントの形式によりベースウェブページを生成する。生成された構造化されたドキュメントは、その後、レスポンスで送信され、当該レスポンスは、クライアント装置30のウェブブラウザ206によるレンダリングのためHTTP又は他の適切な接続を介し要求元クライアント30に1以上の部分又は部分的なレスポンスを有してもよい。構造化されたドキュメントは、送信されたドキュメント内に埋め込まれた1以上のリソース(例えば、JavaScriptスクリプト、コードセグメント又はリソース、CSS(Cascading Style Sheet)コードセグメント又はリソース、イメージデータ又はリソース、ビデオデータ又はリソースなど)又は当該リソースへのリファレンスを含むものであってもよい。例えば、HTMLドキュメントに埋め込まれるリソースは、一般にリソースのタイプに依存してスクリプト要素、イメージ要素又はオブジェクト要素内に含まれるか、又は指定されてもよい。リソースを参照又は指定する要素は、ウェブページを要求したクライアント装置30に対する、ソーシャルネットワーク環境20内又は1以上の外部位置にあるサーバ又はデータストア内にあるリソースの位置を特定するソース属性(srcなど)を含む。典型的には、レスポンスを受信すると、クライアント装置30において実行されるウェブブラウザ206又は他のクライアントドキュメントレンダリングアプリケーションは、その後、受信した構造化されたドキュメントのDOM(Document Object Model)表現を構成し、ドキュメントに埋め込まれたリソース(1以上の他の外部位置にあってもよい)を要求する。
【0023】
一実現形態では、ソーシャルネットワーク環境20のユーザがまず所与のユーザセッションにおいてソーシャルネットワーク環境20からウェブページを要求すると、ソーシャルネットワーク環境20からユーザのクライアント装置30に送信されたレスポンスは、クライアント装置においてログインページをレンダリングするためのページ生成プロセス202により生成される構造化されたドキュメントを含む。その後、ユーザは、自分のユーザログイン秘密(ユーザ識別子及びパスワードなど)を入力し、その後、ユーザのクライアント装置30からソーシャルネットワーク環境20に送信される。ユーザの認証が成功すると、ソーシャルネットワーク環境20は、その後、ユーザのクライアント装置においてユーザホームページ(
図5などを参照)又はユーザプロファイルページ(
図4A,4Bなどを参照)をレンダリングするためのページ生成プロセス202により生成される構造化されたドキュメントを含むレスポンスをユーザのクライアント装置30のユーザのウェブブラウザに送信する。
【0024】
図4Aは、ユーザノードに対応するユーザの一例となるユーザプロファイルページを示す。特定の実施例では、ユーザプロファイルページは、例えば、ユーザのプロファイルページ又はユーザホームページを介し管理ユーザにより設定又は変更可能なプライバシ設定に依存して、ページの管理ユーザ、ユーザの友人及び他の友人でないユーザに可視的である。ユーザプロファイルページは、例えば、Wall(フィード)タブ401a,infoタブ401b,Photosタブ401c及びBoxesタブ401dなどを含む1以上のタブ401を選択することを介し閲覧又はアクセス可能ないくつかの異なるサブページを有してもよい。例えば、
図4Aに示される実施例では、infoタブ401bが選択される。infoタブ401bが選択されると表示される情報(info)セクションは、一般に各プロファイルページのユーザに関する情報を表示し、ユーザが各ユーザに関する情報を入力及び表示することを可能にする。同様に、ユーザは、プロファイルページの管理ユーザによりアップロードされる写真を閲覧するためPhotosタブ401Cを選択するか、又はプロファイルページのユーザがユーザ又は他のユーザがプロファイルページを閲覧することによって閲覧用の写真にキャプションをアップロード、編集又は追加することを可能にするものであってもよい。プロファイルページの管理ユーザは、ユーザプロファイルピクチャ403として表示するため、Photosタブ401cにアップロードされた特定の写真を選択してもよい。一実現形態では、ユーザのプロファイルピクチャ403は、メッセージを他のユーザに送信し、プロファイルページを編集し、ユーザの友人を閲覧し、又はユーザの写真を閲覧するためのオプションなどの他の機能と共に、何れのタブ401が選択されても、ページの“chrome”(ボーダ)領域に表示されてもよい。一部の実現形態では、サーチバー又はサーチインタフェースがまた、ユーザがサーチすることを所望する他のユーザの名前、コンセプト、トピック又は投稿などの情報をタイプすることを可能にするユーザプロファイルページ(他のページと共に)のchromeにレンダリングされる。
【0025】
一般に、ユーザプロファイルページを介しユーザ及び他のユーザにアクセス可能又は可視的な情報多く又はすべては自己宣言され、すなわち、ユーザは、ユーザプロファイルページが生成されるとデフォルトにより自動的に出現してもよいし、又はそうでなくてもよい各種セクション又は形式により情報又はコンテンツをタイプ又は入力する。特定の実施例では、ユーザは、ユーザがソーシャルネットワーク環境20にログインする何れの時点でも、自らのユーザプロファイルページを編集してもよい。例えば、ユーザプロファイルは、ソーシャルネットワーク環境20により可能とされるソーシャルネットワークの各ユーザを記述したデータを含み、例えば、それは、適切な名前(人のファースト、ミドル及びラスト、トレード名又は会社の企業名など)、経歴、人口統計、及び他のタイプの記述情報をInfoタブ401bの下の基本情報セクション402に含めてもよい。基本情報セクション402はさらに、ユーザの性別、現在の居住都市、誕生日、地元、関係状態、政治的見解、ユーザが求めているもの、又はユーザがソーシャルネットワークをどのように利用しているかなどを含むものであってもよい(例えば、友人、関係、交際、ネットワーキングなどを求めるためなど)などを含むものであってもよい。
【0026】
特定の実施例では、ユーザプロファイルページはまた、ユーザがより多くの個人的宣言を入力可能な個人情報セクション406を有してもよい。例えば、個人情報セクション406は、例えば、スポーツや音楽などのユーザが参加又は楽しむ各種活動を宣言可能なサブセクション408を有してもよい。例えば、セクション408において、ユーザは、例えば、単に活動をリストすることによってこれらの活動を宣言してもよい。例えば、ユーザは、“ウェイトリフティング、ハイキング、卓球のプレイ及びフーズボール”をリストし、又は“私はウェイトリフティングを楽しみ、私はハイキングが好きであり、私は卓球をプレイするのが好きであり、私はフーズボールが得意である”などのフレーズを利用してもよい。ユーザは、例えば、カンマ、セミコロン、ダッシュ、又はキャリッジリターンなどにより自らの宣言した活動(及び後述された他の宣言)を分離又は描写してもよい。一例となる個人情報セクション406はまた、ユーザが各種興味を宣言してもよいサブセクション410を有してもよい。再び、ユーザは、例えば、“読書及び写真”などをタイプし、又は“私は読書が好きであり、写真が好きである”などのフレーズを利用することによって、このような興味をリストしてもよい。他の例として、興味セクション406は、ユーザが自らが好きな又は興味のある音楽を宣言するフェイバリット音楽サブセクション412、フェイバリットテレビ番組サブセクション414、フェイバリット映画サブセクション416、フェイバリット書籍サブセクション418、フェイバリット引用サブセクション420、及びユーザが以前に記述したセクションに適合しない自らに関する一般的な宣言を入力可能な一般“自分に関する”サブセクション422を含むものであってもよい。
【0027】
特定の実施例では、ユーザプロファイルページはまた、ユーザが、例えば、電子メールアドレス、電話番号及び居住都市などを含む各種コンタクト情報を入力可能なコンタクト情報セクション424を有してもよい。ユーザプロファイルページはまた、ユーザが自分の教育履歴を入力可能な教育及び仕事セクション426を有してもよい。例えば、ユーザは、単に“スタンフォード大学”とタイプすることによって、“私はスタンフォード大学に通っていた”とタイプすることによって、又はメニューインタフェースからスタンフォード大学を選択することによって、自分がスタンフォード大学に通っていたことをセクション426において宣言してもよい。ユーザはまた、例えば、授与した学位、学位の分野、卒業日などのより具体的な情報を記述してもよい。他の例として、セクション426は、ユーザがユーザの職歴を入力することを可能にするものであってもよい。例えば、ユーザは、単に“企業Z”をタイプすることによって、“私は企業Zで働いている”をタイプすることによって、又はメニューから企業Zを選択することによって、企業Zで働いていることを宣言してもよい。
【0028】
特定の実施例では、ユーザプロファイルページはまた、ソーシャルグラフデータベース204に格納されているソーシャルグラフのエッジにより規定されるようなユーザの友人のすべて又は一部を表示する友人セクション428(ページのchrome又は他の領域に可視的とされてもよい)を含む。特定の実施例では、ユーザは、友人に関連する名前又はサムネイルイメージ429上でクリックし、選択された友人のユーザプロファイルページにユーザを差し向けてもよい。
【0029】
特定の実施例では、他の第2のユーザに関してユーザがとるアクション、第2のユーザがユーザの友人であるか否か、及び特定の実施例では、ユーザが各種コンセプト、トピック又は他のノードに関してとるアクションは、一般にWall(フィード)タブ401aの下のウォール(フィード)セクション432内のセクション又はサブセクションとして閲覧可能な最近の活動セクション430に表示されてもよい。一般に、ウォールセクション432は、ユーザ及び友人が確認するための入力ボックス434を介しテキスト又は他のコンテンツを含むメッセージをユーザ及び友人が投稿すると共に、当該投稿に対してなされるコメントを含むウォールに対する投稿に関して自らをコメント、嗜好又は表現することを可能にするすべてのユーザのプロファイルページ上のスペースである。
【0030】
図5は、ユーザの一例となるホームページを示す。一般に、ユーザホームページは、ホームページが作成されたユーザに対してのみ可視的である。ユーザプロファイルページと同様に、ユーザホームページは、ユーザに各種情報を表示し、いくつかの選択可能な又はインタラクティブな要素を含むものであってもよい。例えば、図示された実施例では、ページのメイン部分又はボディは、ユーザの友人により提出された状態の交信を含むフィード又はニュースフィード500(ユーザアバタ又はサブネイルイメージ501により示される)と共に、例えば、ユーザの友人により投稿されたメッセージ、コメント又は他のコンテンツなどを含む投稿を表示している。一実施例では、ニュースフィード500は、ホームページにアクセス及びレンダリングすると、ユーザにデフォルトで表示される。他の実施例では、他の情報がデフォルトにより表示されてもよい。さらなる他の実施例では、ユーザは、自らのホームページにアクセスすると、何れの情報がユーザに提示されるか決定する設定をホームページを介し設定してもよい。ニュースフィード500はまた、ニュースフィードリンク502をクリック又は選択することによってアクセスされてもよい。ニュースフィード500が表示されている間、ユーザは、提出されると、ニュースフィード500内と共に、ユーザに接続されるユーザなどのユーザ又は他のユーザの友人のニュースフィード内に実質的に瞬時に可視的となるメッセージ及びコンテンツを投稿してもよい。ユーザは、入力ボックス504内にメッセージをタイプし、その後に、投稿をソーシャルネットワーク環境20のサーバ22に提出する共有ボタン506をクリック又は選択することによって、メッセージを投稿してもよい。
【0031】
図示された実施例では、ユーザはまた、例えば、添付要素508を用いてドキュメント、写真、ビデオ又はオーディオクリップなどを含む各種メディアをメッセージ又は投稿に添付してもよい。ニュースフィード500はまた、他のユーザからの投稿、特にユーザの友人からの投稿及びコメントを表示する。ユーザは、各投稿、コメント又は他のユーザのイメージ501の隣に、下方に又は近くにレンダリングされるインタラクティブ要素を介し他のユーザによる投稿にコメントしてもよい(再び、コメント及び他の何れかの通信はまた、投稿と呼ばれ、また扱われる)。例えば、ユーザは、インタラクティブ要素510を用いて投稿又はコメントに対してコメントしてもよく、これにより、入力ボックス(テキスト入力ボックスなど)は、ユーザがテキスト又は他のコンテンツを入力及び提出することを可能にする投稿又はコメントの下方又は近傍にレンダリングされる。ユーザはまた、自分がインタラクティブ要素512を用いて投稿又は他のコメントを好きであるか、又はインタラクティブ要素514を介し他のユーザと投稿を共有することを示してもよい。
【0032】
特定の実施例では、ソーシャルネットワーク環境20においてサポート、ホスト又はアクセス可能なウェブページ又はウェブアプリケーションを介しユーザにより提出される投稿は、AJAX(Asynchronous JavaScript and XML)又は他の適切な技術、特に非同期技術を介しソーシャルネットワーク環境20のサーバ22に通信される。より詳細には、ユーザによる投稿の提出は、AJAX、他の非同期又は適切な技術を介しソーシャルネットワーク環境20(サーバ22など)に通信される。同様に、ユーザのホームページのニュースフィード又はユーザのプロファイルページのウォールのフィードセクションにレンダリングされる投稿は、AJAX、他の非同期又は適切な技術を介しユーザのクライアント装置に送信されるニュース投稿及びコメントによって、リアルタイムに動的に更新されてもよい(後述されるように)。
【0033】
さらに、一部の実施例では、投稿は、例えば、TWITTERや他のブログサービスなどの第三者ウェブサイト、ウェブページ又はウェブアプリケーションなどを介し、ソーシャルネットワーク環境20の外部のソース又はサービスからユーザにより提出されてもよい。特定の実施例では、このような第三者サービスを用いて行われる投稿は、ソーシャルネットワーク環境20に自動的に移入及び受信されてもよい。例えば、第三者サービスを用いてメッセージ又はコンテンツを投稿したユーザは、自分が第三者サービスを介しユーザに提示されるインタラクティブ要素を介しソーシャルネットワーク要素20と投稿を共有することを所望していることを示してもよい。第三者サービスを介し提出されたユーザの投稿は、その後、例えば、ユーザのホームページのニュースフィードセクション又はユーザのプロファイルページのフィードセクションなぢに投稿として出現してもよい。他の実施例では、ソーシャルネットワーク環境及び特にサーバ22は、ユーザの各プロファイル又は他のページを介して閲覧可能となるように、第三者サービスから第三者サービスとソーシャルネットワーク環境20との双方のユーザの投稿を自動的に直接抽出する1以上のAPIを有してもよい。
【0034】
特定の実施例では、ソーシャルネットワーク環境20は、データストア24によりアクセス可能な投稿データベース210を維持する。特定の実施例では、ソーシャルネットワーク環境20と、特にサーバ22の1以上とは、ソーシャルネットワーク環境20により受信された各投稿のコンテンツ(投稿に関して行われた又は提出されたコンテンツ又はコメントを含むものであってもよい)と共に、例えば、投稿を提出したユーザを特定する情報、ユーザによって投稿が提出された時間、ソーシャルネットワーク環境20により投稿が受信された時間、ユーザが投稿を提出するのに使用したクライアント装置30又はユーザの地理的位置、ユーザのクライアント装置のIPアドレス、他の適切なメタデータのうち投稿から抽出される1以上の条件などの情報を特定するコンテンツを投稿データベース210に格納及び維持する投稿インデックスモジュール208を有する。特定の実施例では、ソーシャルネットワーク環境20と、特にサーバ22の1以上とはさらに、サーバ22によりユーザから受信した投稿からのトピック又は他の情報ソースから抽出されたトピックを抽出又は解釈することによって、トピック解析手段212により特定されたトピックのインデックスを含むデータストア24内の又はアクセス可能なトピックデータベース214を管理及び維持するトピック解析手段212を有する。
【0035】
特定の実施例では、データストア24は、投稿データベース210及びトピックデータベース214を含む、内部に格納されるか、又はアクセス可能な情報を構造化するため、ソーシャルグラフデータベース210のソーシャルグラフ情報を利用するため構造化されたコンテンツ格納抽出システムである。特定の実施例では、1以上のストア、データベース、データ構造、データストア24内のインデックス、及び特に投稿データベース210は、コンテンツ又は情報が少なくとも部分的にコンテンツを生成、作成、公開、投稿又は提出したユーザによって構成されるように、コンテンツ又は情報を格納する。特定の実施例では、投稿データベース210のインデックスはさらに、投稿コンテンツが一時的に、また当該コンテンツを投稿したユーザによって構成されるように、投稿のリアルタイムな提出又は受信に関して構成される。一部の実施例では、コンテンツはさらに、コンテンツを投稿するためユーザにより利用されたウェブページ、ウェブアプリケーション又はウェブサービスと共に、他の基準によって構成又はインデックス化されてもよい。
【0036】
一実施例では、投稿データベース210は、ユーザからの投稿又は他のノードの音声により受信されたコンテンツのインデックスであるユーザ条件インデックス216を含むか、又は利用する。上述されるように、投稿は、何れのウェブページ、ウェブアプリケーション又はウェブサービスを介し投稿がサーバ22にどのように入力又はアップロード及び提出されたかなどに依存して、各種形態をとりうる。一実施例では、ユーザ条件インデックス216は、各パーティションが1以上の時間データベース(部分)を含むストレージパーティションを含む。データベース部分は、選択されたレコード群であり、特定の実施例では、各データベース部分は、所定の期間に関して選択される。各時間データベースは、特定の期間において受信された投稿のコンテンツと投稿のインデックスとを含む。特定の実施例では、各時間データベースのコンテンツと投稿のインデックスは、当該投稿を提出したユーザと共に、条件識別子によりインデックス化される。一実施例では、ユーザ条件インデックス216は、各ユーザについてユーザの投稿の1以上に含まれる条件の条件識別子のリストを含む投稿リストと共に、各条件識別子について当該条件が検出される投稿識別子のリストを格納する。
【0037】
投稿データベース210はまた、投稿におけるテキスト条件又は他のコンテンツなどの投稿コンテンツを格納するアドレス指定可能なメモリの大きな割当てを有する投稿コンテンツストア218を有してもよい。一実施例では、特定の期間における投稿からの条件が解析され、ユーザ条件インデックス216の対応する時間データベース部分にインデックス化され、当該条件は、条件識別子と共にコンテンツストア218に格納される。投稿データベース210はまた、投稿を特定し、投稿のコンテンツ及びメタデータを含む各要素がコンテンツストア218に格納される物理メモリアドレスへの参照を格納するフォワードインデックス220を有してもよい。
【0038】
一実施例では、ソーシャルネットワーク環境20と特にサーバ22とが投稿を受信すると、投稿インデックスモジュール208は、コンテンツストア218において投稿オブジェクトの新たなインスタンスを生成し、投稿に一意的な投稿識別子を割当て、投稿又は投稿したユーザに関する情報と共に投稿オブジェクトの1以上のフィールドを充填し始める。インデックスモジュール208は、オーサリングユーザのユーザ識別子と投稿の条件とを含む投稿からの情報を抽出する。インデックスモジュール208は、ユーザ条件インデックス216に投稿条件を格納し、フォワードインデックス220にユーザ識別子、投稿識別子及び他のメタデータを格納する。フォワードインデックスに格納される他のメタデータは、例えば、他の適切な又は有用なメタデータのうち、投稿における条件数、投稿の日時、オーサリングユーザの地理的位置を含むものであってもよい。フォワードインデックス220は、内部的(ソーシャルネットワーキングシステムによりホストされるウェブページ又はウェブアプリケーションとやりとりすることによって)又は第三者ウェブページ、ウェブサイト又はウェブアプリケーション(TWITTERなど)を介し外部的に受信されるかにかかわらず、ソーシャルネットワーク環境20により受信された投稿のインデックスを含む。
【0039】
インデックスモジュール208は、メタデータなどのユーザに可視的でない情報を含む投稿の何れかの部分から条件を抽出してもよい。インデックス化される条件は、何れかの投稿における又は関連付けされる何れかのコンテンツを含む。例えば、条件は、ソーシャルネットワーキングシステムが投稿の主題又は投稿したユーザに関して予測可能な又は関連するテキスト、リンク、アタッチメント、URL、メタデータとして格納されるキーワード、IPアドレス、ユーザ識別子、ユーザニックネーム又は他の情報において検出及び抽出されてもよい。再び、投稿は、一般には、ウォール投稿、状態更新、プライベート又はパブリックメッセージ、第三者アプリケーション又は第三者ウェブサイトに入力された情報(TWITTERなどのブログウェブサイトなど)、以前に行われた投稿に関するコメントを含むコメント、写真に関するコメント、ビデオに関するコメント、リンクに関するコメント又は他のコメント共に、写真、ビデオ、リンク又は他のアップロード又はリンクされたコンテンツを含む何れかの提出された通信又は宣言を含むものであってもよい。条件は、例えば、投稿においてユーザにより入力されたテキスト、リンク付けされたウェブページ又はウェブサイトからのプレビューテキスト、投稿された写真、ビデオ又はリンクのコメント若しくはキャプション、投稿されたURL、投稿又はリンク付けされた記事のタイトル又はコンテンツなどにおいて求められてもよい。
【0040】
ソーシャルネットワーク環境20と、特に投稿インデックスモジュール208とはまた、投稿から抽出された条件に密接に関連するか、又は同期する条件を関連付けしてもよい。例えば、“Go Niners”を読む投稿は、“Niners”と共に、“Forty−Niners”、“49ers”、“9ers”などをインデックス化してもよい。一部の実施例では、投稿インデックスモジュール208はまた、最後の具体例に続いて、“フットボール”、“サンフランシスコ”、“キャンドルスティック”などの関連するワードをインデックス化してもよい。一部の実施例では、投稿インデックスモジュール208はまた、音声、ビデオ、又は画像認識技術を用いて、投稿に含まれるコンテンツに関連する条件を抽出又は生成してもよい。さらに、投稿インデックスモジュール208は、投稿から抽出された条件のトークン化、正規化及び拡張を含む従来のプロセスを利用してもよい。例えば、トークン化は、アクセント、頭字語及び所有格による句読点及び正規化ワードに基づき条件をストリップ及びスプリット化することに関し、正規化はワードをそれのベースに切り詰めることに関し(例えば、“running”は“run”に切り詰められる)、及び拡張は、追加的な形式を含むように条件を拡張することに関するものであってもよい(例えば、“run”は、“runs”、“runner”又は“running”に拡張されてもよい)。
【0041】
ソーシャルネットワーク環境20と、特にサーバ22とはさらに、フォワードインデックス220とユーザ条件インデックス216とをクエリするリアルタイムサーチエンジン222を含む。
図6のフローチャートを参照してより詳細に説明されるように、特定の投稿又は投稿トピックに一致する関連する投稿に対して提出されたクエリに応答して、リアルタイムサーチエンジン222は、ユーザ条件インデックス216をサーチし、ユーザ条件インデックス216の一致した投稿からの投稿識別子を編集し、投稿識別子を用いてフォワードインデックスにアクセスし、一致する投稿のためのコンテンツストア218における格納位置を取得する。ユーザ条件インデックスのサーチは、時間データベースの複数においてパラレルに実行可能である。サーチ結果は、その後に、例えば、サーチが実行されたユーザに対して提示するため、関連性(トピックなど)と時間などによりランク付けされてもよい。フォワードインデックス、ユーザ条件インデックス及びリアルタイムサーチエンジンのさらなる詳細は、参照することによりここに援用される2010年2月11日に出願された米国特許出願第12/704,400号“REAL TIME CONTENT SEARCHING IN SOCIAL NETWORK”に求めることができる。
【0042】
ソーシャルネットワーク環境20がユーザによる提出された投稿を受信すると、投稿インデックスモジュール208は、上述されるような投稿を解析及び格納する。さらに、トピック解析手段212は、投稿から1以上のトピックを抽出する。投稿からのトピックの抽出は、いくつかの既知のトピック特定技術の1以上に関する。例えば、トピック解析手段212は、投稿インデックスモジュール208により特定された1以上の条件から1以上のトピックを抽出するため、投稿インデックスモジュール208と共に動作してもよい。トピック解析手段は、その後、トピック識別子とトピックとを関連付け、トピックが抽出された投稿に関連付けて、投稿又は投稿識別子を含む識別情報及びメタデータと共に、トピックデータベース214にトピック識別子を格納する。さらに又はあるいは、フォワードインデックス220に格納されている各投稿識別子は、それと共にトピック識別子を格納してもよい。さらに、一部の実施例では、投稿は、他のメディアのうち写真、他のイメージ、ビデオクリップ又はオーディオクリップを含み、トピック解析手段212は、イメージ、ビデオ又はオーディオ認識技術を用いて、又はイメージ、ビデオ又はオーディオ認識技術を利用するよう構成された他のプロセスと共に、イメージ、ビデオ又はオーディオクリップのデータベースの1以上のイメージ、ビデオ又はオーディオクリップと上記イメージ、ビデオ又はオーディオクリップとをマッチングすることによって、イメージ、ビデオ又はオーディオクリップを有する投稿から1以上のトピックを特定するよう構成されてもよい。イメージ、ビデオ又はオーディオクリップのデータベースの各イメージ、ビデオ又はオーディオクリップはさらに、トピックのデータベース1以上のトピックと以前にマッチングされてもよい。
【0043】
特定の実施例では、トピック解析手段212は、リアルタイムに受信した投稿から抽出されたトピックを解析し、トレンド又はトレンドトピックを特定してもよい。すなわち、例えば、他のファクタのうち、トピックにまわりで提出された投稿の個数、値ピックに対して投稿したユーザの人数、及び当該投稿の頻度などによって決定されるようなユーザのすべて又は一部から興味を生成又は現在人気のあるトピックである。ここで用いられるトレンドトピックは、ソーシャルネットワーク環境20の複数のユーザによって複数回投稿され、ソーシャルネットワーク環境20のユーザのすべて又は一部において人気があると判断されるワード、フレーズ又はトピックであってもよい。トレンドトピックは、ユーザによる協力を通じて、又は人々にイベントに関連するトピックについて投稿するよう促すイベントのため人気になっているかもしれない。例えば、トレンドトピックは、コンサートなどの社会イベント、NBAチャンピオンシップシリーズなどのスポートイベント又は2010年のアイスランドの火山であるEyjafjallajokullの爆発などの他の現在イベントを含むものであってもよい。一実施例では、トレンドトピックは、トピックデータベース214に別々に格納されてもよい。他の実施例では、トレンドトピックであると判断されるトピックのトピック識別子は、トピックデータベース214にフラグ付け又は表示されてもよい。
【0044】
トレンドトピックの特定は、何れか適切なアルゴリズムに基づくものであってもよい。例えば、トレンドトピックは、参照することによりここに援用される、Jon Kleinberによる“BURSTY AND HIERARCHICAL STRUCTURE IN STREAMS”に記載され、2002年のThe Proceedings of the 8th ACM SIGKDD International Conference on Knowledge Discovery and Data Miningにおいて提供される関連活動のバーストを特定することに基づき特定されてもよい。例えば、トピックデータベース214に出現するすべてのトピックについて、トピック解析手段212は、トピックを含む投稿のストリームにおけるバーストのすべてを計算する。各バーストに関するウェイトを計算し、ウェイトによってランク付けするための方法と組み合わされると、これは、限定的な期間における最も顕著なライジング及びフォーリングパターン(“トレンド”)を示すトピックを検出するための方法を提供する。特定の実施例では、Kullback−Leiblerダイバージェンスがさらに又は代わりに、トレンドトピックを特定するため、活動のバーストを特定するのに利用されてもよい。
【0045】
図6は、ユーザにより投稿が提出されることに応答してユーザに関連する投稿をサーチ、特定及び提示するための方法又はプロセス600を示すフローチャートを示す。特定の実施例では、プロセス600は、ソーシャルネットワーク環境20が602においてユーザ(“投稿ユーザ”)により提出された投稿を受信したときに開始される。再び、投稿は、特定の通信に関連するすべてのコンテンツ(テキスト、イメージ、ビデオ、オーディオ、ハイパーリンクなど)を含むものであってもよく、一般にコンテンツは、ソーシャルネットワーク環境20により格納される何れかを表す。例えば、投稿は、ユーザのホーム又はプロファイルページを介し入力される状態更新、ユーザのホーム又はプロファイルページを介し入力されるメッセージ又はコンテンツの投稿、他のユーザのプロファイルページ、コンセプトプロファイルページ、トピックプロファイルページ又は他のウェブページ若しくはウェブアプリケーションを介し入力及び提出されるメッセージ又はコンテンツの投稿、他の投稿についてユーザにより入力及び提出されたコメント又は他のユーザにより提出されたコメント、写真、ビデオ又は他のメディアコンテンツに付加されたコメント若しくはキャプションと共に、写真、他のイメージ、ビデオクリップ又はオーディオクリップ自体などの形態を含む又はとる。例えば、
図5に関して上述されたように、ユーザは、入力ボックス504を介しテキストをタイプ又は入力すると共に、インタラクティブ要素508を用いて各種メディアを添付し、その後に共有ボタン506を介し投稿を提出してもよい。
図5に示される具体例では、投稿ユーザは、入力ボックス504に“私は、アイスランドの火山が旅行前に落ち着くことを規定している”というメッセージをタイプし、その後に、共有ボタン506をクリックすることによって、メッセージを提出/投稿する。再び、投稿は、AJAXを用いて、より詳細には、後述されるような結果の迅速かつ動的な送信及びフェッチを可能にするXMLHTTPRequestを用いてサーバ22に送信されてもよい。
【0046】
ソーシャルネットワーク環境20が602において投稿ユーザにより提出された投稿を受信すると、投稿インデックスモジュール208は、上述されるように、投稿を解析及び格納する。さらに、トピック解析手段212は、604において、投稿から1以上のトピックを抽出する。例えば、
図5の具体例を考えると、抽出されたトピックはアイスランドの火山であってもよい。一実施例では、トピック解析手段212は、その後に606において、投稿から抽出されたトピックの何れかがトレンドトピックであるか決定する。例えば、トピック解析手段212は、抽出したトピックに一致するトピックについてトピックデータベース214をサーチし、1以上の一致するトピックがトレンドトピックであるか判断してもよい。一実施例では、トピック解析手段212が、606において投稿から抽出されたトピックがトレンドトピックであると判断した場合、トピック解析手段212は、608において、トレンドトピックのトピック識別子を含むクエリをサーチエンジン222に送信する。その後に610において、サーチエンジン222は、少なくとも部分的に投稿ユーザにより設定可能な各種基準に従って、投稿ユーザの投稿から抽出されたトピックに一致する関連のある投稿をサーチする。一実施例では、サーチエンジン222は、抽出したトピックに一致、定義又は関連する条件についてユーザ条件インデックス216をサーチし、ユーザ条件インデックス216の一致する投稿から投稿識別子を編集し、投稿識別子を用いてフォワードインデックス220にアクセスし、一致する投稿のためコンテンツストア218の格納位置を取得する。その後、サーチエンジン222は、612において、ランキングモジュール224に1以上の関連する投稿を返す。特定の実施例では、デフォルトによって又は投稿ユーザにより示された嗜好に基づき、サーチエンジン222は、ユーザの友人、ユーザの友人の友人、すべてのユーザ、規定された地理的位置又は領域内のすべてのユーザ、同じ言語のユーザ又は投稿ユーザのグループなどの1以上のネットワークグループ内のユーザによって投稿された関連する投稿のみをサーチ又は返してもよい。さらに、サーチエンジン222は、投稿ユーザの投稿に関して所定の期間内に送信された関連する投稿のみをサーチ又は返すようにしてもよい。
【0047】
特定の実施例では、ランキングモジュールは、その後、614において、特に返された結果(関連する投稿)の件数が多い場合、投稿ユーザにより少なくとも部分的に設定可能な各種基準に従って、返された投稿の1以上のフィルタリング又はランキングしてもよい。例えば、ランキングモジュールは、ユーザの友人、ユーザの友人の友人、同一の地理的位置又は領域内のユーザ、同じ言語のユーザ又は投稿ユーザの同一のネットワークグループの1以上内のユーザによって投稿されなかった投稿を排除してもよい。さらに、ランキングモジュールは、投稿ユーザの投稿に関して規定された期間前に受信した投稿を排除してもよい。ランキングモジュール224は、同一のフィルタリング基準を用いて、投稿ユーザに通信されるべき関連する投稿をランク付けしてもよい。例えば、ランキングモジュール224は、他の適切な基準のうち、トピックが投稿ユーザの投稿のトピックにどのくらい近く一致するか、関連する投稿がソーシャルネットワーク環境20によりどの程度最近に受信されたか、関連する投稿のコンテンツの投稿ユーザの興味に対する関係(例えば、投稿ユーザのプロファイルを解析することによって決定されるような)、関連する投稿のオーサリングユーザがユーザの友人であるか否か、ソーシャルグラフの投稿ユーザに対する関連する投稿のオーサリングユーザの社会的近接性、投稿ユーザに対する関連する投稿のオーサリングユーザの地理的近接性、関連する投稿の言語、関連する投稿の人気(例えば、他のユーザの関連する投稿の閲覧及びコメントなど)、関連する投稿から抽出されたトピックの人気(例えば、閾値以上の人気など)に基づき、投稿ユーザに提示される1以上の関連する投稿をランク付けしてもよい。
【0048】
ランキングモジュール224は、その後、投稿ユーザに提示する関連する投稿をページ生成プロセス200にわたし、ページ生成プロセス200は、その後に616において、関連する投稿をレンダリングするためのマークアップ言語コード又は他のコードセグメント、関連する投稿に関する情報又は関連する投稿のオーサリングユーザに関する情報と共に、特定の実施例では、関連する各投稿と一緒に提示するため1以上のインタラクティブ要素をレンダリング及び実現するための1以上のコードセグメントとを含む1以上のレスポンスを定式化及び送信する。例えば、
図5を再び参照して、ユーザがアイスランドの火山に関して投稿した場合、一実施例では、ユーザに“アイスランドの火山がトレンドである”ことを読むトレンドトピックUI520が提示される。図示された実施例では、UI520はまた、投稿ユーザの友人の4人がまたアイスランドの火山について投稿していることを投稿ユーザに通知する。UI520はまた、クリック又は選択されると、ユーザが他のユーザの投稿及びコメントと、特にウェブページのトピック(爆発するアイスランドの火山)に関して投稿しているユーザの友人からの投稿及びコメントとに関して投稿及びコメント可能な爆発するアイスランドの火山に関するウェブページにユーザを導く“会話に参加”インタラクティブ要素を含むいくつかのインタラクティブ要素を含むものであってもよい。
【0049】
このようなウェブページは、トピックウェブページ又はトピックプロファイルページと呼ばれ、例えば、
図7に示される。トピックプロファイルページは、参照することによりここに援用される、2010年4月19日に出願された米国特許出願第12/763,171号“INTEGRATED SOCIAL NETWORK ENVIRONMENT”、2010年4月19日に出願された米国特許出願第12/763,162号“AUTOMATICALLY GENERATING NODES AND EDGES IN AN INTEGRATED SOCIAL GRAPH”、2010年4月19日に出願された米国特許出願第12/763,145号“AUTOMATICALLY GENERATING NODES AND EDGES IN AN INTEGRATED SOCIAL GRAPH”、2010年4月19日に出願された米国特許出願第12/763,132号“DYMANICALLY GENERATING RECOMMENDATIONS BASED ON SOCIAL GRAPH INFORMATION”に記載されるようなコンセプトプロファイルページ又はハブであってもよいし、それに類似するものであってもよい。一実施例では、トピックプロファイルページは、ハブが関連するコンセプトノードをどのように有するかに類似する関連するトピックノードを有することが可能である。しかしながら、一実施例では、トピックプロファイルページと対応するトピックノードとは、それらがトレンドである限り、それらが単に“ライブ”であるとして一時的なものである。すなわち、一実施例では、トピックノードに関連するトピックがもはやトレンドでなくなると、トピックノードと対応するトピックプロファイルページとは削除されるか、又はトピックがトレンドでないと判断されてからある期間が経過した後に削除されてもよいし、あるいは、トピックノードと対応するトピックプロファイルページとが存在し続けてもよく、一部の実施例では、“履歴イベント”又は他の分類に移行してもよい。ハブと同様に、ユーザは、トピックプロファイルページのファンになり、トピックプロファイルページに対する“嗜好”を宣言し、一部の実施例では、各ユーザノードとトピックノードとの間にエッジを生成するようにしてもよい。ユーザはまた、トピックプロファイルページの記述セクション722などにコンテンツを投稿するか、又はプロファイルフォト724を追加してもよい。さらに又は代わりに、ソーシャルネットワーク環境は、トピックプロファイルページを充填し、特定のトピックについて現在のイベント情報を一般に示すため、情報サイト(www.wikipedia.orgなど)又はオンラインニュースサイト(www.msnbc.comなど)などの第三者サイトからの情報を抽出又は移入してもよい。トピックプロファイルページはまた、ユーザを表示するか、又はより詳細には、ページのトピックに関して投稿した、又はページの各トピックのファンであるユーザのプロファイルピクチャ(アバタなど)726及び名前728を表示してもよい。
【0050】
図7に示される実施例では、投稿ユーザは、メッセージ及びコンテンツを投稿し、入力ボックス730にテキストをタイプし、インタラクティブ要素732を介しコンテンツを添付又はアップロードし、共有ボタン734を介しテキスト又はコンテンツを提出することを介して、トピックに関して投稿した他のユーザとやりとりする。上述されるように、特定の実施例の目的は、同一のトピックを共有する他のユーザからの関連する投稿(上述されるような)を投稿ユーザに提示することである。
図7に示される実施例では、トピックプロファイルページは、投稿ユーザの友人による関連する投稿を表示するサブセクションフィード738と、すべてのユーザから選択された関連する投稿を表示するサブセクションフィードとを含むウォール、フィード又はニュースフィードセクション736を有する。一実施例では、フィード738,740は、トピックに関する新たな投稿に応答してリアルタイムに更新されてもよい。他の実施例では、フィード738,740は、例えば、入力ボックス730を介したトピックに関する新たな投稿の投稿、インタラクティブ要素732を介したトピックに関する新たなコンテンツ(写真、ビデオクリップ、オーディオクリップ、リンクなど)の投稿、又はインタラクティブ要素742,744,746を介したフィード738又は740の関連する投稿の1以上とのやりとり、投稿ユーザが関連する投稿に関する嗜好をコメント及び宣言するか、又はフィードバックを閲覧することを可能にするなど、トピックページに関して投稿ユーザによりとられたアクションに応答して更新されてもよい。関連する投稿に関して提出された何れかの投稿がまた投稿データベース210に追加され、各トピックが、特定の実施例では、リアルタイムにトピックデータベース214に追加されることが理解されるべきである。このように、トレンドトピックは、常に最新かつ正確である。
【0051】
一部の実施例では、616においてページ生成プロセス200により定式化及び送信される1以上のレスポンスは、さらに又は代わりに、1以上の関連する投稿をUI520内に表示し、さらにUI520内に表示されてもよい(プロファイルピクチャ又は名前を介し)関連する投稿又は関連する投稿のオーサリングユーザをコメント、嗜好、共有又はやりとりするためのインタラクティブ要素と共に表示する。さらに、ユーザが自らのプロファイル又はホームページ以外のページにより投稿するとき、616においてページ生成プロセス200により定式化及び送信される1以上のレスポンスは、さらに又は代わりに、1以上の関連する投稿をユーザのプロファイルページのウォール(フィード)セクション432又はユーザのホームページのニュースフィード500内に表示し、さらにこれらのセクション内に(プロファイルピクチャ又は名前を介し)表示される関連する投稿又は関連する投稿のオーサリングユーザにコメント、嗜好、共有又はやりとりするための同様のインタラクティブ要素と共に表示してもよい。
【0052】
さらに、
図6を参照して上述された実施例では、投稿ユーザの投稿がトレンドトピックであると判断された場合に限って、関連する投稿又は関連する投稿の情報が表示され、他の実施例では、ソーシャルネットワーク環境20は、投稿ユーザの投稿のトピックがトレンドトピックであると判断されるか否かに関係なく、ユーザに対する関連する投稿をサーチ、特定及び提示してもよい。
【0053】
さらに、特定の実施例では、投稿ユーザが投稿ユーザの投稿に応答して投稿ユーザに提示される関連する投稿にコメント又はやりとりするとき、関連する投稿のオーサリングユーザに通知されてもよい。例えば、投稿ユーザのコメントは、関連する投稿のオーサリングユーザのプロファイル又はホームページのウォールセクション432又はニュースフィードセクション500に表示されてもよい。さらに又は代わりに、関連する投稿のオーサリングユーザには、関連する投稿のオーサリングユーザが関連する投稿をオーサリングする他のユーザとやりとりすることを奨励及び可能にするUI520が提示されてもよい。
【0054】
さらに、上述されるように、同様のプロセス及び技術が、例えば、提示されたページのサーチボックスにワードをタイプし、ユーザを他のページにリダイレクトするハイパーリンクをクリックし、又は一般に他のページを訪れるなどのユーザアクションに関するトピックを特定するのに利用されてもよい。このようなケースでは、トピック解析手段212は、サーチボックスに入力されたテキストを解析するか、又はユーザが要求するページのコンテンツを解析し(例えば、ページのタイトル、名前又は他の識別子、ページの又は関連するコンテンツ、ページの記述情報、ページに接続される特定のユーザ、ページに接続されるユーザの特定の友人など)、サーチ又はページリクエストから1以上のトピックを特定する。その後、サーチ又はページリクエストに基づき特定されたトピックに関する投稿又は投稿情報を特定及び提示するための方法又はプロセスが、上述されるように実行されてもよい。
【0055】
ここに開示されるアプリケーション又はプロセスは、実行時に上述された処理を1以上のプロセッサに実現させるとう動作可能な有形のデータ記憶媒体に実現又は符号化されたコンピュータ可読命令系列として実現可能である。上記プロセス及び機構は各種の物理システムによって、また広範なネットワーク及び計算環境において実現可能であるが、後述される計算システムは、限定的な目的でなく例示のため上述されたサーバクライアントシステムの一例となる計算システムアーキテクチャを提供する。
【0056】
図8は、サーバ22a,22bを実現するのに利用可能な一例となる計算システムのアーキテクチャを示す。一実施例では、ハードウェアシステム1000は、プロセッサ1002、キャッシュメモリ1004及び有形なコンピュータ可読媒体に格納され、ここで開示された機能に関する1以上の実行可能なモジュール及びドライバを有する。さらに、ハードウェアシステム1000は、ハイパフォーマンス入出力(I/O)バス1006と標準的なI/Oバス1008とを有する。ホストブリッジ1010は、プロセッサ1002とハイパフォーマンスI/Oバス1006とを接続し、I/Oバスブリッジ1012は、2つのバス1006,1008を互いに接続する。システムメモリ1014と1以上のネットワーク/通信インタフェース1016とが、バス1006に接続される。ハードウェアシステム1000はさらに、ビデオメモリ(図示せず)と、ビデオメモリに接続される表示装置とを有してもよい。マスストレージ1018とI/Oポート1020とがバス1008に接続される。ハードウェアシステム1000は、任意的にはキーボード、ポインティングデバイスと、バス1008に接続される表示装置(図示せず)とを有してもよい。まとめると、これらの要素は、限定することなく、カリフォルニア州のサンタクララのインテルコーポレイションにより製造されるx86互換プロセッサと、カリフォルニア州のサニーベイルのアドバンスドマイクロデバイス(AMD)により製造されるx86互換プロセッサと共に、他の何れか適切なプロセッサに基づく汎用コンピュータシステムを含む、コンピュータハードウェアシステムの広範なカテゴリを表すことが意図される。
【0057】
ハードウェアシステム1000の要素は、より詳細に以下に説明される。特に、ネットワークインタフェース1016は、イーサネット(IEEE802.3など)ネットワーク、バックプレーンなどの広範なネットワークの何れかとハードウェアシステム1000との間の通信を提供する。マスストレージ1018は、サーバ22a,22bに実現される上述された機能を実行するためのデータ及びプログラミング命令のための永続的なストレージを提供し、システムメモリ1014(DRAMなど)は、プロセッサ1002により実行されると、データ及びプログラミング命令のための一時的なストレージを提供する。I/Oポート620は、ハードウェアシステム1000に接続可能な追加的な周辺装置の間の通信を提供する1以上のシリアル及び/又はパラレル通信ポートである。
【0058】
ハードウェアシステム1000は、各種システムアーキテクチャを有してもよく、ハードウェアシステム1000の各種コンポーネントが再構成されてもよい。例えば、キャッシュ1002は、プロセッサ1002が“プロセッサコア”と呼ばれるとき、“プロセッサモジュール”として一緒にパックされてもよい。さらに、本発明の特定の実施例は、上記コンポーネントのすべてを必要とせず、又は有しなくてもよい。例えば、標準的なI/Oバス1008に接続される図示された周辺装置は、ハイパフォーマンスI/Oバス1006に接続されてもよい。さらに、一部の実施例では、単一のバスのみが存在し、ハードウェアシステム1000のコンポーネントは当該単一のバスに接続される。さらに、ハードウェアシステム1000は、さらなるプロセッサ、記憶装置又はメモリなどのさらなるコンポーネントを有してもよい。
【0059】
一実現形態では、ここに開示される実施例の処理は、分散計算環境において個別に又はまとめてハードウェアシステム1000によって実行される実行可能なモジュールの系列として実現される。特定の実施例では、ソフトウェアモジュール及び/又はドライバのセットは、ネットワーク通信プロトコルスタック、ブラウジング及び他の計算機能、最適化プロセスなどを実現する。上述した機能モジュールは、ハードウェア、コンピュータ可読媒体に格納された実行可能なモジュール又はこれらの組み合わせにより実現されてもよい。例えば、機能モジュールは、プロセッサ1002などのハードウェアシステムのプロセッサにより実行される複数の命令又は命令系列を有してもよい。まず、命令系列は、マスストレージ1018などの記憶装置に格納されてもよい。しかしながら、命令系列は、ディスケット、CD−ROM、ROM、EEPROMなどの何れか適切な記憶媒体に有形に格納可能である。さらに、命令系列は論理的に格納される必要はなく、ネットワーク/通信インタフェース1016を介しネットワーク上のサーバなどのリモート記憶装置から受信可能である。これらの命令は、マスストレージ1018などの記憶装置からメモリ1014にコピーされ、プロセッサ1002によりアクセス及び実行される。
【0060】
オペレーティングシステムは、ソフトウェアアプリケーション(図示せず)との間のデータの入出力を含む、ハードウェアシステム1000の処理を管理及び制御する。オペレーティングシステムは、システム上で実行されるソフトウェアアプリケーションとシステムのハードウェアコンポーネントとの間のインタフェースを提供する。LINUXオペレーティングシステム、カリフォルニア州のCupertinoのアップルコンピュータインコーポレイションから入手可能なアップルマッキントッシュオペレーティングシステム、UNIXオペレーティングシステム、マイクロソフトウィンドウズオペレーティングシステム、BSDオペレーティングシステムなどの何れか適切なオペレーティングシステムが利用されてもよい。もちろん、他の実現形態が可能である。例えば、ここに開示されるニックネーム生成機能は、ファームウェア又はASIC(Application Specific Integrated Circuit)により実現されてもよい。
【0061】
さらに、上述された要素及び処理は、記憶媒体に格納される命令から構成可能である。これらの命令は、処理システムによって抽出及び実行可能である。命令の一部の具体例は、ソフトウェア、プログラムコード及びファームウェアである。記憶媒体の一部の具体例は、記憶装置、テープ、ディスク、集積回路及びサーバである。命令は、処理システムにより実行されると、処理システムに本発明に従って動作させるよう処理可能である。“処理システム”という用語は、単一の処理装置又は相互動作する処理装置群を表す。処理装置の一部の具体例は、集積回路及び論理回路である。当業者は、命令、コンピュータ及び記憶媒体に精通している。
【0062】
本開示は、当業者が理解するここでの実施例に対するすべての変更、置換、変形、代替及び改良を含む。同様に、適切である場合、添付した請求項は、当業者が理解するここでの実施例に対するすべての変更、置換、変形、代替及び改良を含む。例えば、本発明の実施例がソーシャルネットワーキングウェブサイトに関して動作するとして説明されるが、本発明は、ウェブアプリケーションをサポートする何れかの通信設備に関して利用可能である。さらに、一部の実施例では、“ウェブサービス”及び“ウェブサイト”という用語は、互換的に利用され、さらにサーバに対して直接APIコールを行うモバイル装置(例えば、携帯電話、スマートフォン、パーソナルGPS、PDA(Personal Digital Assistance、パーソナルゲーム機など)などの装置上のカスタム又は一般化されたAPIを表すものであってもよい。