(57)【特許請求の範囲】
【請求項１】
コンピュータが実行する方法であって、
コンピューティング・システムが、特定領域の地図に対するリクエストを取得するステップと、
前記コンピューティング・システムが、前記特定領域に基づいて、前記特定領域の第１の地理的部分を表現するために、１つまたは複数の地図部分の第１のセットを特定するステップであって、前記第１のセットは、第１の地図データ・ソースと関連付けられている、前記第１のセットを特定するステップと、
前記コンピューティング・システムが、前記特定領域に基づいて、前記特定領域の第２の地理的部分を表現するために、１つまたは複数の地図部分の第２のセットを特定するステップであって、前記第２のセットは、第２の地図データ・ソースと関連付けられている、前記第２のセットを特定するステップと、
前記第１のセットの明るさまたは色に基づいて前記第２のセットの明るさおよび色の少なくとも１つを変更するステップと、
前記コンピューティング・システムが、前記第１のセットと前記第２のセットとの組み合わせに基づいて、前記特定領域の地図を生成するステップと、を備え、
前記第１の地理的部分は、前記特定領域内の第１の地理的領域を示し、
前記第２の地理的部分は、前記第１の地理的領域に隣接する前記特定領域内の第２の地理的領域を示し、
前記特定領域に基づいて、前記１つまたは複数の地図部分の第１のセットを特定するステップは、
前記１つまたは複数の地図部分の第１のセットを、グラウンド・トゥルースを表現する認識された地図データ・ソースに関連付けられた１つまたは複数の認識された地図部分と比較することに基づいて、第１の地図類似性スコアを算出するステップであって、前記１つまたは複数の認識された地図部分は、前記特定領域の第１の地理的部分を表現する、前記第１の地図類似性スコアを算出するステップと、
前記１つまたは複数の地図部分の第３のセットを、前記１つまたは複数の認識された地図部分と比較することに基づいて、第２の地図類似性スコアを算出するステップであって、前記第３のセットは、前記特定領域の第１の地理的部分を表現する、前記第２の地図類似性スコアを算出するステップと、
前記第１の地図類似性スコアが前記第２の地図類似性スコアよりも大きいと判断したことに基づいて、前記第１のセットを選択するステップと、をさらに含む、方法。
【請求項２】
前記第１のセットを、前記１つまたは複数の認識された地図部分と比較することに基づいて、前記第１の地図類似性スコアを算出するステップは、
前記第１のセットから地図の特徴の第１のコレクションを取得するステップと、
前記１つまたは複数の認識された地図部分から地図の特徴の第２のコレクションを取得するステップと、
前記地図の特徴の第１のコレクションと前記地図の特徴の第２のコレクションとの間の類似性レベルを判定するステップであって、前記第１の地図類似性スコアは、前記類似性レベルに基づいている、前記類似性レベルを判定するステップと、をさらに含む、請求項１に記載の方法。
【請求項３】
前記第１のコレクションまたは前記第２のコレクションのうちの少なくとも一方は、道路の特徴、水域の特徴、地形の特徴、ランドマークの特徴、または境界の特徴のうちの少なくとも１つを含む、請求項２に記載の方法。
【請求項４】
前記第１のセットは、前記特定領域の第１の地理的部分を表現するために特定されるように予め設定されている、請求項１に記載の方法。
【請求項５】
前記第１のセットにおける少なくとも１つの地図部分は、前記第２のセットにおける少なくとも１つの地図部分と同時に、前記地図を生成するために取得される、請求項１に記載の方法。
【請求項６】
前記第１のセットに関連付けられた第１のスタイルと、前記第２のセットに関連付けられた第２のスタイルとを、前記第１のスタイルが許容偏差内で前記第２のスタイルと一致するように、変更するステップをさらに備える請求項１に記載の方法。
【請求項７】
前記第１のセットにおける少なくともいくつかの地図部分の１つまたは複数の第１のグラフィカル品質と、前記第２のセットにおける少なくともいくつかの地図部分の１つまたは複数の第２のグラフィカル品質と、を組み合わせるステップをさらに備える請求項１に記載の方法。
【請求項８】
前記第１のセットのための第１の属性情報と、前記第２のセットのための第２の属性情報と、を動的に提供するステップをさらに備え、
前記第１の属性情報または前記第２の属性情報のうちの少なくとも一方は、ロゴ、マーク、または著作権のうちの少なくとも１つに関連付けられている、請求項１に記載の方法。
【請求項９】
前記リクエストは、現在位置情報または言語情報のうちの少なくとも一方をさらに含み、
前記現在位置情報または前記言語情報のうちの少なくとも一方は、前記リクエストを提供するデバイスに関連付けられ、
前記第１のセットまたは前記第２のセットのうちの少なくとも一方は、前記現在位置情報または前記言語情報のうちの少なくとも一方にさらに基づいて特定される、請求項１に記載の方法。
【請求項１０】
システムであって、
少なくとも１つのプロセッサと、
メモリであって、
前記少なくとも１つのプロセッサによって実行される場合、前記システムに、
特定領域の地図に対するリクエストを取得すること、
前記特定領域に基づいて、前記特定領域の第１の地理的部分を表現するために、１つまたは複数の地図部分の第１のセットを特定することであって、前記第１のセットは、第１の地図データ・ソースと関連付けられている、前記第１のセットを特定すること、
前記特定領域に基づいて、前記特定領域の第２の地理的部分を表現するために、１つまたは複数の地図部分の第２のセットを特定することであって、前記第２のセットは、第２の地図データ・ソースと関連付けられている、前記第２のセットを特定すること、
前記第１のセットの明るさまたは色に基づいて前記第２のセットの明るさおよび色の少なくとも１つを変更すること、
前記第１のセットと前記第２のセットとの組み合わせに基づいて、前記特定領域の地図を生成すること、を実行させる命令を格納するメモリと、を備え、
前記第１の地理的部分は、前記特定領域内の第１の地理的領域を示し、
前記第２の地理的部分は、前記第１の地理的領域に隣接する前記特定領域内の第２の地理的領域を示し、
前記特定領域に基づいて、前記１つまたは複数の地図部分の第１のセットを特定することは、
前記１つまたは複数の地図部分の第１のセットを、グラウンド・トゥルースを表現する認識された地図データ・ソースに関連付けられた１つまたは複数の認識された地図部分と比較することに基づいて、第１の地図類似性スコアを算出することであって、前記１つまたは複数の認識された地図部分は、
前記特定領域の第１の地理的部分を表現する、前記第１の地図類似性スコアを算出すること、
１つまたは複数の地図部分の第３のセットを、前記１つまたは複数の認識された地図部分と比較することに基づいて、第２の地図類似性スコアを算出することであって、前記第３のセットは、前記特定領域の前記第１の地理的部分を表現する、前記第２の地図類似性スコアを算出すること、
前記第１の地図類似性スコアが前記第２の地図類似性スコアよりも大きいと判断したことに基づいて、前記第１のセットを選択すること、をさらに含む、システム。
【請求項１１】
前記第１のセットを、前記１つまたは複数の認識された地図部分と比較することに基づいて、前記第１の地図類似性スコアを算出することは、
前記第１のセットから地図の特徴の第１のコレクションを取得すること、
前記１つまたは複数の認識された地図部分から地図の特徴の第２のコレクションを取得すること、
前記地図の特徴の第１のコレクションと前記地図の特徴の第２のコレクションとの間の類似性レベルを判定することであって、前記第１の地図類似性スコアは、前記類似性レベルに基づいている、前記類似性レベルを判定すること、をさらに含む、請求項１０に記載のシステム。
【請求項１２】
前記第１のセットにおける少なくとも１つの地図部分は、前記第２のセットにおける少なくとも１つの地図部分と同時に、前記地図を生成するために取得される、請求項１０に記載のシステム。
【請求項１３】
前記命令は、前記システムに、
前記第１のセットに関連付けられた第１のスタイルと、前記第２のセットに関連付けられた第２のスタイルとを、前記第１のスタイルが許容偏差内で前記第２のスタイルと一致するように、変更することをさらに実行させる、請求項１０に記載のシステム。
【請求項１４】
非一時的なコンピュータ可読記憶媒体であって、
コンピューティング・システムの少なくとも１つのプロセッサによって実行される場合、前記コンピューティング・システムに、
特定領域の地図に対するリクエストを取得するステップと、
前記特定領域に基づいて、前記特定領域の第１の地理的部分を表現するために、１つまたは複数の地図部分の第１のセットを特定するステップであって、前記第１のセットは、第１の地図データ・ソースと関連付けられている、前記第１のセットを特定するステップと、
前記特定領域に基づいて、前記特定領域の第２の地理的部分を表現するために、１つまたは複数の地図部分の第２のセットを特定するステップであって、前記第２のセットは、第２の地図データ・ソースと関連付けられている、前記第２のセットを特定するステップと、
前記第１のセットの明るさまたは色に基づいて前記第２のセットの明るさおよび色の少なくとも１つを変更するステップと、
前記第１のセットと前記第２のセットとの組み合わせに基づいて、前記特定領域の前記地図を生成するステップと、を備える方法を実行させる命令を備え、
前記第１の地理的部分は、前記特定領域内の第１の地理的領域を示し、
前記第２の地理的部分は、前記第１の地理的領域に隣接する前記特定領域内の第２の地理的領域を示し、
前記特定領域に基づいて、前記１つまたは複数の地図部分の第１のセットを特定するステップは、
前記１つまたは複数の地図部分の第１のセットを、グラウンド・トゥルースを表現する認識された地図データ・ソースに関連付けられた１つまたは複数の認識された地図部分と比較することに基づいて、第１の地図類似性スコアを算出するステップであって、前記１つまたは複数の認識された地図部分は、前記特定領域の前記第１の地理的部分を表現する、前記第１の地図類似性スコアを算出するステップと、
前記１つまたは複数の地図部分の第３のセットを、前記１つまたは複数の認識された地図部分と比較することに基づいて、第２の地図類似性スコアを算出するステップであって、前記第３のセットは、前記特定領域の前記第１の地理的部分を表現する、前記第２の地図類似性スコアを算出するステップと、
前記第１の地図類似性スコアが前記第２の地図類似性スコアよりも大きいと判断したことに基づいて、前記第１のセットを選択するステップと、を含む、非一時的なコンピュータ可読記憶媒体。
【請求項１５】
前記第１のセットを、前記１つまたは複数の認識された地図部分と比較することに基づいて、前記第１の地図類似性スコアを算出するステップは、
前記第１のセットから地図の特徴の第１のコレクションを取得するステップと、
前記１つまたは複数の認識された地図部分から地図の特徴の第２のコレクションを取得するステップと、
前記地図の特徴の第１のコレクションと前記地図の特徴の第２のコレクションとの間の類似性レベルを判定するステップであって、前記第１の地図類似性スコアは、前記類似性レベルに基づいている、前記類似性レベルを判定するステップと、を含む、請求項１４に記載の非一時的なコンピュータ可読記憶媒体。
【請求項１６】
前記第１のセットにおける少なくとも１つの地図部分は、前記第２のセットにおける少なくとも１つの地図部分と同時に、前記地図を生成するために取得される、請求項１４に記載の非一時的なコンピュータ可読記憶媒体。
【請求項１７】
前記命令は、前記コンピューティング・システムに、
前記第１のセットに関連付けられた第１のスタイルと、前記第２のセットに関連付けられた第２のスタイルとを、前記第１のスタイルが許容偏差内で前記第２のスタイルと一致するように、変更することをさらに実行させる、請求項１４に記載の非一時的なコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、電子マッピングの分野に関する。より詳細には、本技術は、複数の地図データ・ソースからの複数の地図部分を利用するための技術に関する。
【背景技術】
【０００２】
今日、人々は、多種多様な目的のためにコンピューティング・デバイス（またはシステム）をしばしば利用する。ユーザは、自身のコンピューティング・デバイスを使用して、例えば、互いに対話したり、コンテンツにアクセスしたり、コンテンツを共有したり、コンテンツを作成したりできる。場合によっては、ユーザは、自身のコンピューティング・デバイスを利用して、デジタル地図もしくは電子地図等の地図をダウンロードしたり、閲覧したり、これにアクセスしたり、または別の方法でこの地図と対話したりできる。例えば、ソーシャルネットワーキング・システム（またはサービス）のユーザは、自身のコンピューティング・デバイスを経由して、場所に関する情報をブラウズすることによって、または様々な場所にチェックインすることによって、地図にアクセスすることができる。
【０００３】
コンピュータ技術に根ざした従来のアプローチの下では、地図は、概ね、所与の地図データ・ソースまたはプロバイダから取得した地図データに基づいて作成またはレンダリングされる。一例では、コンピューティング・デバイスのユーザは、ＷｅＢリソースに関連付けられた単一のエンティティによって提供されることができる地図にアクセスするＷｅＢリソース（またはウェブサイト）に移動することができる。別の例では、ユーザは、アプリケーションに関連付けられた別のエンティティによって提供されることができる地図を提示するアプリケーション（またはアプリ）をダウンロードおよび実行することができる。しかしながら、地図を提供するための従来のアプローチによると、所与の地図データ・ソースは、１つの地域または場所についての満足な地図データを提供することができるが、別の地域または場所についての満足な地図データを提供することができない場合がある。このため、従来のアプローチでは、地図を利用することに伴う全体的なエクスペリエンスに関する課題が生じるか、または全体的なエクスペリエンスが損なわれてしまう場合がある。
【発明の概要】
【課題を解決するための手段】
【０００４】
本開示の様々な実施形態は、特定領域の地図に対するリクエストを取得するように構成されたシステム、方法、および非一時的なコンピュータ可読媒体を含んでもよい。特定領域の第１の部分を表現するための１つまたは複数の地図部分の第１のセットは、特定領域に基づいて識別することができる。第１のセットは、第１の地図データ・ソースに関連付けることができる。特定領域の第２の部分を表現するための１つまたは複数の地図部分の第２のセットは、特定領域に基づいて識別することができる。第２のセットは、第２の地図データ・ソースに関連付けることができる。特定領域の地図は、第１のセットと第２のセットとの組み合わせに基づいて生成することができる。
【０００５】
一実施形態では、特定領域に基づいて、第１のセットを識別するステップは、第１のセットを、認識された地図データ・ソースに関連付けられた１つまたは複数の認識された地図部分と比較することに基づいて、第１の地図類似性スコアを算出するステップをさらに備える。１つまたは複数の認識された地図部分は、特定領域の第１の部分を表現することができる。第２の地図類似性スコアは、１つまたは複数の地図部分の第３のセットを、１つまたは複数の認識された地図部分と比較することに基づいて、算出することができる。第３のセットは、特定領域の第１の部分を表現することができる。第１の地図類似性スコアが第２の地図類似性スコアよりも大きい場合、第１のセットは、第３のセットの代わりに選択することができる。
【０００６】
一実施形態において、第１のセットを、１つまたは複数の認識された地図部分と比較することに基づいて、第１の地図類似性スコアを算出するステップは、第１のセットから地図の特徴の第１のコレクションを取得するステップをさらに備えることができる。地図の特徴の第２のコレクションは、１つまたは複数の認識された地図部分から取得することができる。類似性レベルは、地図の特徴の第１のコレクションと地図の特徴の第２のコレクションとの間で判定することができる。第１の地図類似性スコアは、類似性レベルに基づくことができる。
【０００７】
一実施形態では、第１のコレクションまたは第２のコレクションのうちの少なくとも一方は、道路の特徴、水域の特徴、地形の特徴、ランドマークの特徴、または境界の特徴のうちの少なくとも１つを含むことができる。
【０００８】
一実施形態では、第１のセットは、特定領域の第１の部分を表現するために識別されるように予め設定することができる。
一実施形態では、第１のセットにおける少なくとも１つの地図部分は、第２のセットにおける少なくとも１つの地図部分と同時に、地図を生成するために取得することができる。
【０００９】
一実施形態では、第１のセットに関連付けられた第１のスタイルと、第２のセットに関連付けられた第２のスタイルとを、第１のスタイルが許容偏差内で第２のスタイルと一致するように、変更することができる。
【００１０】
一実施形態では、第１のセットにおける少なくともいくつかの地図部分の１つまたは複数の第１のグラフィカル品質と、第２のセットにおける少なくともいくつかの地図部分の１つまたは複数の第２のグラフィカル品質とを組み合わせることができる。
【００１１】
一実施形態では、第１のセットのための第１の属性情報と、第２のセットのための第２の属性情報と、を動的に提供することができる。第１の属性情報または第２の属性情報の少なくとも一方は、ロゴ、マーク、または著作権のうちの少なくとも１つに関連付けることができる。
【００１２】
一実施形態では、リクエストは、現在位置情報または言語情報のうちの少なくとも一方をさらに含むことができる。現在位置情報または言語情報のうちの少なくとも一方は、リクエストを提供するデバイスに関連付けることができる。第１のセットまたは第２のセットのうちの少なくとも一方は、現在位置情報または言語情報のうちの少なくとも一方にさらに基づいて識別されることができる。
【００１３】
開示技術の多くの他の特徴、応用、実施形態、および／または変形は、添付の図面および以下の詳細な説明から明らかとなることを理解されたい。開示技術の原理から逸脱することなく、本明細書に記載の構造、システム、非一時的なコンピュータ可読媒体、および方法の、追加の実施形態および代替の実施態様または追加の実施形態もしくは代替の実施態様を採用することができる。
【図面の簡単な説明】
【００１４】
【図１】本開示の一実施形態に係る、複数の地図データ・ソースからの複数の地図部分の利用を容易にするように構成された例示的な複数の地図部分モジュールを含む例示的なシステムを示す図である。
【図２Ａ】本開示の一実施形態に係る、複数の地図データ・ソースからの複数の地図部分の利用を容易にするように構成された例示的な地図部分識別モジュールを示す図である。
【図２Ｂ】本開示の一実施形態に係る、複数の地図データ・ソースからの複数の地図部分の利用を容易にするように構成された例示的な地図生成モジュールを示す図である。
【図３Ａ】本開示の一実施形態に係る、複数の地図データ・ソースからの複数の地図部分を利用することに関連付けられた例示的なシナリオを示す図である。
【図３Ｂ】本開示の一実施形態に係る、複数の地図データ・ソースからの複数の地図部分を利用することに関連付けられた例示的なシナリオを示す図である。
【図４Ａ】本開示の一実施形態に係る、複数の地図データ・ソースからの複数の地図部分を利用することに関連付けられた例示的なシナリオを示す図である。
【図４Ｂ】本開示の一実施形態に係る、複数の地図データ・ソースからの複数の地図部分を利用することに関連付けられた例示的なシナリオを示す図である。
【図５】本開示の一実施形態に係る、複数の地図データ・ソースからの複数の地図部分を利用することに関連付けられた例示的な方法を示す図である。
【図６】本開示の一実施形態に係る、複数の地図データ・ソースからの複数の地図部分を利用することに関連付けられた例示的な方法を示す図である。
【図７】本開示の一実施形態に係る、様々なシナリオで利用することができる例示的なソーシャルネットワーキング・システムを含む例示的なシステムのネットワーク図である。
【図８】本開示の一実施形態に係る、様々なシナリオで利用することができるコンピュータ・システムまたはコンピューティング・デバイスの例を示す図である。
【発明を実施するための形態】
【００１５】
図面は、単なる説明の目的のために開示技術の様々な実施形態を示しており、図面は、同様の要素を識別するために同じ参照番号を使用している。当業者は、以下の説明から、本明細書に記載された開示技術の原理から逸脱することなく、図面に示された構造および方法の代替の実施形態を使用できることを容易に認識するであろう。
【００１６】
複数の地図データ・ソースからの複数の地図部分の利用
人々は、様々な目的のために、コンピューティング・システム（またはデバイス）を使用する。ユーザは、自身のコンピューティング・システムを利用して、接続を確立したり、通信を行ったり、互いに対話したり、および／または様々なタイプのコンテンツと対話したりすることができる。場合によっては、コンピューティング・デバイスのユーザは、デジタル地図または電子地図等の地図を利用することができる。例えば、ユーザは、場所のページをブラウズする場合および様々な場所にチェックインする場合の両方または一方等に、自身のコンピューティング・デバイスを利用して、ソーシャルネットワーキング・システム（またはサービス）に移動し、ソーシャルネットワーキング・システムを介して提供された地図にアクセスすることができる。別の例では、ユーザは、マッピングＷｅＢリソースを介して提供された地図にアクセスすることができる。さらなる例では、ユーザは、マッピングアプリケーションを介して提供された地図にアクセスすることができる。
【００１７】
コンピュータ技術に根ざした従来のアプローチは、概ね、地図データを提供するための特定の地図データ・ソースを利用し、その後、その特定の地図データ・ソースからの地図データに基づいて地図を生成することを伴う。しかしながら、地図を利用するための従来のアプローチの下では、特定の地図データ・ソースによって提供された地図データに基づいて生成された地図は、多くの場合、１つまたは複数の特定領域または場所を表現するための十分な細密性、正確性、または包括性を欠く場合がある。したがって、このような従来のアプローチは、地図を提供するためには、非効率的、非効果的、または不便である場合がある。
【００１８】
これらの懸念または他の懸念のために、従来のアプローチは、不利または問題となる場合がある。したがって、改良されたアプローチは、従来のアプローチに伴う様々な欠点に対処するか、または欠点を軽減するために有益であり得る。コンピュータ技術に基づいて、開示技術は、複数の地図データ・ソースから、複数の地図部分（すなわち、地図タイル、正方形の地図部分、矩形の地図部分、多角形の地図部分等）を利用することができる。本開示の様々な実施形態は、特定領域の地図に対するリクエストを取得することができる。特定領域の第１の部分を表現するための１つまたは複数の地図部分の第１のセットは、特定領域に基づいて識別することができる。第１のセットは、第１の地図データ・ソースに関連付けることができる。特定領域の第２の部分を表現するための１つまたは複数の地図部分の第２のセットは、特定領域に基づいて識別することができる。第２のセットは、第２の地図データ・ソースに関連付けることができる。特定領域の地図は、第１のセットと第２のセットとの組み合わせに基づいて生成することができる。開示技術に関連付けられた、多くの変形例および他の可能性または多くの変形例もしくは他の可能性が存在し得ることが想到される。
【００１９】
図１は、本開示の一実施形態に係る、複数の地図データ・ソースからの複数の地図部分の利用を容易にするように構成され、例示的な複数の地図部分モジュール１０２を含む、例示的なシステム１００を示す。図１の例に示すように、複数の地図部分モジュール１０２は、リクエスト取得モジュール１０４と、地図部分識別モジュール１０６と、地図生成モジュール１０８と、を含んでもよい。いくつかの例では、例示的なシステム１００は、少なくとも１つのデータ・ストア１１０を含んでもよい。同図および本明細書のすべての図に示される構成要素（例えば、モジュール、要素等）は、単なる例示であり、他の実施態様では、追加の、より少ない、統合された、または異なる構成要素を含んでもよい。関連する詳細を不明瞭にしないように、一部の構成要素を図示しない場合がある。
【００２０】
いくつかの実施形態では、複数の地図部分モジュール１０２は、ソフトウェア、ハードウェア、またはこれらの任意の組み合わせとして、部分的にまたは全体的に実装できる。概して、本明細書で説明するようなモジュールは、ソフトウェア、ハードウェア、またはこれらの任意の組み合わせと関連付けることができる。いくつかの実施態様において、モジュールの１つまたは複数の機能、タスク、および／または動作を、ソフトウェア・ルーチン、ソフトウェア・プロセス、ハードウェア、および／またはこれらの任意の組み合わせによって実行または行うことができる。場合によっては、複数の地図部分モジュール１０２は、ユーザのコンピューティング・デバイスまたはクライアントのコンピューティング・デバイス上等の１つまたは複数のコンピューティング・デバイスまたはシステム上で実行されるソフトウェアとして、部分的にまたは全体的に実装することができる。例えば、複数の地図部分モジュール１０２またはその少なくとも一部は、図７のユーザ・デバイス７１０等の、ユーザのコンピューティング・デバイスまたはクライアントのコンピューティング・システム上で稼動するアプリケーション（例えば、アプリ）、プログラム、アプレット（applet）、またはオペレーティング・システム等として実装するか、またはこの中に実装することができる。別の例では、複数の地図部分モジュール１０２またはその少なくとも一部は、ネットワーク・サーバまたはクラウド・サーバ等の１つまたは複数のサーバを含む１つまたは複数のコンピューティング・デバイスまたはコンピューティング・システムを使用して具体化することができる。いくつかの例では、複数の地図部分モジュール１０２は、図７のソーシャルネットワーキング・システム７３０のようなソーシャルネットワーキング・システム（またはサービス）内で部分的にまたは全体的に具体化されるか、これと協働して動作するように構成することができる。多くの変形例またはその他の可能性が存在し得ることを理解されたい。
【００２１】
リクエスト取得モジュール１０４は、特定領域の地図に対するリクエストの取得を可能にするように構成され得る。場合によっては、リクエスト取得モジュール１０４は、ユーザ・デバイス７１０、および図７のソーシャルネットワーキング・システム７３０の少なくとも１つのサーバの両方または一方等のコンピューティング・デバイス（またはシステム）からの特定領域の地図に対するリクエストを、受信、フェッチ、または別の方法で取得するように構成され得る。一例では、コンピューティング・デバイスは、特定領域の地図をロードまたはレンダリングするよう試みる場合、特定領域の地図をリクエストすることができる。別の例では、コンピューティング・デバイスは、地図を特定領域にシフトさせるか、またはズームさせるユーザ・コマンドまたはユーザ・インタラクション（例えば、スクロール操作、ズーム操作等）を受信または検出した場合、特定領域の地図をリクエストすることができる。本明細書のすべての例は、説明の目的のために提供されており、多くの変形例が可能であることを理解されたい。
【００２２】
いくつかの実施形態では、リクエストは、現在位置情報または言語情報のうちの少なくとも一方をさらに含むことができる。現在位置情報または言語情報のうちの少なくとも一方は、ユーザ・デバイス７１０等の、リクエストを提供するデバイスに関連付けることができる。いくつかの実施態様において、特定領域についての地図は、現在位置情報または言語情報のうちの少なくとも一方に基づく等、リクエストに含まれた情報に基づいて生成することができる。例えば、紛争となっている境界を特定領域が含む場合、その特定領域の地図は、デバイスの現在の位置に基づいて、境界の好適な描写を含むように生成することができる。別の例では、言語情報が特定の言語の好みを示し、特定領域の地図がテキスト（例えば、都市、地域、道路等の名称）を含む場合、特定領域の地図は、特定の言語のテキストを含んで生成することができる。多くの変形例が可能である。
【００２３】
地図部分識別モジュール１０６は、特定領域に基づいて、特定領域の第１の部分を表現するための１つまたは複数の地図部分の第１のセットの識別を容易にするように構成され得る。第１のセットは、第１の地図データ・ソースに関連付けることができる。地図部分識別モジュール１０６はまた、特定領域に基づいて、特定領域の第２の部分を表現するための１つまたは複数の地図部分の第２のセットの識別を可能にするように構成され得る。第２のセットは、第２の地図データ・ソースに関連付けることができる。いくつかの例では、第１のセットまたは第２のセットのうちの少なくとも一方は、現在位置情報および言語情報の両方または一方等の、リクエストに含まれる情報にさらに基づいて、識別され得る。地図部分識別モジュール１０６については、図２Ａを参照して、より詳細に以下で説明する。
【００２４】
また、地図生成モジュール１０８は、第１のセットと第２のセットとの組み合わせに基づいて、特定領域の地図の生成を容易にするように構成され得る。場合によっては、地図生成モジュール１０８は、第１の領域を生成するために第１のセットを利用することができ、第２の領域を生成するために第２のセットを利用することができる。地図生成モジュール１０８に関するさらなる詳細は、図２Ｂを参照して以下に提供する。
【００２５】
さらに、いくつかの実施形態では、例示的なシステム１００に示すように、複数の地図部分モジュール１０２を、少なくとも１つのデータ・ストア１１０と通信および動作または通信もしくは動作するように構成することができる。少なくとも１つのデータ・ストア１１０は、各種データを格納および維持するように構成され得る。いくつかの実施態様において、少なくとも１つのデータ・ストア１１０は、ソーシャルネットワーキング・システム（例えば、図７のソーシャルネットワーキング・システム７３０）に関連付けられた情報を格納できる。ソーシャルネットワーキング・システムに関連付けられた情報としては、ユーザ、ソーシャルつながり、ソーシャル上の対話、位置、ジオフェンスエリア（geo-fenced area）、地図、場所、イベント、ページ、グループ、投稿、通信、コンテンツ、フィード、アカウント設定、プライバシー設定、ソーシャルグラフ、およびその他の各種のデータを挙げることができる。いくつかの実施態様において、少なくとも１つのデータ・ストア１１０は、ユーザ識別子、ユーザ情報、プロフィール情報、ユーザの場所、ユーザが指定した設定、ユーザによって生成または投稿されたコンテンツ、および他の各種のユーザデータ等の、ユーザに関連付けられた情報を格納することができる。いくつかの実施形態では、少なくとも１つのデータ・ストア１１０は、複数の地図部分モジュール１０２によって利用される情報を格納することができる。ここでも、多くの変形例または他の可能性が存在し得ることが想到される。
【００２６】
図２Ａは、本開示の一実施形態に係る、複数の地図データ・ソースからの複数の地図部分の利用を可能にするように構成された例示的な地図部分識別モジュール２０２を示す。いくつかの実施形態では、図１の地図部分識別モジュール１０６は、例示的な地図部分識別モジュール２０２として具体化することができる。図２Ａに示すように、地図部分識別モジュール２０２は、リクエスト情報モジュール２０４と、プリセット・モジュール２０６と、類似性スコア・モジュール２０８と、を含んでもよい。
【００２７】
前述したように、地図部分識別モジュール２０２は、リクエストされる地図の特定領域に基づいて、特定領域の第１の部分を表現するための１つまたは複数の地図部分の第１のセットの識別を可能にするように構成され得る。第１のセットは、第１の地図データ・ソースに関連付けることができる。地図部分識別モジュール２０２はまた、特定領域に基づいて、特定領域の第２の部分を表現するための１つまたは複数の地図部分の第２のセットの識別を可能にするようにも構成され得る。第２のセットは、第２の地図データ・ソースに関連付けることができる。地図部分識別モジュール２０２は、リクエスト情報モジュール２０４を利用して、特定領域、現在位置情報、および／または言語情報に関する情報等の、リクエストに含まれる情報を、受信、フェッチ、構文解析、または別の方法で取得することができる。したがって、第１のセットおよび第２のセットの両方または一方は、リクエストに含まれ、かつリクエスト情報モジュール２０４により取得される、かかる情報に基づいて識別することができる。
【００２８】
第１のセットは、第１のセットが、特定領域の第１の部分を表現するための、細密性、正確性、および／または包括性の少なくとも特定の閾値レベルを提供するという判定に基づいて識別され得る。同様に、第２のセットは、第２のセットが、特定領域の第２の部分を表現するための、細密性、正確性、および／または包括性の少なくとも特定の閾値レベルを提供するという判定に基づいて識別され得る。いくつかの場合には、地図部分識別モジュール２０２は、プリセット・モジュール２０６を利用して、特定領域の第１の部分を表現するために識別される第１のセットを予め設定（例えば、手動で定義）することができるが、この場合、第１のセットは、第１の部分を表現するために、細密性、正確性、包括性であり、および／または別の形で好適であると判断または判定されている。いくつかの例では、プリセット・モジュール２０６はまた、特定領域の第２の部分を表現するために識別される第２のセットを予め設定することもできるが、この場合、第２のセットは、第２の部分を表現するために、正確性、包括性であり、および／または別の形で好適であると判断または判定されている。一例では、プリセット・モジュール２０６は、特定領域の第１の部分と第１のセットとの間の第１のマッピングを生成および格納することができる。この例では、プリセット・モジュール２０６はまた、特定領域の第２の部分と第２のセットとの間の第２のマッピングを生成および格納することもできる。リクエストが、第１の部分および第２の部分を含む特定領域の地図のリクエストである場合、第１のセットおよび第２のセットを予め設定して、それぞれ識別することができる。開示技術に関連付けられた、多くの変形例または他の可能性が存在し得ることが想到される。例えば、開示技術は、任意の好適な量の地図部分のセット、および任意の好適な量の様々なリクエストされた領域の部分を使って、利用することができる。
【００２９】
さらに、いくつかの実施形態では、地図部分識別モジュール２０２は、例えば、類似性スコア・モジュール２０８を利用して、第１のセットを、認識された地図データ・ソースに関連付けられた１つまたは複数の認識された地図部分と比較することに基づいて、第１の地図類似性スコアを算出することができる。１つまたは複数の認識された地図部分は、特定領域の第１の部分を表現することができる。場合によっては、認識された地図データ・ソースは、グラウンド・トゥルース（ground truth）を表現する、事前定義され、信頼性があり、および／または検証された地図データ・ソースに対応できる。類似性スコア・モジュール２０８はまた、１つまたは複数の地図部分の第３のセットを、１つまたは複数の認識された地図部分と比較することに基づいて、第２の地図類似性スコアを算出することもできる。第３のセットは、特定領域の第１の部分を表現することができる。第１の地図類似性スコアが第２の地図類似性スコアよりも大きい場合、地図部分識別モジュール２０２は、第３のセットの代わりに第１のセットを選択（または識別）することができる。
【００３０】
同様に、いくつかの実施態様において、地図部分識別モジュール２０２は、例えば、類似性スコア・モジュール２０８を利用して、第２のセットを、認識された地図データ・ソースに関連する１つまたは複数の他の認識された地図部分と比較することに基づいて、第３の地図類似性スコアを算出することができる。１つまたは複数の他の認識された地図部分は、特定領域の第２の部分を表現することができる。類似性スコア・モジュール２０８はまた、１つまたは複数の地図部分の第４のセットを、１つまたは複数の他の認識された地図部分と比較することに基づいて、第４の地図類似性スコアを算出することもできる。第４のセットは、特定領域の第２の部分を表現することができる。第３の地図類似性スコアが第４の地図類似性スコアよりも大きい場合、地図部分識別モジュール２０２は、第４のセットの代わりに第２のセットを選択（または識別）することができる。上述のように、多くの変形例が可能であることを理解されたい。
【００３１】
また、いくつかの実施形態では、第１のセットを、１つまたは複数の認識された地図部分と比較することに基づいて、第１の地図類似性スコアを算出することは、第１のセットから地図の特徴の第１のコレクションを取得することをさらに含むことができる。地図の特徴の第２のコレクションは、１つまたは複数の認識された地図部分から取得することもできる。類似性スコア・モジュール２０８は、地図の特徴の第１のコレクションと地図の特徴の第２のコレクションとの間の類似性レベルを判定することができる。第１の地図類似性スコアは、類似性レベルに基づくことができる。場合によっては、第１のコレクションまたは第２のコレクションのうちの少なくとも一方は、道路の特徴、水域の特徴、地形の特徴、ランドマークの特徴、または境界の特徴等のうちの少なくとも１つを含むことができる。
【００３２】
同様に、第２のセットを、１つまたは複数の認識された地図部分と比較することに基づいて、第３の地図類似性スコアを算出することは、第２のセットから地図の特徴の第３のコレクションを取得することをさらに含むことができる。地図の特徴の第４のコレクションは、１つまたは複数の他の認識された地図部分から取得することもできる。類似性スコア・モジュール２０８は、地図の特徴の第３のコレクションと地図の特徴の第４のコレクションとの間の別の類似性レベルを判定することができる。第３の地図類似性スコアは、この、他の類似性レベルに基づくことができる。いくつかの例では、第３のコレクションまたは第４のコレクションのうちの少なくとも一方は、道路の特徴、水域の特徴、地形の特徴、ランドマークの特徴、または境界の特徴等のうちの少なくとも１つを含むことができる。ここでも、多くの変形例が可能である。
【００３３】
図２Ｂは、本開示の一実施形態に係る、複数の地図データ・ソースからの複数の地図部分の利用を可能にするように構成された例示的な地図生成モジュール２２２を示す。いくつかの実施形態では、図１の地図生成モジュール１０８は、例示的な地図生成モジュール２２２として具体化できる。図２Ｂに示すように、地図生成モジュール２２２は、地図部分取得モジュール２２４と、地図部分修正モジュール２２６と、属性情報モジュール２２８と、を含んでもよい。
【００３４】
上述したように、地図生成モジュール２２２は、１つまたは複数の地図部分の第１のセットと１つまたは複数の地図部分の第２のセットとの組み合わせに基づいて、特定領域の地図の生成を可能にするように構成され得る。いくつかの実施形態において、地図生成モジュール２２２は、地図部分取得モジュール２２４を利用して、第１のセットおよび第２のセットを、同時に、フェッチ、受信、または別の方法で取得することができる。一例では、第１のセットの少なくとも１つの地図部分は、第２のセットの少なくとも１つの地図部分と同時に（例えば、少なくとも一時的に同時に）、地図を生成するために取得されることができる。
【００３５】
また、いくつかの実施態様において、地図生成モジュール２２２は、地図部分変更モジュール２２４を利用して、第１のスタイルが、許容偏差内で、第２のスタイルに一致するように（逆の場合も同じ）、第１のセットに関連付けられた第１のスタイル（例えば、外観）と、第２のセットに関連付けられた第２のスタイルとを変更できる。場合によっては、地図部分変更モジュール２２４はまた、第１のセットにおける少なくともいくつかの地図部分の１つまたは複数の第１のグラフィカル品質（例えば、色、明るさ、地形の位置、道路の位置等）と、第２のセットにおける少なくともいくつかの地図部分の１つまたは複数の第２のグラフィカル品質と、を組み合わせる（例えば、ミックス、フェード、ブラー等）こともできる。
【００３６】
さらに、いくつかの実施形態において、地図生成モジュール２２２は、属性情報モジュール２２８を利用して、第１のセットのための第１の属性情報と、第２のセットのための第２の属性情報と、を動的に提供することができる。場合によっては、第１の属性情報または第２の属性情報のうちの少なくとも一方は、ロゴ、マーク、または著作権のうちの少なくとも１つに関連付けられてもよい。ここでも、開示技術に関連する、多くの変形例または他の可能性が存在し得る。
【００３７】
図３Ａは、本開示の一実施形態に係る、複数の地図データ・ソースからの複数の地図部分を利用することに関連付けられた例示的なシナリオ３００を示す。図３Ａの例示的なシナリオ３００において、地図部分の第１のセット（例えば、地図部分３０２および３０４）および地図部分の第２のセット（例えば、地図部分３０６および３０８）に基づいて生成された、特定領域についての例示的な地図が存在し得る。
【００３８】
例示的なシナリオ３００では、第１の地図データ・ソースから取得された地図部分３０２および３０４の第１のセットを利用して、特定領域の第１の部分を表現する一方、第２の地図データ・ソースから取得された地図部分３０６および３０８の第２のセットを利用して、特定領域の第２の部分を表現する。この例では、地図部分３０２および３０４の第１のセットは、第１の部分を表現するために、好適、最良、および／または別の形で適切であるとして選択および識別され得る。また、第２の地図データ・ソース（または第３の地図データ・ソース等）は、第１の部分を表現する地図部分の別のセットを有することができるか、またはこの別のセットにアクセスすることができるが、この例では、地図部分の他のセットは、第１のセットとして第１の部分を表現するために好適でもなく適切でもないと判定もしくは判断されているかまたは好適でないかもしくは適切ではないと判定もしくは判断されている。同様に、この例では、地図部分３０６および３０８の第２のセットは、第２の部分を表現するために、好適、最良、および／または別の形で適当であるとして選択および識別され得る。さらに、第１の地図データ・ソース（または第３の地図データ・ソース等）は、第２の部分を表現する地図部分の異なるセットを有することができるか、またはこの異なるセットにアクセスすることができるが、この例では、地図部分の異なるセットは、第２のセットとして第２の部分を表現するために好適でもなく適切でもないと判定もしくは判断されているかまたは好適でないかもしくは適切ではないと判定もしくは判断されている。開示技術に関連付けられた多くの変形例または他の可能性が存在し得る。
【００３９】
図３Ｂは、本開示の一実施形態に係る、複数の地図データ・ソースからの複数の地図部分を利用することに関連付けられた例示的なシナリオ３２０を示す。図３Ｂの例示的なシナリオ３２０は、互いにスタイル（style）および外観（appearance）の両方または一方を許容偏差内で一致させるために、第１のセット（例えば、地図部分３０２および３０４）または第２のセット（例えば、地図部分３０６および３０８）のうちの少なくとも一方を変更した後の、図３Ａの例示的なシナリオ３００を示す。図３Ｂの例示的なシナリオ３２０に示されるように、開示技術は、第１のセットに関連付けられた第１のスタイル（もしくは外観）と、第２のセットに関連付けられた第２のスタイル（もしくは外観）と、の両方または一方を、第１のスタイルが許容偏差内で第２のスタイルに一致するように変更できる。ここでも、本明細書のすべての例は、説明の目的のために提供されており、多くの変形例または可能性が存在し得ることを理解されたい。
【００４０】
図４Ａは、本開示の一実施形態に係る、複数の地図データ・ソースからの複数の地図部分を利用することに関連付けられた例示的なシナリオ４００を示す。図４Ａの例示的なシナリオ４００において、特定領域についての例示的な地図が存在し得る。特定領域は、図３Ａまたは図３Ｂの地図部分３０６の、拡大されたバージョンであってもよい。
【００４１】
図４Ａの例示的なシナリオ４００に示されるように、特定領域についての地図は、１つまたは複数の地図部分（例えば、地図部分４０２および４０６）の第１のセットと、１つまたは複数の地図部分（例えば、地図部分４０４）の第２のセットと、１つまたは複数の地図部分（例えば、地図部分４０８）の第３のセットと、に基づいて生成することができる。例示的なシナリオ４００において、第１のセットは、特定領域の第１の部分を表現するために、好適、最良、および／または別の形で適切であるとして識別することができ、第２のセットは、特定領域の第２の部分を表現するために、好適、最良、および／または別の形で適切であるとして識別することができ、第３のセットは、特定領域の第３の部分を表現するために、好適、最良、および／または別の形で適切であるとして識別することができる。開示技術に関連付けられた、多くの変形例または他の可能性が存在し得ることが想到される。
【００４２】
図４Ｂは、本開示の一実施形態に係る、複数の地図データ・ソースからの複数の地図部分を利用することに関連付けられた例示的なシナリオ４２０を示す。図４Ｂの例示的なシナリオ４２０は、互いにスタイルおよび外観の両方または一方を許容偏差内で一致させるために、第１のセット（例えば、地図部分４０２および４０６）、第２のセット（例えば、地図部分４０４）、または第３のセット（例えば、地図部分４０８）のうちの少なくとも１つを変更した後の、図４Ａの例示的なシナリオ４００を示す。図４Ｂの例示的なシナリオ４２０に示されるように、開示技術は、第１のセットに関連付けられた第１のスタイル（もしくは外観）、第２のセットに関連付けられた第２のスタイル（もしくは外観）、および／または第３のセットに関連付けられた第３のスタイル（もしくは外観）を、第１のスタイル、第２のスタイル、および／または第３のスタイルが許容偏差内で互いに一致するように変更できる。上述のように、本明細書のすべての例は、説明の目的のために提供されており、多くの変形例が可能であることを理解されたい。
【００４３】
図５は、本開示の一実施形態に係る、複数の地図データ・ソースからの複数の地図部分を利用することに関連付けられた例示的な方法５００を示す。別段の記載がない限り、様々な実施形態の範囲内で、類似のもしくは代替の順序で、または並行して実行される、追加の、より少ない、または代替のステップが存在し得ることを理解されたい。
【００４４】
ブロック５０２で、例示的な方法５００は、特定領域の地図に対するリクエストを取得することができる。ブロック５０４において、例示的な方法５００は、特定領域に基づいて、特定領域の第１の部分を表現するための１つまたは複数の地図部分の第１のセットを識別することができる。第１のセットは、第１の地図データ・ソースに関連付けることができる。ブロック５０６において、例示的な方法５００は、特定領域に基づいて、特定領域の第２の部分を表現するための１つまたは複数の地図部分の第２のセットを識別することができる。第２のセットは、第２の地図データ・ソースに関連付けることができる。ブロック５０８において、例示的な方法５００は、第１のセットと第２のセットとの組み合わせに基づいて、特定領域の地図を生成することができる。
【００４５】
図６は、本開示の一実施形態に係る、複数の地図データ・ソースからの複数の地図部分を利用することに関連する例示的な方法６００を示す。上述したように、別段の記載がない限り、様々な実施形態の範囲内で、類似のもしくは代替の順序で、または並行して実行される、追加の、より少ない、または代替のステップが存在し得ることを理解されたい。
【００４６】
ブロック６０２で、例示的な方法６００は、第１のセットを、認識された地図データ・ソースに関連付けられた１つまたは複数の認識された地図部分と比較することに基づいて、第１の地図類似性スコアを算出することができる。１つまたは複数の認識された地図部分は、特定領域の第１の部分を表現することができる。ブロック６０４において、例示的な方法６００は、１つまたは複数の地図部分の第３のセットを、１つまたは複数の認識された地図部分と比較することに基づいて、第２の地図類似性スコアを算出することができる。第３のセットは、特定領域の第１の部分を表現することができる。第１の地図類似性スコアが第２の地図類似性スコアよりも大きい場合、例示的な方法６００は、ブロック６０６において、第３のセットの代わりに第１のセットを選択することができる。
【００４７】
本開示の様々な実施形態に関連する、多くの他の用途、応用、特徴、可能性、および／または変形例が存在し得ることが想到される。例えば、いくつかの実施形態では、開示技術は、複数の地図データ・ソースからの複数の地図部分に基づいて生成された地図を利用して、特定の場所（例えば、ランドマーク、建物、店舗、公園、学校、住宅、関心があるポイント等）を提示することができる。開示技術は、特定の場所を表現する境界ボックス（例えば、仮想多角形）を、サード・パーティのデータ（例えば、ポリゴン・データ）およびロケーション・データ（例えば、様々なロケーションでの特定の場所に対するチェックイン・データ）の両方または一方に基づいて、生成することができる。特定の場所についての境界ボックスのサイズ（高さおよび幅）に基づいて、かつ現在閲覧している／閲覧可能な地図エリアのサイズ（高さおよび幅）に基づいて、境界ボックス全体を表示しながら特定の場所の地図を特定の場所の中心とすることができるように、開示技術は、特定の場所の地図を表示するための、デフォルトの、好ましい、好適な、または最良の、ズームレベルを判定することができる。また、いくつかの例では、開示技術は、第１の動的地図を提供するための第１のインタフェース部分と、第２の動的地図を提供するための第２のインタフェース部分と、を有するインタフェース等を介して、複数の動的地図を同時に提供することができる。さらに、場合によっては、ユーザは、開示技術を利用するためにオプトインするかどうかを選択することができる。開示技術はまた、例えば、様々なプライバシー設定および好みが確実に維持されるようにすること、ならびに、個人情報の漏洩を防止することもできる。別の例では、本開示の様々な実施形態は、経時的に、学習、改善し、および／または改良され得る。
【００４８】
ソーシャルネットワーキング・システム例示的な実施態様
図７は、本開示の一実施形態に係る、様々なシナリオにおいて使用可能な例示的なシステム７００のネットワーク図を示す。システム７００は、１つまたは複数のユーザ機器７１０、１つまたは複数の外部システム７２０、ソーシャルネットワーキング・システム（またはサービス）７３０、およびネットワーク７５０を具備する。一実施形態において、上述の実施形態と関連して説明したソーシャルネットワーキングサービス、プロバイダ、および／またはシステムは、ソーシャルネットワーキング・システム７３０として実装されていてもよい。説明の便宜上、図７に示すシステム７００の実施形態には、単一の外部システム７２０および単一のユーザ機器７１０を含む。ただし、他の実施形態において、システム７００は、より多くのユーザ機器７１０およびより多くの外部システム７２０の両方または一方を具備していてもよい。特定の実施形態においては、ソーシャルネットワーキング・システム７３０がソーシャル・ネットワーク・プロバイダにより運用されるのに対して、外部システム７２０は、異なるエンティティにより運用可能である点において、ソーシャルネットワーキング・システム７３０から分離されている。ただし、種々実施形態において、ソーシャルネットワーキング・システム７３０および外部システム７２０は、協調して動作することにより、ソーシャルネットワーキング・システム７３０のユーザ（メンバー）にソーシャルネットワーキングサービスを提供する。この意味において、ソーシャルネットワーキング・システム７３０は、プラットフォームまたはバックボーンを提供し、これを外部システム７２０等の他のシステムが利用して、インターネット全体でユーザにソーシャルネットワーキングサービスおよび機能を提供するようにしてもよい。いくつかの実施形態では、ソーシャルネットワーキング・システム７３０は、ソーシャルメディアシステム（またはサービス）を含むか、またはそれに対応することができる。
【００４９】
ユーザ機器７１０は、ユーザからの入力を受け付けるとともにネットワーク７５０を介してデータを送受信可能な１つまたは複数のコンピュータ機器（またはシステム）を備える。一実施形態において、ユーザ機器７１０は、たとえばＭｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ互換オペレーティング・システム（ＯＳ）、Ａｐｐｌｅ  ＯＳ  Ｘ、および／またはＬｉｎｕｘディストリビューションを実行する従来のコンピュータ・システムである。別の実施形態において、ユーザ機器７１０としては、スマートフォン、タブレット、携帯情報端末（ＰＤＡ：Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔ）、携帯電話、ラップトップコンピュータ、ウェアラブル装置（例えば、眼鏡、腕時計、ブレスレット等）、カメラ、家電機器等、コンピュータ機能を有する機器またはコンピューティング機器が可能である。ユーザ機器７１０は、ネットワーク７５０を介して通信を行うように構成されている。また、ユーザ機器７１０は、該ユーザ機器７１０のユーザによるソーシャルネットワーキング・システム７３０との相互作用を可能にするブラウザ・アプリケーション等のアプリケーションを実行可能である。別の実施形態において、ユーザ機器７１０は、ｉＯＳおよびＡＮＤＲＯＩＤ等、ユーザ機器７１０のネイティブオペレーティング・システムが提供するアプリケーション・プログラミング・インタフェース（ＡＰＩ）を通して、ソーシャルネットワーキング・システム７３０と相互作用する。ユーザ機器７１０は、有線通信システムおよび無線通信システムの両方または一方を用いることにより、ローカル・エリア・ネットワークおよびワイド・エリア・ネットワークの両方または一方の任意の組み合わせを含み得るネットワーク７５０を介して、外部システム７２０およびソーシャルネットワーキング・システム７３０と通信するように構成されている。
【００５０】
一実施形態において、ネットワーク７５０は、標準的な通信技術およびプロトコルを使用する。このため、ネットワーク７５０には、イーサネット、８０２．１１、ＷｉＭＡＸ（Ｗｏｒｌｄｗｉｄｅ  Ｉｎｔｅｒｏｐｅｒａｂｉｌｉｔｙ  ｆｏｒ  Ｍｉｃｒｏｗａｖｅ  Ａｃｃｅｓｓ）、３Ｇ、４Ｇ、ＣＤＭＡ（Ｃｏｄｅ  Ｄｉｖｉｓｉｏｎ  Ｍｕｌｔｉｐｌｅ  Ａｃｃｅｓｓ）、ＧＳＭ（Ｇｌｏｂａｌ  Ｓｙｓｔｅｍ  ｆｏｒ  Ｍｏｂｉｌｅ  Ｃｏｍｍｕｎｉｃａｔｉｏｎｓ）、ＬＴＥ（Ｌｏｎｇ  Ｔｅｒｍ  Ｅｖｏｌｕｔｉｏｎ）、デジタル・サブスクライバ・ライン（ＤＳＬ）等の技術を用いたリンクを含み得る。同様に、ネットワーク７５０で用いられるネットワーキング・プロトコルとしては、マルチ・プロトコル・ラベル・スイッチング（ＭＰＬＳ）、伝送制御プロトコル／インターネット・プロトコル（ＴＣＰ／ＩＰ：Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ／Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）、ユーザ・データグラム・プロトコル（ＵＤＰ）、ハイパー・テキスト転送プロトコル（ＨＴＴＰ：Ｈｙｐｅｒｔｅｘｔ  Ｔｒａｎｓｐｏｒｔ  Ｐｒｏｔｏｃｏｌ）、簡易メール転送プロトコル（ＳＭＴＰ：Ｓｉｍｐｌｅ  Ｍａｉｌ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）、ファイル転送プロトコル（ＦＴＰ：Ｆｉｌｅ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）等が挙げられる。ネットワーク７５０上で交換されるデータは、ハイパー・テキスト・マークアップ言語（ＨＴＭＬ：Ｈｙｐｅｒｔｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）および拡張マークアップ言語（ＸＭＬ：Ｅｘｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）を含む技術およびフォーマットまたは技術もしくはフォーマットを用いて表すことができる。また、全部または一部のリンクは、セキュアソケットレイヤ（ＳＳＬ：Ｓｅｃｕｒｅ  Ｓｏｃｋｅｔｓ  Ｌａｙｅｒ）、トランスポートレイヤセキュリティ（ＴＬＳ：Ｔｒａｎｓｐｏｒｔ  Ｌａｙｅｒ  Ｓｅｃｕｒｉｔｙ）、およびインターネット・プロトコル・セキュリティ（Ｉｐｓｅｃ：Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ  ｓｅｃｕｒｉｔｙ）等の従来の暗号化技術を用いて暗号化可能である。
【００５１】
一実施形態において、ユーザ機器７１０は、外部システム７２０およびソーシャルネットワーキング・システム７３０から受信したマークアップ言語ドキュメント（markup language document）７１４をブラウザ・アプリケーション７１２で処理することにより、外部システム７２０およびソーシャルネットワーキング・システム７３０または外部システム７２０もしくはソーシャルネットワーキング・システム７３０からのコンテンツを表示するようにしてもよい。マークアップ言語ドキュメント７１４は、コンテンツおよび該コンテンツの書式設定または体裁を記述した１つまたは複数の命令を識別する。マークアップ言語ドキュメント７１４に含まれる命令を実行することにより、ブラウザ・アプリケーション７１２は、マークアップ言語ドキュメント７１４により記述されたフォーマットまたは体裁で識別コンテンツを表示する。たとえば、マークアップ言語ドキュメント７１４には、外部システム７２０およびソーシャルネットワーキング・システム７３０から読み出されたテキストおよび画像データまたはテキストもしくは画像データを含む複数のフレームを有するウェブページを生成および表示する命令を含む。種々実施形態において、マークアップ言語ドキュメント７１４は、拡張マークアップ言語（ＸＭＬ）データ、拡張ハイパー・テキスト・マークアップ言語（ＸＨＴＭＬ：Ｅｘｔｅｎｓｉｂｌｅ  Ｈｙｐｅｒｔｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）データ等のマークアップ言語データを含むデータ・ファイルを備える。また、マークアップ言語ドキュメント７１４は、ＪＳＯＮ（ＪａｖａＳｃｒｉｐｔ  Ｏｂｊｅｃｔ  Ｎｏｔａｔｉｏｎ）データ、ＪＳＯＮＰ（ＪＳＯＮ  ｗｉｔｈ  ｐａｄｄｉｎｇ）、およびＪａｖａＳｃｒｉｐｔデータを含むことにより、外部システム７２０とユーザ機器７１０との間のデータ交換を容易化するようにしてもよい。ユーザ機器７１０上のブラウザ・アプリケーション７１２は、ＪａｖａＳｃｒｉｐｔコンパイラを用いて、マークアップ言語ドキュメント７１４を復号化するようにしてもよい。
【００５２】
また、マークアップ言語ドキュメント７１４は、ＦＬＡＳＨ（商標）またはＵｎｉｔｙ（商標）アプリケーション、ＳｉｌｖｅｒＬｉｇｈｔ（商標）アプリケーション・フレームワーク等のアプリケーションまたはアプリケーション・フレームワークを含んでいてもよいし、これらとリンクしていてもよい。
【００５３】
また、一実施形態において、ユーザ機器７１０は、該ユーザ機器７１０のユーザがソーシャルネットワーキング・システム７３０にログインしたか否かを示すデータを含む１つまたは複数のクッキー７１６を含むことにより、ソーシャルネットワーキング・システム７３０からユーザ機器７１０に伝達されたデータの変更ができるようになっていてもよい。
【００５４】
外部システム７２０は、ネットワーク７５０を用いてユーザ機器７１０に伝達される１つまたは複数のウェブページ７２２ａ、７２２ｂを含む１つまたは複数のウェブ・サーバを具備する。また、外部システム７２０は、ソーシャルネットワーキング・システム７３０から分離されている。たとえば、外部システム７２０が第１のドメインと関連付けられる一方、ソーシャルネットワーキング・システム７３０は、別個のソーシャルネットワーキングドメインと関連付けられている。外部システム７２０に含まれるウェブページ７２２ａ、７２２ｂは、コンテンツを識別するとともに該識別コンテンツの書式設定または体裁を指定する命令を含むマークアップ言語ドキュメント７１４を含む。
【００５５】
ソーシャルネットワーキング・システム７３０は、複数のユーザを含み、ソーシャル・ネットワークのユーザに対して該ソーシャル・ネットワークの他のユーザと通信および相互作用する能力を提供する、該ソーシャル・ネットワーク用の１つまたは複数のコンピュータ機器を具備する。場合によっては、グラフ、すなわちエッジおよびノードを含むデータ構造により、ソーシャル・ネットワークを表すことができる。ソーシャル・ネットワークは、データベース、オブジェクト、クラス、メタ要素、ファイル、またはその他任意のデータ構造等、他のデータ構造を用いて表すこともできるが、これらに限定されない。ソーシャルネットワーキング・システム７３０は、オペレータにより運営、管理、または制御されるようになっていてもよい。ソーシャルネットワーキング・システム７３０のオペレータは、人間、自動化アプリケーション、またはコンテンツの管理、ポリシーの調整、ソーシャルネットワーキング・システム７３０内の利用状況総計値の収集を行う一連のアプリケーションであってもよい。オペレータは、任意の種類が用いられるようになっていてもよい。
【００５６】
ユーザは、ソーシャルネットワーキング・システム７３０に参加した後、ソーシャルネットワーキング・システム７３０のつながりたい任意数の他ユーザとのつながりを追加するようにしてもよい。本明細書において、用語「友達」は、ユーザがソーシャルネットワーキング・システム７３０を介して、つながり、関連性、または関係を形成した、ソーシャルネットワーキング・システム７３０のその他任意のユーザを表す。たとえば、一実施形態において、ソーシャルネットワーキング・システム７３０のユーザがソーシャルグラフのノードとして表される場合、用語「友達」は、２つのユーザ・ノード間に形成され、これら２つのユーザ・ノードを直接つなげるエッジを表し得る。
【００５７】
つながりは、ユーザ（たとえば、同じ教育機関の同窓生であるユーザ）の共通特性に基づいて、ユーザが明示的に追加してもよいし、ソーシャルネットワーキング・システム７３０が自動的に作成するようにしてもよい。たとえば、第１のユーザは、友達となる特定の他ユーザを具体的に選択する。ソーシャルネットワーキング・システム７３０におけるつながりは通例、両方向であるが、これは必須ではないため、用語「ユーザ」および「友達」は、枠組みによって決まる。ソーシャルネットワーキング・システム７３０のユーザ間のつながりは通例、双方向（「２方向」）すなわち「相互」であるが、単方向すなわち「１方向」であってもよい。たとえば、ボブ（Ｂｏｂ）およびジョー（Ｊｏｅ）がともにソーシャルネットワーキング・システム７３０のユーザであり、互いにつながっている場合、ボブおよびジョーは、互いのつながりである。一方、ボブがジョーとつながって、ジョーによりソーシャルネットワーキング・システム７３０に伝達されたデータを見たいものの、ジョーが相互のつながりを形成したくない場合は、単方向のつながりが確立されるようになっていてもよい。ユーザ間のつながりは、直接的なつながりであってもよい。ただし、ソーシャルネットワーキング・システム７３０のいくつかの実施形態によれば、つながりは、１つまたは複数のつながりレベルまたは分離度によって、間接的にすることができる。
【００５８】
ユーザ間のつながりの確立および維持ならびにユーザ間の相互作用の許可に加えて、ソーシャルネットワーキング・システム７３０は、該ソーシャルネットワーキング・システム７３０によりサポートされたさまざまな種類の項目に対するアクションをユーザが起こせるようにする。これらの項目には、ソーシャルネットワーキング・システム７３０のユーザが属し得るグループまたはネットワーク（すなわち、人々、エンティティ、およびコンセプトのソーシャル・ネットワーク）、ユーザが関心を示す可能性があるイベントまたはカレンダ・エントリ、ユーザがソーシャルネットワーキング・システム７３０を介して使用可能なコンピュータ・ベースのアプリケーション、ソーシャルネットワーキング・システム７３０が提供するサービスまたはソーシャルネットワーキング・システム７３０を通してユーザがアイテムの売買を行えるトランザクション、およびユーザがソーシャルネットワーキング・システム７３０上またはソーシャルネットワーキング・システム７３０外で実行可能な広告との相互作用、を含んでいてもよい。これらは、ユーザがソーシャルネットワーキング・システム７３０上で行うことができる項目のわずかな例に過ぎず、その他多くが可能である。ユーザは、ソーシャルネットワーキング・システム７３０もしくは外部システム７２０にて表し得るあらゆるもの、ソーシャルネットワーキング・システム７３０とは別個のあらゆるもの、またはネットワーク７５０を介してソーシャルネットワーキング・システム７３０に結合されたあらゆるものと相互作用可能である。
【００５９】
また、ソーシャルネットワーキング・システム７３０は、多様なエンティティをリンク可能である。たとえば、ソーシャルネットワーキング・システム７３０は、ＡＰＩ、ウェブサービス、または他の通信チャンネルを通して、ユーザの互いの相互作用および外部システム７２０または他のエンティティとの相互作用を可能にする。ソーシャルネットワーキング・システム７３０は、複数のエッジにより相互につなげられた複数のノードを含む「ソーシャルグラフ」を生成して保持する。ソーシャルグラフの各ノードは、別のノードに作用可能なエンティティおよび別のノードが作用し得るエンティティの両方または一方を表していてもよい。ソーシャルグラフは、さまざまな種類のノードを含んでいてもよい。ノードの種類の例としては、ユーザ、人間以外のエンティティ、コンテンツ項目、ウェブページ、グループ、アクティビティ、メッセージ、コンセプト、およびソーシャルネットワーキング・システム７３０のオブジェクトにより表し得るその他任意の事物が挙げられる。ソーシャルグラフの２つのノード間のエッジは、ノード関係または一方のノードが他方のノードに対して行ったアクションに由来し得る２つのノード間の特定種類のつながりすなわち関連性を表していてもよい。場合により、ノード間のエッジは、重み付け可能である。エッジの重みは、ノード間のつながりすなわち関連性の強度等、エッジと関連付けられた属性を表し得る。エッジの種類が異なれば、異なる重みが可能である。たとえば、あるユーザが別のユーザに「いいね！」をした場合に作成されるエッジにある重みが与えられる一方、ユーザが別のユーザと友達になった場合に作成されるエッジには、異なる重みが与えられるようになっていてもよい。
【００６０】
一例として、第１のユーザが第２のユーザを友達として識別した場合は、第１のユーザを表すノードと第２のユーザを表す第２のノードとをつなげるソーシャルグラフのエッジが生成される。さまざまなノードが互いに関連または相互作用すると、ソーシャルネットワーキング・システム７３０は、該さまざまなノードをつなげるエッジを修正して、上記関係および相互作用を反映する。
【００６１】
また、ソーシャルネットワーキング・システム７３０は、該ソーシャルネットワーキング・システム７３０とのユーザの相互作用を増進させるユーザ生成コンテンツを含む。ユーザ生成コンテンツには、ユーザがソーシャルネットワーキング・システム７３０に追加、アップロード、送信、または「投稿」可能なあらゆるものを含み得る。たとえば、ユーザは、ユーザ機器７１０からソーシャルネットワーキング・システム７３０に投稿を伝達する。投稿には、近況等の文字情報、ロケーション情報、写真等の画像、映像、リンク、音楽、またはその他類似のデータおよび媒体またはデータもしくは媒体等のデータを含んでいてもよい。また、コンテンツは、第三者によってソーシャルネットワーキング・システム７３０に追加されるようになっていてもよい。コンテンツ「項目」は、ソーシャルネットワーキング・システム７３０のオブジェクトとして表される。このように、ソーシャルネットワーキング・システム７３０のユーザは、さまざまな通信チャンネルを通して、さまざまな種類の媒体の文字およびコンテンツ項目を投稿することにより、互いの通信が促される。このようなコミュニケーションでは、ユーザの互いの相互作用が増大するとともに、ユーザがソーシャルネットワーキング・システム７３０と相互作用する頻度が高くなる。
【００６２】
ソーシャルネットワーキング・システム７３０は、ウェブ・サーバ７３２、ＡＰＩ要求サーバ７３４、ユーザプロフィール・ストア７３６、つながりストア７３８、アクション・ロガー７４０、アクティビティ・ログ７４２、および承認サーバ７４４を具備する。本発明の一実施形態において、ソーシャルネットワーキング・システム７３０は、さまざまなアプリケーションを対象として、追加の構成要素、より少ない構成要素、または異なる構成要素を具備していてもよい。ネットワーク・インタフェース、セキュリティ・メカニズム、ロード・バランサ、フェイルオーバ・サーバ、管理・ネットワーク運用コンソール等の他の構成要素については、システムの細部が分かり難くならないように、図示していない。
【００６３】
ユーザプロフィール・ストア７３６は、略歴、人口統計学的情報、およびユーザによる申告またはソーシャルネットワーキング・システム７３０による推察が行われた職歴、学歴、趣味または好み、ロケーション等の他の種類の記述的情報等、ユーザアカウントに関する情報を保持する。この情報は、各ユーザが一意に識別されるように、ユーザプロフィール・ストア７３６に格納される。また、ソーシャルネットワーキング・システム７３０は、異なるユーザ間の１つまたは複数のつながりを記述したデータをつながりストア７３８に格納する。つながり情報は、職歴、グループ・メンバーシップ、趣味、または学歴が類似または共通するユーザを示していてもよい。また、ソーシャルネットワーキング・システム７３０には、ユーザによる他ユーザとの関係の指定を可能にする異なるユーザ間のユーザ定義のつながりを含む。たとえば、ユーザ定義のつながりによれば、ユーザは、友達、同僚、パートナー等、ユーザの実生活の関係と似た他ユーザとの関係を生成可能である。ユーザは、所定の種類のつながりから選択を行うようにしてもよいし、必要に応じて、自身のつながりの種類を規定するようにしてもよい。人間以外のエンティティ、バケット、クラスタセンタ、画像、関心、ページ、外部システム、コンセプト等、ソーシャルネットワーキング・システム７３０の他のノードとのつながりについても、つながりストア７３８に格納される。
【００６４】
ソーシャルネットワーキング・システム７３０は、ユーザが相互作用可能なオブジェクトに関するデータを保持する。このデータを保持するため、ユーザプロフィール・ストア７３６およびつながりストア７３８は、ソーシャルネットワーキング・システム７３０により保持された対応する種類のオブジェクトのインスタンスを格納する。各オブジェクト種類は、オブジェクトの種類に相応しい情報を格納するのに適した情報フィールドを有する。たとえば、ユーザプロフィール・ストア７３６は、ユーザのアカウントおよびユーザのアカウントに関する情報の記述に適したフィールドを備えたデータ構造を含む。特定種類の新たなオブジェクトが作成された場合、ソーシャルネットワーキング・システム７３０は、対応する種類の新たなデータ構造を初期化し、一意のオブジェクト識別子を割り当てるとともに、必要に応じて、オブジェクトへのデータの追加を開始する。これは、たとえばユーザがソーシャルネットワーキング・システム７３０のユーザとなり、ソーシャルネットワーキング・システム７３０がユーザプロフィール・ストア７３６のユーザ・プロフィールの新たなインスタンスを生成し、一意の識別子をユーザアカウントに割り当て、ユーザが提供する情報のユーザアカウントのフィールドへの入力を開始した場合に起こる可能性がある。
【００６５】
つながりストア７３８には、ユーザの他ユーザとのつながり、外部システム７２０とのつながり、または他のエンティティとのつながりを記述するのに適したデータ構造を含む。また、つながりストア７３８は、ユーザに関する情報へのアクセスを調整するユーザのプライバシー設定と併せて使用可能なユーザのつながりに対して、つながりの種類を関連付けるようにしてもよい。本発明の一実施形態において、ユーザプロフィール・ストア７３６およびつながりストア７３８は、連合データベースとして実装されていてもよい。
【００６６】
つながりストア７３８、ユーザプロフィール・ストア７３６、およびアクティビティ・ログ７４２に格納されたデータによれば、ソーシャルネットワーキング・システム７３０は、ノードを用いてさまざまなオブジェクトを識別するとともに、ノードをつなげるエッジを用いて異なるオブジェクト間の関係を識別するソーシャルグラフを生成することができる。たとえば、ソーシャルネットワーキング・システム７３０において、第１のユーザが第２のユーザとのつながりを確立した場合は、ユーザプロフィール・ストア７３６からの第１のユーザおよび第２のユーザのユーザアカウントがソーシャルグラフのノードとして作用するようになっていてもよい。つながりストア７３８が格納する第１のユーザと第２のユーザとの間のつながりは、第１のユーザおよび第２のユーザと関連付けられたノード間のエッジである。この例を続けて、第２のユーザは、ソーシャルネットワーキング・システム７３０において、第１のユーザにメッセージを送信するようにしてもよい。格納可能なメッセージを送信するアクションは、第１のユーザおよび第２のユーザを表すソーシャルグラフの２つのノード間の別のエッジである。また、メッセージ自体は、第１のユーザおよび第２のユーザを表すノードとつながった別のノードとして、ソーシャルグラフにおいて識別されるとともに含まれていてもよい。
【００６７】
別の例において、第１のユーザは、ソーシャルネットワーキング・システム７３０により保持された画像（または、ソーシャルネットワーキング・システム７３０の外部の別のシステムにより保持された画像）において、第２のユーザにタグを付けるようにしてもよい。画像自体は、ソーシャルネットワーキング・システム７３０のノードとして表されていてもよい。このタグ付けアクションによって、第１のユーザと第２のユーザとの間にエッジを作成するとともに、ユーザそれぞれと画像（これもソーシャルグラフのノードである）との間にエッジを作成するようにしてもよい。さらに別の例において、ユーザがイベントへの出席を確認した場合は、ユーザおよびイベントは、ユーザプロフィール・ストア７３６から得られるノードであり、イベントへの出席は、アクティビティ・ログ７４２から読み出し可能なノード間のエッジである。ソーシャルグラフを生成して保持することにより、ソーシャルネットワーキング・システム７３０は、さまざまな種類のオブジェクトならびにこれらオブジェクト間の相互作用およびつながりを記述したデータを含み、社会的な関連情報の宝庫（rich source）となる。
【００６８】
ウェブ・サーバ７３２は、ネットワーク７５０を介して、ソーシャルネットワーキング・システム７３０を１つもしくは複数のユーザ機器７１０および１つもしくは複数の外部システム７２０の両方または一方にリンクさせる。また、ウェブ・サーバ７３２は、ウェブページのほか、Ｊａｖａ、ＪａｖａＳｃｒｉｐｔ、Ｆｌａｓｈ、ＸＭＬ等の他のウェブ関連コンテンツを提供する。ウェブ・サーバ７３２は、ソーシャルネットワーキング・システム７３０と１つまたは複数のユーザ機器７１０との間でメッセージの受信およびルーティングを行うメール・サーバ等のメッセージング機能を含んでいてもよい。メッセージとしては、インスタントメッセージ、待ち行列型メッセージ（たとえば、電子メール）、テキストおよびＳＭＳメッセージ、またはその他任意の適当なメッセージングフォーマットが可能である。
【００６９】
ＡＰＩ要求サーバ７３４によれば、１つまたは複数の外部システム７２０およびユーザ機器７１０は、１つまたは複数のＡＰＩ機能を呼び出すことによって、ソーシャルネットワーキング・システム７３０からのアクセス情報を呼び出すことができる。また、ＡＰＩ要求サーバ７３４によれば、外部システム７２０は、ＡＰＩを呼び出すことによって、ソーシャルネットワーキング・システム７３０に情報を送ることができる。一実施形態において、外部システム７２０は、ネットワーク７５０を介して、ＡＰＩ要求をソーシャルネットワーキング・システム７３０に送信し、ＡＰＩ要求サーバ７３４は、このＡＰＩ要求を受信する。ＡＰＩ要求サーバ７３４は、このＡＰＩ要求と関連付けられたＡＰＩを呼び出して要求を処理することにより、適当な応答を生成し、これをＡＰＩ要求サーバ７３４が、ネットワーク７５０を介して外部システム７２０に伝達する。たとえば、ＡＰＩ要求に応答して、ＡＰＩ要求サーバ７３４は、外部システム７２０にログインしたユーザのつながり等、ユーザと関連付けられたデータを収集し、この収集データを外部システム７２０に伝達する。別の実施形態において、ユーザ機器７１０は、外部システム７２０と同じ様態で、ＡＰＩを介してソーシャルネットワーキング・システム７３０と通信する。
【００７０】
アクション・ロガー７４０は、ソーシャルネットワーキング・システム７３０上およびソーシャルネットワーキング・システム７３０外でのユーザ・アクションまたはソーシャルネットワーキング・システム７３０上もしくはソーシャルネットワーキング・システム７３０外でのユーザ・アクションに関するウェブ・サーバ７３２からの通信を受信可能である。また、アクション・ロガー７４０は、ユーザ・アクションに関する情報をアクティビティ・ログ７４２に入力することによって、ソーシャルネットワーキング・システム７３０のユーザが該ソーシャルネットワーキング・システム７３０内外で起こしたさまざまなアクションを該ソーシャルネットワーキング・システム７３０が発見できるようにする。ソーシャルネットワーキング・システム７３０上の別のノードに関して特定のユーザが起こした如何なるアクションも、アクティビティ・ログ７４２または類似のデータベース等のデータ・リポジトリ（data repository）に保持された情報によって、各ユーザのアカウントと関連付け可能である。ソーシャルネットワーキング・システム７３０においてユーザが起こす識別および格納対象のアクションの例としては、たとえば別のユーザへのつながりの追加、別のユーザへのメッセージの送信、別のユーザからのメッセージを読むこと、別のユーザと関連付けられたコンテンツの閲覧、別のユーザが投稿したイベントへの出席、画像の投稿、画像の投稿の試行、または別のユーザもしくは別のオブジェクトと相互作用するその他のアクションが挙げられる。ユーザがソーシャルネットワーキング・システム７３０においてアクションを起こすと、該アクションがアクティビティ・ログ７４２に記録される。一実施形態において、ソーシャルネットワーキング・システム７３０は、エントリのデータベースとしてアクティビティ・ログ７４２を維持する。ソーシャルネットワーキング・システム７３０においてアクションが起こされると、該アクションのエントリがアクティビティ・ログ７４２に追加される。アクティビティ・ログ７４２は、アクション・ログと称する場合もある。
【００７１】
また、ユーザ・アクションは、ソーシャルネットワーキング・システム７３０とは別個の外部システム７２０等、ソーシャルネットワーキング・システム７３０の外部のエンティティ内で起こるコンセプトおよびアクションと関連付けられていてもよい。たとえば、アクション・ロガー７４０は、外部システム７２０とのユーザの相互作用を記述したデータをウェブ・サーバ７３２から受信するようにしてもよい。この例において、外部システム７２０は、ソーシャルグラフの構造化されたアクションおよびオブジェクトに従って、ユーザの相互作用を報告する。
【００７２】
ユーザが外部システム７２０と相互作用するアクションの他の例としては、外部システム７２０または別のエンティティに対する関心をユーザが示すこと、外部システム７２０または外部システム７２０内のウェブページ７２２ａに関するコメントをユーザがソーシャルネットワーキング・システム７３０に投稿すること、ユニフォーム・リソース・ロケータ（ＵＲＬ）または外部システム７２０と関連付けられた他の識別子をユーザがソーシャルネットワーキング・システム７３０に投稿すること、外部システム７２０と関連付けられたイベントにユーザが出席すること、または外部システム７２０に関するユーザによるその他任意のアクションが挙げられる。このように、アクティビティ・ログ７４２には、ソーシャルネットワーキング・システム７３０のユーザとソーシャルネットワーキング・システム７３０とは別個の外部システム７２０との間の相互作用を記述したアクションを含んでいてもよい。
【００７３】
承認サーバ７４４は、ソーシャルネットワーキング・システム７３０のユーザの１つまたは複数のプライバシー設定を実施する。ユーザのプライバシー設定は、ユーザと関連付けられた特定の情報がどのように共有可能であるかを決定する。プライバシー設定には、ユーザと関連付けられた特定の情報の仕様、および情報を共有可能な１つまたは複数のエンティティの仕様を含む。情報を共有可能なエンティティの例としては、他のユーザ、アプリケーション、外部システム７２０、または潜在的に情報にアクセス可能な任意のエンティティが挙げられる。ユーザが共有可能な情報には、プロフィール写真、ユーザと関連付けられた電話番号、ユーザのつながり、つながりの追加やユーザ・プロフィール情報の変更等、ユーザが起こしたアクション等のユーザアカウント情報を含む。
【００７４】
プライバシー設定の仕様は、さまざまな粒度レベル（different levels of granularity）で提供されていてもよい。たとえば、プライバシー設定は、他のユーザと共有される特定の情報を識別していてもよく、勤務先の電話番号またはプロフィール写真、自宅の電話番号、およびステータスを含む個人情報等の特定の関連情報集合を識別する。または、プライバシー設定は、ユーザと関連付けられたすべての情報に適用可能である。特定の情報にアクセス可能なエンティティ集合の仕様についても、さまざまな粒度レベルで指定可能である。情報を共有できるさまざまなエンティティ集合としては、たとえばユーザのすべての友達、友達のすべての友達、すべてのアプリケーション、またはすべての外部システム７２０が挙げられる。一実施形態によれば、エンティティ集合の仕様には、エンティティ一覧を含むことができる。たとえば、ユーザは、特定の情報へのアクセスが許可された外部システム７２０の一覧を提供するようにしてもよい。別の実施形態によれば、仕様には、情報へのアクセスが許可されていない例外と併せてエンティティ集合を含むことができる。たとえば、ユーザは、その勤務先情報にすべての外部システム７２０がアクセスすることを許可するが、該勤務先情報へのアクセスが許可されていない外部システム７２０の一覧を指定するようにしてもよい。特定の実施形態では、特定の情報へのアクセスが許可されていない例外の一覧を「ブロックリスト（block list）」と称する。ユーザが指定するブロックリストに属する外部システム７２０は、プライバシー設定に指定された情報へのアクセスがブロックされる。情報の仕様の粒度および情報が共有されるエンティティの仕様の粒度は、さまざまな組み合わせが可能である。たとえば、すべての個人情報が友達と共有される一方、すべての勤務先情報が友達の友達と共有されるようになっていてもよい。
【００７５】
承認サーバ７４４は、ユーザと関連付けられた特定の情報にユーザの友達、外部システム７２０、ならびに／または他のアプリケーションおよびエンティティがアクセス可能であるか否かを判定するロジックを含む。外部システム７２０は、ユーザの勤務先の電話番号等、ユーザのより私的かつ繊細な情報にアクセスするため、承認サーバ７４４の承認が必要となる場合がある。ユーザのプライバシー設定に基づいて、承認サーバ７４４は、ユーザが起こすアクションに関する情報等、ユーザと関連付けられた情報に対して、別のユーザ、外部システム７２０、アプリケーション、または別のエンティティがアクセス可能であるか否かを判定する。
【００７６】
いくつかの実施形態では、ソーシャルネットワーキング・システム７３０は、複数の地図部分モジュール７４６を含むことができる。例えば、複数の地図部分モジュール７４６は、図１の複数の地図部分モジュール１０２として具体化され得る。これら地図部分モジュールは、さまざまなバリエーションまたはその他の可能性があることを理解されたい。例えば、いくつかの例では、複数の地図部分モジュール（または少なくともその一部）をユーザ機器７１０に含めるかまたは実装することができる。複数の地図部分モジュール７４６の他の特徴については、複数の地図部分モジュール１０２に関連して本明細書において説明されている。
【００７７】
ハードウェアの実施態様
上記プロセスおよび特徴は、多種多様なネットワークおよびコンピュータ環境において、多種多様なマシンおよびコンピュータ・システムアーキテクチャにより実装可能である。図８は、本発明の一実施形態に係る、本明細書に記載の実施形態のうちの１つまたは複数の実装に使用可能なコンピュータ・システム８００の一例を示している。コンピュータ・システム８００には、本明細書に記載のプロセスおよび特徴を該コンピュータ・システム８００に実行させる命令セットを含む。また、コンピュータ・システム８００は、他のマシンにつなげられていてもよい（たとえば、ネットワーク化されていてもよい）。ネットワーク配置において、コンピュータ・システム８００は、クライアント／サーバ・ネットワーク環境におけるサーバ・マシンもしくはクライアント・マシンまたはピア・ツー・ピア（または、分散）ネットワーク環境におけるピアマシン（peer machine）として動作するようになっていてもよい。本発明の一実施形態において、コンピュータ・システム８００は、ソーシャルネットワーキング・システム７３０、ユーザ機器７１０、外部システム７２０、またはその構成要素であってもよい。本発明の一実施形態において、コンピュータ・システム８００は、ソーシャルネットワーキング・システム７３０の全部または一部を構成する多くのサーバのうちの１つであってもよい。
【００７８】
コンピュータ・システム８００は、プロセッサ８０２、キャッシュ８０４、ならびにコンピュータ可読媒体に格納され、本明細書に記載のプロセスおよび特徴を対象とした１つまたは複数の実行可能なモジュールおよびドライバを具備する。また、コンピュータ・システム８００は、高性能入出力（Ｉ／Ｏ）バス８０６および標準Ｉ／Ｏバス８０８を具備する。ホスト・ブリッジ８１０がプロセッサ８０２を高性能Ｉ／Ｏバス８０６に結合させる一方、Ｉ／Ｏバス・ブリッジ８１２が２つのバス８０６および８０８を互いに結合させる。高性能Ｉ／Ｏバス８０６には、システム・メモリ８１４および１つまたは複数のネットワーク・インタフェース８１６が結合されている。コンピュータ・システム８００は、ビデオメモリおよび該ビデオメモリに結合された表示装置をさらに具備していてもよい（図示せず）。標準Ｉ／Ｏバス８０８には、マス・ストレージ８１８およびＩ／Ｏポート８２０が結合されている。コンピュータ・システム８００は、任意選択として、標準Ｉ／Ｏバス８０８に結合されたキーボードおよびポインティング・デバイス、表示装置等の入出力装置（図示せず）を具備していてもよい。これらの要素は総じて、カリフォルニア州サンタクララのインテル・コーポレーション社（Ｉｎｔｅｌ  Ｃｏｒｐｏｒａｔｉｏｎ）が製造するｘ８６互換プロセッサ、カリフォルニア州サニーベールのアドバンスト・マイクロ・デバイセズ（ＡＭＤ）社（Ａｄｖａｎｃｅｄ  Ｍｉｃｒｏ  Ｄｅｖｉｃｅｓ  （ＡＭＤ），Ｉｎｃ．）が製造するｘ８６互換プロセッサ、およびその他任意の適当なプロセッサに基づくコンピュータ・システム等、広範囲のコンピュータ・ハードウェア・システムを表すことを意図しているが、これらに限定されない。
【００７９】
ソフトウェア・アプリケーション（図示せず）に対するデータの入出力等、コンピュータ・システム８００の動作は、オペレーティング・システムが管理および制御する。オペレーティング・システムは、システム上で実行されるソフトウェア・アプリケーションとシステムのハードウェア構成要素との間のインタフェースを提供する。ＬＩＮＵＸオペレーティング・システム、カリフォルニア州クパチーノのアップル・コンピュータ・インコーポレイテッド社（Ａｐｐｌｅ  Ｃｏｍｐｕｔｅｒ  Ｉｎｃ．）から入手可能なＡｐｐｌｅ  Ｍａｃｉｎｔｏｓｈオペレーティング・システム、ＵＮＩＸオペレーティング・システム、Ｍｉｃｒｏｓｏｆｔ（登録商標）  Ｗｉｎｄｏｗｓ（登録商標）オペレーティング・システム、ＢＳＤオペレーティング・システム等、任意適当なオペレーティング・システムを使用可能である。また、他の実施態様も可能である。
【００８０】
以下、コンピュータ・システム８００の要素について、より詳しく説明する。特に、ネットワーク・インタフェース８１６は、コンピュータ・システム８００とイーサネット（たとえば、ＩＥＥＥ  ８０２．３）ネットワーク、バックプレーン等の広範なネットワークのいずれかとの間の通信を提供する。マス・ストレージ８１８は、上記識別された各演算システムにより実装される上記プロセスおよび特徴を実行するデータおよびプログラミング命令の格納を提供する。一方、システム・メモリ８１４（たとえば、ＤＲＡＭ）は、プロセッサ８０２により実行される場合のデータおよびプログラミング命令の一時的な格納を提供する。Ｉ／Ｏポート８２０は、コンピュータ・システム８００に結合し得る付加的な周辺機器間の通信を提供する１つもしくは複数のシリアル通信ポートおよびパラレル通信ポートまたは１つもしくは複数のシリアル通信ポートもしくはパラレル通信ポートであってもよい。
【００８１】
コンピュータ・システム８００は、多様なシステム・アーキテクチャを含んでいてもよく、コンピュータ・システム８００のさまざまな構成要素が再配置されるようになっていてもよい。たとえば、キャッシュ８０４は、プロセッサ８０２とともにオンチップであってもよい。または、キャッシュ８０４およびプロセッサ８０２は、一体的に「プロセッサ・モジュール」としてパッケージングされていてもよく、プロセッサ８０２は「プロセッサ・コア」と称する。さらに、本発明の特定の実施形態においては、上記構成要素がすべて不要であってもよいし、すべて具備していなくてもよい。たとえば、高性能Ｉ／Ｏバス８０６には、標準Ｉ／Ｏバス８０８に結合された周辺機器が結合されていてもよい。また、いくつかの実施形態においては、バスが１つだけ存在し、コンピュータ・システム８００の構成要素がこの単一バスに結合されていてもよい。さらに、コンピュータ・システム８００は、付加的なプロセッサ、記憶装置、またはメモリ等、付加的な構成要素を具備していてもよい。
【００８２】
一般的に、本明細書に記載のプロセスおよび特徴は、オペレーティング・システムまたは特定のアプリケーション、コンポーネント、プログラム、オブジェクト、モジュール、もしくは「プログラム」と称する一連の命令の一部として実装されていてもよい。たとえば、本明細書に記載の特定のプロセスは、１つまたは複数のプログラムを用いて実行してもよい。プログラムは通常、１つまたは複数のプロセッサにより読み出されて実行された場合に、本明細書に記載のプロセスおよび特徴を実行する演算をコンピュータ・システム８００に行わせる１つまたは複数の命令をコンピュータ・システム８００のさまざまなメモリおよび記憶装置に含む。本明細書に記載のプロセスおよび特徴は、ソフトウェア、ファームウェア、ハードウェア（たとえば、特定用途向け集積回路）、またはこれらの任意の組み合わせに実装されていてもよい。
【００８３】
一実施態様において、本明細書に記載のプロセスおよび特徴は、分散コンピュータ環境において個別または一括に、コンピュータ・システム８００が動作させる一連の実行可能モジュールとして実装されていてもよい。上記モジュールは、ハードウェア、コンピュータ可読媒体（または、機械可読媒体）に格納された実行可能モジュール、または両者の組み合わせによって実現されるようになっていてもよい。たとえば、これらのモジュールは、プロセッサ８０２等、ハードウェア・システムのプロセッサにより実行される複数の命令または一連の命令を含んでいてもよい。最初は、マス・ストレージ８１８等の記憶装置に一連の命令が格納されていてもよい。ただし、一連の命令は、任意適当なコンピュータ可読記憶媒体に格納可能である。さらに、一連の命令は、ローカルに格納する必要はなく、ネットワーク・インタフェース８１６を介して、ネットワーク上のサーバ等のリモート記憶装置から受信することも可能である。命令は、マス・ストレージ８１８等の記憶装置からシステム・メモリ８１４へのコピーの後、プロセッサ８０２がアクセスして実行する。種々実施態様においては、並列処理環境における複数のサーバ等、１つまたは複数のロケーションの１つまたは複数のプロセッサによって、１つまたは複数のモジュールを実行可能である。
【００８４】
コンピュータ可読媒体の例としては、揮発性および不揮発性メモリ・デバイス等の記録可能な種類の媒体、ソリッド・ステート・メモリ、フロッピー等のリムーバブルディスク、ハードディスクドライブ、磁気媒体、光ディスク（たとえば、コンパクトディスクリードオンリーメモリ（ＣＤ  ＲＯＭ）、デジタル多用途ディスク（ＤＶＤ））、その他類似する非一時的（または、一時的）の有形（または、無形）記憶媒体、またはコンピュータ・システム８００による実行によって、本明細書に記載のプロセスおよび特徴のうちのいずれか１つもしくは複数を実行する一連の命令の格納、符号化、または伝達に適した任意の種類の媒体が挙げられるが、これらに限定されない。
【００８５】
説明の便宜上、本明細書の十分な理解が得られるように、多くの具体的詳細を示した。ただし、当業者には、これらの具体的詳細がなくても、本開示の実施形態を実現可能であることが明らかとなろう。場合により、モジュール、構造、プロセス、特徴、および機器をブロック図の形態で示すことによって、説明が分かり難くならないようにしている。他の例では、機能ブロック図およびフロー図を示すことにより、データおよび論理の流れを表している。ブロック図およびフロー図の構成要素（たとえば、モジュール、ブロック、構造、機器、特徴等）は、本明細書における明示的な説明および図示以外の様態でのさまざまな組み合わせ、分離、除去、並び替え、および置き換えがなされていてもよい。
【００８６】
本明細書における「一実施形態」、「他の実施形態」、「一連の実施形態」、「いくつかの実施形態」、「種々実施形態」等の言及は、該実施形態に関連して説明した特定の特徴、設計、構造、または特性が本開示の少なくとも１つの実施形態に含まれることを意味する。本明細書のさまざまな箇所における表現「一実施形態において」等の出現は、必ずしもすべてが同じ実施形態を表してはおらず、相互に他の実施形態を除外する別個または別の実施形態でもない。さらには、「実施形態」等の明示的な言及の有無に関わらず、いくつかの実施形態においてはさまざまに組み合わせて包含可能であり、他の実施形態においてはさまざまに省略も可能である種々特徴を記載している。同様に、いくつかの実施形態では選好または要件となり得るが、他の実施形態ではなり得ない種々特徴を記載している。さらに、本明細書において、「に基づく」とは、「少なくとも部分的に基づいて」、「少なくとも一部／部分的に基づいて」、「少なくとも部分的に／部分的に基づいている」、および／またはそれらの任意の組み合わせを含む。
【００８７】
本明細書において使用する表現は、主として読み易さおよび教示の便宜上から選択しており、本発明に係る主題を描写または限定するようには選択していない場合がある。したがって、本発明の範囲は、この詳細な説明ではなく、これに基づく用途に由来する任意の請求項によって限定されるものとする。以上から、本発明の実施形態に関する開示は、以下の特許請求の範囲に示す本発明の範囲の例示であり、何ら限定的なものではない。
【図１】
0006633762.tif 000002
【図２Ａ】
0006633762.tif 000003
【図２Ｂ】
0006633762.tif 000004
【図３Ａ】
0006633762.tif 000005
【図３Ｂ】
0006633762.tif 000006
【図４Ａ】
0006633762.tif 000007
【図４Ｂ】
0006633762.tif 000008
【図５】
0006633762.tif 000009
【図６】
0006633762.tif 000010
【図７】
0006633762.tif 000011
【図８】
0006633762.tif 000012