(57)【要約】  １つの実施形態において、方法は、第２のユーザと関連付けられた第２のコンピューティングデバイスとの通信セッションを開始するためのトリガイベントを検出することであって、第１のコンピューティングデバイスが、１つまたは複数のワイヤレス送受信器、および１つまたは複数のセンサを含む、トリガイベントを検出することと、第２のコンピューティングデバイスに対する初期の信頼点数を決定することと、ユーザ間の物理対話を１つまたは複数のセンサを使用して検知することと、検知した物理対話に少なくとも基づいて、第２のコンピューティングデバイスに対する信頼点数を調節することと、第２のコンピューティングデバイスに対する調節した信頼点数が第１の閾値を満たす場合、第２のコンピューティングデバイスにメッセージを送ることとを含む。【選択図】図５
2021510482.tif 000002
【特許請求の範囲】
【請求項１】
第１のユーザと関連付けられた第１のコンピューティングデバイスによって、第２のユーザと関連付けられた第２のコンピューティングデバイスとの通信セッションを開始するためのトリガイベントを検出することであって、前記第１のコンピューティングデバイスが、１つまたは複数のワイヤレス送受信器、および１つまたは複数のセンサを備える、トリガイベントを検出することと、
前記第１のコンピューティングデバイスによって、前記第２のコンピューティングデバイスに対する初期の信頼点数を決定することと、
前記第１のコンピューティングデバイスによって、前記第１のユーザと前記第２のユーザとの間の物理対話を、前記１つまたは複数のセンサを使用して検知することと、
前記第１のコンピューティングデバイスによって、前記検知した物理対話に少なくとも基づいて、前記第２のコンピューティングデバイスに対する前記信頼点数を調節することと、
前記第１のコンピューティングデバイスによって、前記第２のコンピューティングデバイスに対する前記調節した信頼点数が第１の閾値を満たす場合、前記第２のコンピューティングデバイスに第１のメッセージを送ることと
を含む、方法。
【請求項２】
前記第１の閾値が、前記通信セッションと関連付けられたパラメータである、請求項１に記載の方法。
【請求項３】
前記第１の閾値が、前記第１のメッセージと関連付けられたパラメータである、請求項１に記載の方法。
【請求項４】
ペイロードを含む第２のメッセージを前記第２のコンピューティングデバイスから受け取ることと、
前記第２のコンピューティングデバイスに対する前記調節した信頼点数が第２の閾値を満たすかどうかを判断することと、
前記判断に応じて前記第１のユーザに前記ペイロードを提示することと
をさらに含む、請求項１に記載の方法。
【請求項５】
前記第２のコンピューティングデバイスによって送られたメッセージを解読するために使用されることになる第１のセキュリティキーを前記第２のコンピューティングデバイスから受け取ることをさらに含む、請求項４に記載の方法。
【請求項６】
前記第２のコンピューティングデバイスに第２のセキュリティキーを発行することをさらに含み、前記第２のセキュリティキーが、前記第１のコンピューティングデバイスによって送られたメッセージを解読するために前記第２のコンピューティングデバイスによって使用される、請求項１に記載の方法。
【請求項７】
前記１つまたは複数のセンサが、マイクロフォン、カメラ、ビデオカメラ、または、ユーザの物理対話をとらえる任意の適切なセンサを含む、請求項１に記載の方法。
【請求項８】
前記第２のコンピューティングデバイスに対する前記初期の信頼点数を決定することが、前記信頼点数を、以前の通信セッション中に前記第２のコンピューティングデバイスに対して以前使用した信頼点数に設定することを含む、請求項１に記載の方法。
【請求項９】
前記第２のコンピューティングデバイスに対する前記初期の信頼点数を決定することが、
前記第２のコンピューティングデバイスに対する信頼点数値を第３のコンピューティングデバイスから受け取ることと、
前記第３のコンピューティングデバイスに対する現在の信頼点数が第３の閾値を満たす場合、前記第２のコンピューティングデバイスに対する前記信頼点数を、前記受け取った信頼点数値に設定することと
を含む、請求項１に記載の方法。
【請求項１０】
前記第２のコンピューティングデバイスに対する前記初期の信頼点数を決定することが、
前記第１のコンピューティングデバイスと前記第２のコンピューティングデバイスとの間の共通の興味を識別することと、
前記識別した共通の興味に基づいて、前記第２のコンピューティングデバイスに対する前記初期の信頼点数を決定することと
を含む、請求項１に記載の方法。
【請求項１１】
前記共通の興味が、発見処理中に集められた情報に基づいて識別される、請求項１０に記載の方法。
【請求項１２】
前記共通の興味が、前記第１のコンピューティングデバイスと前記第２のコンピューティングデバイスの両方にインストールされた共通のアプリケーションに基づいて識別される、請求項１０に記載の方法。
【請求項１３】
前記共通の興味が、前記第１のコンピューティングデバイスと前記第２のコンピューティングデバイスの両方に格納された共通のデータに基づいて識別される、請求項１０に記載の方法。
【請求項１４】
前記第２のコンピューティングデバイスに対する前記信頼点数を調節することが、前記第２のコンピューティングデバイスが前記第１のコンピューティングデバイスの近くにある時間にさらに基づく、請求項１に記載の方法。
【請求項１５】
前記物理対話が、会話、握手、手を振ること、または、任意の利用可能なセンサによってとらえることができる任意の適切な人間対話を含む、請求項１に記載の方法。
【請求項１６】
機械学習（ＭＬ）技法が、前記物理対話を分析するために使用される、請求項１５に記載の方法。
【請求項１７】
前記ＭＬ技法が、自然言語処理アルゴリズムを含む、請求項１６に記載の方法。
【請求項１８】
前記ＭＬ技法が、動き検出アルゴリズムを含む、請求項１６に記載の方法。
【請求項１９】
ソフトウェアを具体化する１つまたは複数のコンピュータ可読非一時的ストレージ媒体であって、前記ソフトウェアは、実行されると第１のコンピューティングデバイスに、
第２のユーザと関連付けられた第２のコンピューティングデバイスとの通信セッションを開始するためのトリガイベントを検出することであって、前記第１のコンピューティングデバイスが、１つまたは複数のワイヤレス送受信器、および１つまたは複数のセンサを備え、前記第１のコンピューティングデバイスが、第１のユーザと関連付けられる、トリガイベントを検出することと、
前記第２のコンピューティングデバイスに対する初期の信頼点数を決定することと、
前記第１のユーザと前記第２のユーザとの間の物理対話を、前記１つまたは複数のセンサを使用して検知することと、
前記検知した物理対話に少なくとも基づいて、前記第２のコンピューティングデバイスに対する前記信頼点数を調節することと、
前記第２のコンピューティングデバイスに対する前記調節した信頼点数が第１の閾値を満たす場合、前記第２のコンピューティングデバイスに第１のメッセージを送ることと
を行わせるように動作可能である、１つまたは複数のコンピュータ可読非一時的ストレージ媒体。
【請求項２０】
第１のコンピューティングデバイスであって、
１つまたは複数のワイヤレス送受信器と、
１つまたは複数のセンサと、
１つまたは複数のプロセッサと、
前記プロセッサの１つまたは複数に接続された１つまたは複数のコンピュータ可読非一時的ストレージ媒体と
を備え、前記１つまたは複数のコンピュータ可読非一時的ストレージ媒体は、命令を含み、前記命令は、前記プロセッサの１つまたは複数によって実行されると、前記第１のコンピューティングデバイスに、
第２のユーザと関連付けられた第２のコンピューティングデバイスとの通信セッションを開始するためのトリガイベントを検出することであって、前記第１のコンピューティングデバイスが、第１のユーザと関連付けられる、トリガイベントを検出することと、
前記第２のコンピューティングデバイスに対する初期の信頼点数を決定することと、
前記第１のユーザと前記第２のユーザとの間の物理対話を、前記１つまたは複数のセンサを使用して検知することと、
前記検知した物理対話に少なくとも基づいて、前記第２のコンピューティングデバイスに対する前記信頼点数を調節することと、
前記第２のコンピューティングデバイスに対する前記調節した信頼点数が第１の閾値を満たす場合、前記第２のコンピューティングデバイスに第１のメッセージを送ることと
を行わせるように動作可能である、第１のコンピューティングデバイス。
【請求項２１】
第１のユーザと関連付けられた第１のコンピューティングデバイスによって、第２のユーザと関連付けられた第２のコンピューティングデバイスとの通信セッションを開始するためのトリガイベントを検出することであって、前記第１のコンピューティングデバイスが、１つまたは複数のワイヤレス送受信器、および１つまたは複数のセンサを備える、トリガイベントを検出することと、
前記第１のコンピューティングデバイスによって、前記第２のコンピューティングデバイスに対する初期の信頼点数を決定することと、
前記第１のコンピューティングデバイスによって、前記第１のユーザと前記第２のユーザとの間の物理対話を、前記１つまたは複数のセンサを使用して検知することと、
前記第１のコンピューティングデバイスによって、前記検知した物理対話に少なくとも基づいて、前記第２のコンピューティングデバイスに対する前記信頼点数を調節することと、
前記第１のコンピューティングデバイスによって、前記第２のコンピューティングデバイスに対する前記調節した信頼点数が第１の閾値を満たす場合、前記第２のコンピューティングデバイスに第１のメッセージを送ることと
を含む、方法。
【請求項２２】
前記第１の閾値が、前記通信セッションと関連付けられたパラメータであり、および／または
前記第１の閾値が、前記第１のメッセージと関連付けられたパラメータである、
請求項２１に記載の方法。
【請求項２３】
ペイロードを含む第２のメッセージを前記第２のコンピューティングデバイスから受け取ることと、
前記第２のコンピューティングデバイスに対する前記調節した信頼点数が第２の閾値を満たすかどうかを判断することと、
前記判断に応じて前記第１のユーザに前記ペイロードを提示することと
をさらに含み、
任意選択として、前記第２のコンピューティングデバイスによって送られたメッセージを解読するために使用されることになる第１のセキュリティキーを前記第２のコンピューティングデバイスから受け取ることをさらに含む、
請求項２１または２２に記載の方法。
【請求項２４】
前記第２のコンピューティングデバイスに第２のセキュリティキーを発行することをさらに含み、前記第２のセキュリティキーが、前記第１のコンピューティングデバイスによって送られたメッセージを解読するために前記第２のコンピューティングデバイスによって使用される、請求項２１から２３のいずれか一項に記載の方法。
【請求項２５】
前記１つまたは複数のセンサが、マイクロフォン、カメラ、ビデオカメラ、または、ユーザの物理対話をとらえる任意の適切なセンサを含む、請求項２１から２４のいずれか一項に記載の方法。
【請求項２６】
前記第２のコンピューティングデバイスに対する前記初期の信頼点数を決定することが、前記信頼点数を、以前の通信セッション中に前記第２のコンピューティングデバイスに対して以前使用した信頼点数に設定することを含む、請求項２１から２５のいずれか一項に記載の方法。
【請求項２７】
前記第２のコンピューティングデバイスに対する前記初期の信頼点数を決定することが、
前記第２のコンピューティングデバイスに対する信頼点数値を第３のコンピューティングデバイスから受け取ることと、
前記第３のコンピューティングデバイスに対する現在の信頼点数が第３の閾値を満たす場合、前記第２のコンピューティングデバイスに対する前記信頼点数を、前記受け取った信頼点数値に設定することと
を含む、請求項２１から２６のいずれか一項に記載の方法。
【請求項２８】
前記第２のコンピューティングデバイスに対する前記初期の信頼点数を決定することが、
前記第１のコンピューティングデバイスと前記第２のコンピューティングデバイスとの間の共通の興味を識別することと、
前記識別した共通の興味に基づいて、前記第２のコンピューティングデバイスに対する前記初期の信頼点数を決定することと
を含む、請求項２１から２７のいずれか一項に記載の方法。
【請求項２９】
前記共通の興味が、発見処理中に集められた情報に基づいて識別され、および／または
前記共通の興味が、前記第１のコンピューティングデバイスと前記第２のコンピューティングデバイスの両方にインストールされた共通のアプリケーションに基づいて識別され、および／または
前記共通の興味が、前記第１のコンピューティングデバイスと前記第２のコンピューティングデバイスの両方に格納された共通のデータに基づいて識別される、
請求項２８に記載の方法。
【請求項３０】
前記第２のコンピューティングデバイスに対する前記信頼点数を調節することが、前記第２のコンピューティングデバイスが前記第１のコンピューティングデバイスの近くにある時間にさらに基づく、請求項２１から２９のいずれか一項に記載の方法。
【請求項３１】
前記物理対話が、会話、握手、手を振ること、または、任意の利用可能なセンサによってとらえることができる任意の適切な人間対話を含む、請求項２１から３０のいずれか一項に記載の方法。
【請求項３２】
機械学習（ＭＬ）技法が、前記物理対話を分析するために使用される、請求項３１に記載の方法。
【請求項３３】
前記ＭＬ技法が、自然言語処理アルゴリズムを含み、および／または
前記ＭＬ技法が、動き検出アルゴリズムを含む、
請求項３２に記載の方法。
【請求項３４】
ソフトウェアを具体化する１つまたは複数のコンピュータ可読非一時的ストレージ媒体であって、前記ソフトウェアは、実行されると第１のコンピューティングデバイスに、請求項２１から３３のいずれか一項に記載の方法を行うこと、または、
第２のユーザと関連付けられた第２のコンピューティングデバイスとの通信セッションを開始するためのトリガイベントを検出することであって、前記第１のコンピューティングデバイスが、１つもしくは複数のワイヤレス送受信器、および１つもしくは複数のセンサを備え、前記第１のコンピューティングデバイスが、第１のユーザと関連付けられる、トリガイベントを検出することと、
前記第２のコンピューティングデバイスに対する初期の信頼点数を決定することと、
前記第１のユーザと前記第２のユーザとの間の物理対話を、前記１つもしくは複数のセンサを使用して検知することと、
前記検知した物理対話に少なくとも基づいて、前記第２のコンピューティングデバイスに対する前記信頼点数を調節することと、
前記第２のコンピューティングデバイスに対する前記調節した信頼点数が第１の閾値を満たす場合、前記第２のコンピューティングデバイスに第１のメッセージを送ることと
を行わせるように動作可能である、１つまたは複数のコンピュータ可読非一時的ストレージ媒体。
【請求項３５】
第１のコンピューティングデバイスであって、
１つまたは複数のワイヤレス送受信器と、
１つまたは複数のセンサと、
１つまたは複数のプロセッサと、
前記プロセッサの１つまたは複数に接続された１つまたは複数のコンピュータ可読非一時的ストレージ媒体と
を備え、前記１つまたは複数のコンピュータ可読非一時的ストレージ媒体は、命令を含み、前記命令は、前記プロセッサの１つまたは複数によって実行されると、第１のコンピューティングデバイスに、請求項２１から３３のいずれか一項に記載の方法を行うこと、または、
第２のユーザと関連付けられた第２のコンピューティングデバイスとの通信セッションを開始するためのトリガイベントを検出することであって、前記第１のコンピューティングデバイスが、第１のユーザと関連付けられる、トリガイベントを検出することと、
前記第２のコンピューティングデバイスに対する初期の信頼点数を決定することと、
前記第１のユーザと前記第２のユーザとの間の物理対話を、前記１つもしくは複数のセンサを使用して検知することと、
前記検知した物理対話に少なくとも基づいて、前記第２のコンピューティングデバイスに対する前記信頼点数を調節することと、
前記第２のコンピューティングデバイスに対する前記調節した信頼点数が第１の閾値を満たす場合、前記第２のコンピューティングデバイスに第１のメッセージを送ることと
を行わせるように動作可能である、第１のコンピューティングデバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は一般に、デジタル通信に関するユーザ間の近さに基づいてデジタルトラストを確立することに関する。
【背景技術】
【０００２】
ソーシャルネットワーキングシステムは、ソーシャルネットワーキングウェブサイトを含むことができ、ソーシャルネットワーキングシステムと、また、ソーシャルネットワーキングシステムを通じて互いに、（人物または組織などの）ソーシャルネットワーキングシステムのユーザが対話できるようにすることができる。ソーシャルネットワーキングシステムは、ユーザからの入力によって、ユーザと関連付けられたユーザプロフィールを作り出し、ソーシャルネットワーキングシステムに格納することができる。ユーザプロフィールは、人口統計学情報、通信チャネル情報、およびユーザの個人的関心についての情報を含むことができる。ソーシャルネットワーキングシステムは、ユーザからの入力によって、ソーシャルネットワーキングシステムの他のユーザとのユーザの関係の記録を作り出し、格納すること、およびユーザの間の、またはユーザの中のソーシャル対話を容易にするためのサービス（例えば、ウォールポスト、写真共有、イベント団体、メッセージング、ゲーム、または広告）を提供することもできる。
【０００３】
ソーシャルネットワーキングシステムは、ソーシャルネットワーキングシステムのサービスに関するコンテンツまたはメッセージを、ユーザのモバイルデバイスまたは他のコンピューティングデバイスに１つまたは複数のネットワークで送ることができる。ユーザは、ユーザのユーザプロフィール、およびソーシャルネットワーキングシステム内の他のデータにアクセスするために、ユーザのモバイルデバイスまたは他のコンピューティングデバイスにソフトウェアアプリケーションをインストールすることもできる。ソーシャルネットワーキングシステムは、ユーザに接続された他のユーザのアグリゲートされたストーリーについてのニュースフィードなどの、ユーザに表示するためのコンテンツオブジェクトの個人向けセットを生成することができる。
【０００４】
スマートフォン、タブレット型コンピュータ、またはラップトップコンピュータなどのモバイルコンピューティングデバイスは、ＧＰＳ受信機、方位計、ジャイロスコープ、または加速度計など、モバイルコンピューティングデバイスの位置、方向、または向きを判断するための機能を含むことができる。このようなデバイスは、ＢＬＵＥＴＯＯＴＨ通信、近距離無線通信（ＮＦＣ）、あるいは赤外線（ＩＲ）通信または無線ローカルエリアネットワーク（ＷＬＡＮ）もしくはセルラー電話ネットワークによる通信などの無線通信のための機能を含むこともできる。このようなデバイスは、１つまたは複数のカメラ、スキャナ、タッチスクリーン、マイクロフォン、またはスピーカを含むこともできる。モバイルコンピューティングデバイスは、ゲーム、ウェブブラウザ、またはソーシャルネットワーキングアプリケーションなどのソフトウェアアプリケーションを実行することもできる。ソーシャルネットワーキングアプリケーションによって、ユーザは、自分のソーシャルネットワークにおいて他のユーザと情報を接続すること、通信すること、および共有することができる。
【発明の概要】
【０００５】
特定の実施形態において、コンピューティングデバイスは、通信ピアに対する評価された信頼度に基づいて、通信のために通信ピアのそれぞれに権限を付与することができる。通信ピアに対する信頼度は、デバイスのユーザ間の近さに少なくとも基づいて評価されてもよい。第１のユーザが長期間、第２のユーザの近くにいるとき、第２のユーザと関連付けられたデバイスからの第１のユーザへの信頼度は上がる可能性がある。信頼度は、信頼点数によって測定されてもよく、これはスカラ値である。近さに基づく信頼度評価および通信権限付与は、任意の通信のために使用されることが可能であるが、近さに基づく信頼度評価および通信権限付与は、利用可能なネットワークインフラストラクチャがないワイヤレスメッシュネットワークでのオフライン通信に特に有用である可能性がある。利用可能なネットワークインフラストラクチャがないとき、コンピューティングデバイスは、サーバからのデータに基づいて通信ピアを認証すること、および権限を付与することができないことがある。第１のコンピューティングデバイスが、オフライン通信セッションのためにトリガされると、第１のコンピューティングデバイスは、発見プロトコルを使用して、近くにある他のコンピューティングデバイスを発見することができる。第１のコンピューティングデバイスが、第２のコンピューティングデバイスを発見した後、第１のコンピューティングデバイスは、第２のコンピューティングデバイスに対する初期の信頼点数を決定し、第２のコンピューティングデバイスに対する信頼点数が通信に必要な閾値より高い場合、第２のコンピューティングデバイスとの通信を行うことができる。第１のコンピューティングデバイスは、通信が行われているときに、第２のコンピューティングデバイスに対する信頼点数を調節することができる。第１のコンピューティングデバイスは、交換されるメッセージの数が増えるにつれて、第２のコンピューティングデバイスに対する信頼点数を上げることができる。特定の実施形態において、第１のコンピューティングデバイスは、第１のコンピューティングデバイスと第２のコンピューティングデバイスのユーザ間の物理対話を検知することができる。第１のコンピューティングデバイスは、ユーザ間の検知した物理対話に基づいて、第２のコンピューティングデバイスに対する信頼点数を調節することができる。特定の実施形態において、第１のコンピューティングデバイスは、第２のコンピューティングデバイスと関連付けられたユーザが、第１のコンピューティングデバイスと関連付けられたユーザの近くにいる時間を測定することができる。第１のコンピューティングデバイスは、第２のコンピューティングデバイスと関連付けられたユーザが、第１のコンピューティングデバイスと関連付けられたユーザの近くにいる時間に基づいて、第２のコンピューティングデバイスに対する信頼点数を調節することができる。限定ではなく、例として、携帯電話をもっている第１のユーザは、飛行機に乗り、ワイヤレス送受信器がオフになる機内モードに携帯電話を切り換えることができる。第１のユーザは、Ｂｌｕｅｔｏｏｔｈ無線をオンにすることによって、機上での他のユーザとのオフラインメッセージングセッションを確立することができる。オフラインメッセージングセッションについて、携帯電話は、他のＢｌｕｅｔｏｏｔｈ対応モバイルデバイスを発見し、発見した各モバイルデバイスに対する信頼点数を決定することができる。第１のユーザは、第２のユーザのデバイスに対する信頼点数が送信のための閾値より高い場合、第２のユーザにメッセージを送ることができてもよい。第１のユーザは、第２のユーザのデバイスに対する信頼点数が別の閾値より高い場合、第２のユーザからメッセージを受け取ることができてもよい。
【０００６】
特定の実施形態において、第１のユーザと関連付けられた第１のモバイルコンピューティングデバイスは、オフライン通信セッションのためのトリガイベントを検出することができる。オフライン通信セッションにおいて、第１のモバイルコンピューティングデバイスは、インターネットを通じてメッセージをルートせずに、１つまたは複数のモバイルコンピューティングデバイスとメッセージを交換することができる。到達可能なネットワークインフラストラクチャがないことを検出したことが、トリガイベントであってもよい。特定の実施形態において、インターネットを通じてルートしない互いとの１つまたは複数の通信経路を、通信セッションへの通信参加者全てが有していることを検出したことが、トリガイベントであってもよい。第１のモバイルコンピューティングデバイスは、１つまたは複数のワイヤレス送受信器、および、マイクロフォン、カメラ、ビデオカメラ、または、ユーザの物理対話をとらえる任意の適切なセンサを含む１つまたは複数のセンサを含んでもよい。第１のモバイルコンピューティングデバイスは、Ｂｌｕｅｔｏｏｔｈ  Ｌｏｗ  Ｅｎｅｒｇｙ（ＢＬＥ）発見プロトコルなどのワイヤレス発見プロトコルを使用して、１つまたは複数のワイヤレスネットワーク上の第１のコンピューティングデバイスへの１つまたは複数の通信経路を有している第２のユーザと関連付けられた第２のモバイルコンピューティングデバイスを発見することができる。第２のコンピューティングデバイスを発見することについて、第１のモバイルコンピューティングデバイスは、いずれのネットワークインフラストラクチャにもアクセスしない１つまたは複数のワイヤレスネットワーク上の第１のコンピューティングデバイスへの１つまたは複数の通信経路を有しているいずれかのコンピューティングデバイスを発見することができる。特定の実施形態において、第１のモバイルコンピューティングデバイスは、いずれのネットワークインフラストラクチャにもアクセスしない１つまたは複数のワイヤレスネットワーク上の第１のコンピューティングデバイスへの１つまたは複数の通信経路を有しているコンピューティングデバイスの中の、特定の話題について第１のコンピューティングデバイスとの通信に興味を示すコンピューティングデバイスだけを発見することができる。第１のモバイルコンピューティングデバイスは、第２のコンピューティングデバイスに対する初期の信頼点数を決定することができる。第２のコンピューティングデバイスに対する初期の信頼点数について、第１のモバイルコンピューティングデバイスは、その信頼点数を、以前のオフライン通信セッション中に第２のコンピューティングデバイスに対して以前使用した信頼点数に設定することができる。特定の実施形態において、第１のモバイルコンピューティングデバイスは、第２のコンピューティングデバイスに対する信頼点数値を第３のコンピューティングデバイスから受け取ることができる。第１のモバイルコンピューティングデバイスは、第３のコンピューティングデバイスに対する現在の信頼点数が第３の閾値を満たす場合、第２のコンピューティングデバイスに対する信頼点数を、受け取った信頼点数値に設定することが��きる。特定の実施形態において、第１のモバイルコンピューティングデバイスは、第１のコンピューティングデバイスと第２のコンピューティングデバイスとの間の共通の興味を識別し、識別した共通の興味に基づいて、第２のコンピューティングデバイスに対する初期の信頼点数を決定することができる。特定の実施形態において、第１のモバイルコンピューティングデバイスは、発見処理中に集められた情報に基づいて、共通の興味を識別することができる。特定の実施形態において、第１のモバイルコンピューティングデバイスは、第１のコンピューティングデバイスと第２のコンピューティングデバイスの両方にインストールされた共通のアプリケーションに基づいて、共通の興味を識別することができる。特定の実施形態において、第１のモバイルコンピューティングデバイスは、第１のコンピューティングデバイスと第２のコンピューティングデバイスの両方に格納された共通のデータに基づいて、共通の興味を識別することができる。第１のモバイルコンピューティングデバイスは、第１のユーザと第２のユーザとの間の物理対話を、１つまたは複数のセンサを使用して検知することができる。物理対話は、会話、握手、手を振ること、または、任意の利用可能なセンサによってとらえることができる任意の適切な人間対話を含んでもよい。第１のコンピューティングデバイスは、第１のユーザと第２のユーザとの間の検知した物理対話に少なくとも基づいて、第２のコンピューティングデバイスに対する信頼点数を調節することができる。特定の実施形態において、第１のモバイルコンピューティングデバイスは、第２のコンピューティングデバイスが第１のコンピューティングデバイスの近くにある時間にさらに基づいて、第２のコンピューティングデバイスに対する信頼点数を調節することができる。特定の実施形態において、第１のモバイルコンピューティングデバイスは、オフライン通信セッションで第２のコンピューティングデバイスに送られることになる第１のメッセージを検出することができる。第１のコンピューティングデバイスは、第２のコンピューティングデバイスに対する現在の信頼点数が、送られることになるメッセージのための第１の閾値を満たす場合、第２のコンピューティングデバイスに第１のメッセージを送ることができる。特定の実施形態において、第１のモバイルコンピューティングデバイスは、第２のコンピューティングデバイスから第２のメッセージを受け取ることができる。第２のメッセージは、第２のメッセージが属するオフライン通信セッションの識別子、送り手の識別子、１つまたは複数の意図される受け手を識別する１つまたは複数の識別子、およびペイロードを含んでもよい。第１のモバイルコンピューティングデバイスは、第１のコンピューティングデバイスが、１つまたは複数の意図される受け手の一部であることを、１つまたは複数の識別子に基づいて判断することができる。第１のモバイルコンピューティングデバイスは、第２のコンピューティングデバイスが送り手であることを、送り手の識別子に基づいて判断することができる。第１のモバイルコンピューティングデバイスは、第２のコンピューティングデバイスに対する現在の信頼点数が、��け取られることになるメッセージのための第２の閾値を満たすかどうかを判断することができる。判断に応じて、第１のモバイルコンピューティングデバイスは、第２のメッセージのペイロードを第１のユーザに提示することができる。特定の実施形態において、第１のモバイルコンピューティングデバイスは、第２のコンピューティングデバイスから第１のセキュリティキーを受け取ることができる。第１のモバイルコンピューティングデバイスは、第１のセキュリティキーを使用して、第２のコンピューティングデバイスによって送られたメッセージを解読することができる。特定の実施形態において、第１のモバイルコンピューティングデバイスは、第２のコンピューティングデバイスに第２のセキュリティキーを発行することができる。第２のコンピューティングデバイスは、第２のセキュリティキーを使用して、第１のコンピューティングデバイスによって送られたメッセージを解読することができる。
【０００７】
本明細書で開示される実施形態は、単なる例にすぎず、本開示の範囲はこれらに限定されない。特定の実施形態は、上記で開示された実施形態の構成要素、要素、特徴、機能、動作、またはステップの全てまたはいくつかを含むか、いずれも含まなくてもよい。本発明による実施形態は、方法、ストレージ媒体、システム、およびコンピュータプログラム製品を対象とする添付の特許請求の範囲の中で具体的に開示されており、例えば、方法といった１つの請求項のカテゴリの中で言及されるいずれかの特徴は、例えばシステムといった別の請求項のカテゴリの中でも同様に特許請求されることが可能である。添付の特許請求の範囲に記載された従属性または参照は、正式な理由に対してのみ選ばれる。しかし、任意の先の請求項（特に多数項従属性）を意図的に参照した結果生じるいずれかの主題も同様に特許請求されることが可能であり、その結果、請求項と請求項の特徴との任意の組合せが開示され、添付の特許請求の範囲の中で選ばれる従属性にかかわらず特許請求されることが可能である。特許請求されることが可能な主題は、添付の特許請求の範囲に記載されている特徴の組合せだけでなく、特許請求の範囲内の特徴の他の任意の組合せも含み、特許請求の範囲に記載された各特徴は、特許請求の範囲内の他の任意の特徴、または他の特徴の組合せと組み合わされてよい。さらに、本明細書に記載されるか、描写される実施形態および特徴のいずれかは、別々の請求項において、および／あるいは本明細書に記載されるか、描写される任意の実施形態もしくは特徴との任意の組合せ、または添付の特許請求の範囲の特徴のいずれかとの任意の組合せで特許請求されることが可能である。
【０００８】
本発明による１つの実施形態において、特に、コンピュータによって実行される方法は、
第１のユーザと関連付けられた第１のコンピューティングデバイスによって、第２のユーザと関連付けられた第２のコンピューティングデバイスとの通信セッションを開始するためのトリガイベントを検出することであって、第１のコンピューティングデバイスが、１つまたは複数のワイヤレス送受信器、および１つまたは複数のセンサを備える、トリガイベントを検出することと、
第１のコンピューティングデバイスによって、第２のコンピューティングデバイスに対する初期の信頼点数を決定することと、
第１のコンピューティングデバイスによって、第１のユーザと第２のユーザとの間の物理対話を、１つまたは複数のセンサを使用して検知することと、
第１のコンピューティングデバイスによって、検知した物理対話に少なくとも基づいて、第２のコンピューティングデバイスに対する信頼点数を調節することと、
第１のコンピューティングデバイスによって、第２のコンピューティングデバイスに対する調節した信頼点数が第１の閾値を満たす場合、第２のコンピューティングデバイスに第１のメッセージを送ることと
を含む。
【０００９】
第１の閾値は、通信セッションと関連付けられたパラメータであってもよい。
【００１０】
第１の閾値は、第１のメッセージと関連付けられたパラメータであってもよい。
【００１１】
本発明による１つの実施形態において、方法は、
ペイロードを含む第２のメッセージを第２のコンピューティングデバイスから受け取ることと、
第２のコンピューティングデバイスに対する調節した信頼点数が第２の閾値を満たすかどうかを判断することと、
判断に応じて第１のユーザにペイロードを提示することと
を含むことができる。
【００１２】
本発明による１つの実施形態において、方法は、第２のコンピューティングデバイスによって送られたメッセージを解読するために使用されることになる第１のセキュリティキーを第２のコンピューティングデバイスから受け取ることを含むことができる。
【００１３】
本発明による１つの実施形態において、方法は、第２のコンピューティングデバイスに第２のセキュリティキーを発行することを含むことができ、第２のセキュリティキーが、第１のコンピューティングデバイスによって送られたメッセージを解読するために第２のコンピューティングデバイスによって使用される。
【００１４】
１つまたは複数のセンサは、マイクロフォン、カメラ、ビデオカメラ、または、ユーザの物理対話をとらえる任意の適切なセンサを含むことができる。
【００１５】
第２のコンピューティングデバイスに対する初期の信頼点数を決定することは、その信頼点数を、以前の通信セッション中に第２のコンピューティングデバイスに対して以前使用した信頼点数に設定することを含むことができる。
【００１６】
第２のコンピューティングデバイスに対する初期の信頼点数を決定することは、
第２のコンピューティングデバイスに対する信頼点数値を第３のコンピューティングデバイスから受け取ることと、
第３のコンピューティングデバイスに対する現在の信頼点数が第３の閾値を満たす場合、第２のコンピューティングデバイスに対する信頼点数を、受け取った信頼点数値に設定することと、
を含むことができる。
【００１７】
第２のコンピューティングデバイスに対する初期の信頼点数を決定することは、
第１のコンピューティングデバイスと第２のコンピューティングデバイスとの間の共通の興味を識別することと、
識別した共通の興味に基づいて、第２のコンピューティングデバイスに対する初期の信頼点数を決定することと
を含むことができる。
【００１８】
共通の興味は、発見処理中に集められた情報に基づいて識別されてもよい。
【００１９】
共通の興味は、第１のコンピューティングデバイスと第２のコンピューティングデバイスの両方にインストールされた共通のアプリケーションに基づいて識別されてもよい。
【００２０】
共通の興味は、第１のコンピューティングデバイスと第２のコンピューティングデバイスの両方に格納された共通のデータに基づいて識別されてもよい。
【００２１】
第２のコンピューティングデバイスに対する信頼点数を調節することは、第２のコンピューティングデバイスが第１のコンピューティングデバイスの近くにある時間に基づくことができる。
【００２２】
物理対話は、会話、握手、手を振ること、または、任意の利用可能なセンサによってとらえることができる任意の適切な人間対話を含むことができる。
【００２３】
機械学習（ＭＬ：Ｍａｃｈｉｎｅ  Ｌｅａｒｎｉｎｇ）技法は、物理対話を分析するために使用されてもよい。
【００２４】
ＭＬ技法は、自然言語処理アルゴリズムを含むことができる。
【００２５】
ＭＬ技法は、動き検出アルゴリズムを含むことができる。
【００２６】
本発明による１つの実施形態において、１つまたは複数のコンピュータ可読非一時的ストレージ媒体は、ソフトウェアを具体化することができ、ソフトウェアは、実行されると第１のコンピューティングデバイスに、
第２のユーザと関連付けられた第２のコンピューティングデバイスとの通信セッションを開始するためのトリガイベントを検出することであって、第１のコンピューティングデバイスが、１つまたは複数のワイヤレス送受信器、および１つまたは複数のセンサを備え、第１のコンピューティングデバイスが、第１のユーザと関連付けられる、トリガイベントを検出することと、
第２のコンピューティングデバイスに対する初期の信頼点数を決定することと、
第１のユーザと第２のユーザとの間の物理対話を、１つまたは複数のセンサを使用して検知することと、
検知した物理対話に少なくとも基づいて、第２のコンピューティングデバイスに対する信頼点数を調節することと、
第２のコンピューティングデバイスに対する調節した信頼点数が第１の閾値を満たす場合、第２のコンピューティングデバイスに第１のメッセージを送ることと
を行わせるように動作可能になり得る。
【００２７】
本発明による１つの実施形態において、第１のコンピューティングデバイスは、
１つまたは複数のワイヤレス送受信器と、
１つまたは複数のセンサと、
１つまたは複数のプロセッサと、
プロセッサの１つまたは複数に接続された１つまたは複数のコンピュータ可読非一時的ストレージ媒体と
を備えることができ、１つまたは複数のコンピュータ可読非一時的ストレージ媒体は、命令を含み、命令は、プロセッサの１つまたは複数によって実行されると、第１のコンピューティングデバイスに、
第２のユーザと関連付けられた第２のコンピューティングデバイスとの通信セッションを開始するためのトリガイベントを検出することであって、第１のコンピューティングデバイスが、第１のユーザと関連付けられる、トリガイベントを検出することと、
第２のコンピューティングデバイスに対する初期の信頼点数を決定することと、
第１のユーザと第２のユーザとの間の物理対話を、１つまたは複数のセンサを使用して検知することと、
検知した物理対話に少なくとも基づいて、第２のコンピューティングデバイスに対する信頼点数を調節することと、
第２のコンピューティングデバイスに対する調節した信頼点数が第１の閾値を満たす場合、第２のコンピューティングデバイスに第１のメッセージを送ることと
を行わせるように動作可能である。
【００２８】
本発明による１つの実施形態において、１つまたは複数のコンピュータ可読非一時的ストレージ媒体は、ソフトウェアを具体化することができ、ソフトウェアは、実行されると、本発明による方法、または上述の実施形態のいずれかを行うように動作可能である。
【００２９】
本発明による１つの実施形態において、システムは、１つまたは複数のプロセッサと、プロセッサに接続され、プロセッサによって実行可能な命令を含む少なくとも１つのメモリであって、プロセッサが、命令を実行すると、本発明による方法、または上述の実施形態のいずれかを行うように動作可能である、メモリと、を含むことができる。
【００３０】
本発明による１つの実施形態において、コンピュータプログラム製品は、好ましくは、コンピュータ可読非一時的ストレージ媒体を備え、データ処理システムにおいて実行されると、本発明による方法、または上述の実施形態のいずれかを行うように動作可能であることが可能である。
【図面の簡単な説明】
【００３１】
【図１】飛行機上の例示的なオフラインワイヤレスメッシュネットワークの図である。
【図２】バックホールポイントを含む例示的なハイブリッドワイヤレスメッシュネットワークの図である。
【図３】通信ピアに対する信頼点数を決定するための例示的な流れ図である。
【図４】信頼点数に基づく権限付与を伴う例示的なメッセージ配信の図である。
【図５】信頼点数に基づいてメッセージを送るための例示的な方法の図である。
【図６】ソーシャルネットワーキングシステムと関連付けられた例示的なネットワーク環境の図である。
【図７】例示的なソーシャルグラフの図である。
【図８】例示的なコンピュータシステムの図である。
【発明を実施するための形態】
【００３２】
特定の実施形態において、コンピューティングデバイス１０１Ａは、通信ピアに対する評価された信頼度に基づいて、通信のために通信ピアのそれぞれに権限を付与することができる。通信ピアに対する信頼度は、デバイスのユーザ間の近さに少なくとも基づいて評価されてもよい。第１のユーザが長期間、第２のユーザの近くにいるとき、第２のユーザと関連付けられたデバイスからの第１のユーザへの信頼度は上がる可能性がある。信頼度は、スカラ値である信頼点数によって測定されてもよい。近さに基づく信頼度評価および通信権限付与は、任意の通信のために使用されることが可能であるが、近さに基づく信頼度評価および通信権限付与は、利用可能なネットワークインフラストラクチャがないワイヤレスメッシュネットワークでのオフライン通信に特に有用である可能性がある。利用可能なネットワークインフラストラクチャがないとき、コンピューティングデバイス１０１Ａは、サーバからのデータに基づいて通信ピアを認証すること、および権限を付与することができないことがある。第１のコンピューティングデバイス１０１Ａが、オフライン通信セッションの開始をトリガされると、第１のコンピューティングデバイス１０１Ａは、発見プロトコルを使用して、近くにある他のコンピューティングデバイスを発見することができる。第１のコンピューティングデバイス１０１Ａが、第２のコンピューティングデバイス１０１Ｂを発見した後、第１のコンピューティングデバイス１０１Ａは、第２のコンピューティングデバイス１０１Ｂに対する初期の信頼点数を決定し、第２のコンピューティングデバイス１０１Ｂに対する信頼点数が通信に必要な閾値より高い場合、第２のコンピューティングデバイス１０１Ｂとの通信を行うことができる。通信に必要な閾値は、オフライン通信セッションと関連付けられたパラメータであってもよい。特定の実施形態において、通信に必要な閾値は、各メッセージと関連付けられたパラメータであってもよい。第１のコンピューティングデバイス１０１Ａは、通信が行われているときに、第２のコンピューティングデバイス１０１Ｂに対する信頼点数を調節することができる。第１のコンピューティングデバイスは、交換されるメッセージの数が増えるにつれて、第２のコンピューティングデバイス１０１Ｂに対する信頼点数を上げることができる。特定の実施形態において、第１のコンピューティングデバイス１０１Ａは、第１のコンピューティングデバイス１０１Ａと第２のコンピューティングデバイス１０１Ｂのユーザ間の物理対話を検知することができる。第１のコンピューティングデバイス１０１Ａは、ユーザ間の検知した物理対話に基づいて、第２のコンピューティングデバイス１０１Ｂに対する信頼点数を調節することができる。特定の実施形態において、第１のコンピューティングデバイス１０１Ａは、第２のコンピューティングデバイス１０１Ｂと関連付けられたユーザが、第１のコンピューティングデバイス１０１Ａと関連付けられたユーザの近くにいる時間を測定することができる。第１のコンピューティングデバイス１０１Ａは、第２のコンピューティングデバイス１０１Ｂと関連付けられたユーザが、第１のコンピューティングデバイス１０１Ａと関連付けられたユーザの近くにいる時間に基づいて、第２のコンピューティングデバイス１０１Ｂに対する信頼点数を調節することができる。限定ではなく、例として、携帯電話をもっている第１のユーザは、飛行機に乗り、ワイヤレス送受信器がオフになる機内モードに携帯電話を切り換えることができる。第１のユーザは、Ｂｌｕｅｔｏｏｔｈ無線をオンにすることによって、機上での他のユーザとのオフラインメッセージングセッションを確立することができる。オフラインメッセージングセッションについて、携帯電話は、他のＢｌｕｅｔｏｏｔｈ対応モバイルデバイスを発見し、発見した各モバイルデバイスに対する信頼点数を決定することができる。第１のユーザは、第２のユーザのデバイスに対する信頼点数が送信のための閾値より高い場合、第２のユーザにメッセージを送ることができてもよい。第１のユーザは、第２のユーザのデバイスに対する信頼点数が別の閾値より高い場合、第２のユーザからメッセージを受け取ることができてもよい。本開示は、特定の手法で、近さに基づく信頼度に基づいて通信を認証することを記述するが、本開示は、任意の適切な手法で、近さに基づく信頼度に基づいて通信を認証することを想定する。
【００３３】
特定の実施形態において、第１のユーザと関連付けられた第１のモバイルコンピューティングデバイスは、オフライン通信セッションのためのトリガイベントを検出することができる。オフライン通信セッションにおいて、第１のモバイルコンピューティングデバイスは、ネットワークインフラストラクチャを通じてメッセージをルートせずに、１つまたは複数のモバイルコンピューティングデバイスとメッセージを交換することができる。到達可能なネットワークインフラストラクチャがないことを検出したことが、トリガイベントであってもよい。特定の実施形態において、いずれのネットワークインフラストラクチャにもアクセスしない１つまたは複数のワイヤレスネットワーク上の互いとの１つまたは複数の通信経路を、通信セッションへの通信参加者全てが有していることを検出したことが、トリガイベントであってもよい。第１のモバイルコンピューティングデバイスは、１つまたは複数のワイヤレス送受信器、および、マイクロフォン、カメラ、ビデオカメラ、または、ユーザの物理対話をとらえる任意の適切なセンサを含む１つまたは複数のセンサを含んでもよい。第１のモバイルコンピューティングデバイスは、Ｂｌｕｅｔｏｏｔｈ  Ｌｏｗ  Ｅｎｅｒｇｙ（ＢＬＥ）発見プロトコルなどのワイヤレス発見プロトコルを使用して、１つまたは複数のワイヤレスネットワーク上の第１のコンピューティングデバイス１０１Ａへの１つまたは複数の通信経路を有している第２のユーザと関連付けられた第２のモバイルコンピューティングデバイスを発見することができる。第２のコンピューティングデバイス１０１Ｂを発見することについて、第１のモバイルコンピューティングデバイスは、いずれのネットワークインフラストラクチャにもアクセスしない１つまたは複数のワイヤレスネットワーク上の第１のコンピューティングデバイス１０１Ａへの１つまたは複数の通信経路を有しているいずれかのコンピューティングデバイスを発見することができる。特定の実施形態において、第１のモバイルコンピューティングデバイスは、いずれのネットワークインフラストラクチャにもアクセスしない１つまたは複数のワイヤレスネットワーク上の第１のコンピューティングデバイス１０１Ａへの１つまたは複数の通信経路を有しているコンピューティングデバイスの中の、特定の話題について第１のコンピューティングデバイス１０１Ａとの通信に興味を示すコンピューティングデバイスだけを発見することができる。第１のモバイルコンピューティングデバイスは、第２のコンピューティングデバイス１０１Ｂに対する初期の信頼点数を決定することができる。第２のコンピューティングデバイス１０１Ｂに対する初期の信頼点数について、第１のモバイルコンピューティングデバイスは、その信頼点数を、以前のオフライン通信セッション中に第２のコンピューティングデバイス１０１Ｂに対して以前使用した信頼点数に設定することができる。特定の実施形態において、第１のモバイルコンピューティングデバイスは、第２のコンピューティングデバイス１０１Ｂに対する信頼点数値を第３のコンピューティングデバイスから受け取ることができる。第１のモバイルコンピューティングデバイスは、第３のコンピ��ーティングデバイスに対する現在の信頼点数が第３の閾値を満たす場合、第２のコンピューティングデバイス１０１Ｂに対する信頼点数を、受け取った信頼点数値に設定することができる。特定の実施形態において、第１のモバイルコンピューティングデバイスは、第１のコンピューティングデバイス１０１Ａと第２のコンピューティングデバイス１０１Ｂとの間の共通の興味を識別し、識別した共通の興味に基づいて、第２のコンピューティングデバイス１０１Ｂに対する初期の信頼点数を決定することができる。特定の実施形態において、第１のモバイルコンピューティングデバイスは、発見処理中に集められた情報に基づいて、共通の興味を識別することができる。特定の実施形態において、第１のモバイルコンピューティングデバイスは、第１のコンピューティングデバイス１０１Ａと第２のコンピューティングデバイス１０１Ｂの両方にインストールされた共通のアプリケーションに基づいて、共通の興味を識別することができる。特定の実施形態において、第１のモバイルコンピューティングデバイスは、第１のコンピューティングデバイス１０１Ａと第２のコンピューティングデバイス１０１Ｂの両方に格納された共通のデータに基づいて、共通の興味を識別することができる。第１のモバイルコンピューティングデバイスは、第１のユーザと第２のユーザとの間の物理対話を、１つまたは複数のセンサを使用して検知することができる。物理対話は、会話、握手、手を振ること、または、任意の利用可能なセンサによってとらえることができる任意の適切な人間対話を含んでもよい。第１のコンピューティングデバイス１０１Ａは、第１のユーザと第２のユーザとの間の検知した物理対話に少なくとも基づいて、第２のコンピューティングデバイス１０１Ｂに対する信頼点数を調節することができる。特定の実施形態において、第１のモバイルコンピューティングデバイスは、第２のコンピューティングデバイス１０１Ｂが第１のコンピューティングデバイス１０１Ａの近くにある時間にさらに基づいて、第２のコンピューティングデバイス１０１Ｂに対する信頼点数を調節することができる。特定の実施形態において、第１のモバイルコンピューティングデバイスは、オフライン通信セッションで第２のコンピューティングデバイス１０１Ｂに送られることになる第１のメッセージを検出することができる。第１のコンピューティングデバイス１０１Ａは、第２のコンピューティングデバイス１０１Ｂに対する現在の信頼点数が、送られることになるメッセージのための第１の閾値を満たす場合、第２のコンピューティングデバイス１０１Ｂに第１のメッセージを送ることができる。特定の実施形態において、第１のモバイルコンピューティングデバイスは、第２のコンピューティングデバイス１０１Ｂから第２のメッセージを受け取ることができる。第２のメッセージは、第２のメッセージが属するオフライン通信セッションの識別子、送り手の識別子、１つまたは複数の意図される受け手を識別する１つまたは複数の識別子、およびペイロードを含んでもよい。第１のモバイルコンピューティングデバイスは、第１のコンピューティングデバイス１０１Ａが、１つまたは複数の意図される受け手の一部である��とを、１つまたは複数の識別子に基づいて判断することができる。第１のモバイルコンピューティングデバイスは、第２のコンピューティングデバイス１０１Ｂが送り手であることを、送り手の識別子に基づいて判断することができる。第１のモバイルコンピューティングデバイスは、第２のコンピューティングデバイス１０１Ｂに対する現在の信頼点数が、受け取られることになるメッセージのための第２の閾値を満たすかどうかを判断することができる。判断に応じて、第１のモバイルコンピューティングデバイスは、第２のメッセージのペイロードを第１のユーザに提示することができる。特定の実施形態において、第１のモバイルコンピューティングデバイスは、第２のコンピューティングデバイス１０１Ｂから第１のセキュリティキーを受け取ることができる。第１のモバイルコンピューティングデバイスは、第１のセキュリティキーを使用して、第２のコンピューティングデバイス１０１Ｂによって送られたメッセージを解読することができる。特定の実施形態において、第１のモバイルコンピューティングデバイスは、第２のコンピューティングデバイス１０１Ｂに第２のセキュリティキーを発行することができる。第２のコンピューティングデバイス１０１Ｂは、第２のセキュリティキーを使用して、第１のコンピューティングデバイス１０１Ａによって送られたメッセージを解読することができる。
【００３４】
特定の実施形態において、第１のユーザと関連付けられた第１のコンピューティングデバイス１０１Ａは、通信セッションを開始するためのトリガイベントを検出することができる。特定の実施形態において、通信セッションは、インターネットを通じてルートせずに、第１のコンピューティングデバイス１０１Ａが、１つまたは複数のコンピューティングデバイスとメッセージを交換できるオフライン通信セッションであってもよい。トリガイベントは、ユーザからの命令であってもよい。特定の実施形態において、第１のコンピューティングデバイス１０１Ａは、到達可能なネットワークインフラストラクチャがないことを検出することができる。この検出が、オフライン通信セッションを開始するためのトリガイベントであってもよい。特定の実施形態において、第１のコンピューティングデバイス１０１Ａは、インターネットを通じてルートしない互いとの１つまたは複数の通信経路を、通信セッションへの通信参加者全てが有していることを検出することができる。この検出が、オフライン通信セッションのためのトリガイベントであってもよい。図１は、飛行機上の例示的なオフラインワイヤレスメッシュネットワークを示す。図１に示された、限定ではなく、例として、第１のコンピューティングデバイス１０１Ａと関連付けられた第１のユーザは、飛行機１００に乗り、第１のコンピューティングデバイス１０１Ａのワイヤレス送受信器がオフになる機内モードに第１のコンピューティングデバイス１０１Ａを切り換えることができる。第１のユーザは、飛行中にフットボールゲームについてチャットするために、機上で他のユーザとオフラインメッセージングセッションを確立したいと思うことがある。第１のユーザは、第１のコンピューティングデバイス１０１ＡのＢｌｕｅｔｏｏｔｈ無線をオンにし、フットボールゲームについてチャットするためにオフラインメッセージングセッションを開始することができる。第１のコンピューティングデバイス１０１Ａは、所定の期間、Ｂｌｕｅｔｏｏｔｈチャネルで発見リクエストをブロードキャストすることによってワイヤレス発見処理を行うことができる。４つのコンピューティングデバイス１０１Ｂ〜１０１Ｅが発見リクエストに応答したので、発見処理の終わりに、５つのモバイルコンピューティングデバイスを含むオフラインワイヤレスメッシュネットワークが確立されてもよい。コンピューティングデバイスの中には、互いに直接通信できない可能性があるものもある。例えば、図１に示されたように、コンピューティングデバイス１０１Ｂは、コンピューティングデバイス１０１Ｄまたはコンピューティングデバイス１０１Ｅとメッセージを交換できない可能性がある。このような状況では、コンピューティングデバイス１０１Ａは、コンピューティングデバイス１０１Ｂとコンピューティングデバイス１０１Ｄとの間で、または、コンピューティングデバイス１０１Ｂとコンピューティングデバイス１０１Ｄとの間で、メッセージを中継することができる。コンピューティングデバイス１０１Ａ〜１０１Ｅは、オンラインソーシャルネットワークのためのクライアントシステム６３０であってもよい。次に、コンピューティングデバイス１０１Ａ〜１０１Ｅは、コンピューティングデバイスが互いを発見したとき、オンラインソーシャルネットワークのためにキャッシュされたユーザプロフィールからの利用可能な情報をローカルに利用することができる。限定ではなく、別の例として、第１のコンピューティングデバイス１０１Ａは、インターネットにアクセスするために、いずれのネットワークインフラストラクチャにもアクセスできないこともある。自然災害の状況が、このような状況の例であってもよい。第１のコンピューティングデバイス１０１Ａは、ユーザからの入力がなくても、オフラインメッセージングセッションを開始することができる。第１のコンピューティングデバイス１０１Ａは、いずれかの利用可能な通信ピアを見つけるために、発見リクエストメッセージをブロードキャストすることができる。本開示は、特定の手法でオフライン通信セッションを開始することを記述するが、本開示は、任意の適切な手法でオフライン通信セッションを開始することを想定する。
【００３５】
特定の実施形態において、通信セッションは、第１のコンピューティングデバイス１０１Ａが、インターネットを通じてメッセージをルートせずに、１つまたは複数のコンピューティングデバイスとメッセージを交換すること、および、インターネットを通じてメッセージをルートすることによって、１つまたは複数の他のコンピューティングデバイスとメッセージを交換することができるハイブリッド通信セッションであってもよい。特定の実施形態において、第１のコンピューティングデバイス１０１Ａは、通信セッションに参加中のコンピューティングデバイスの大多数が、インターネットを通じてメッセージをルートしない互いとの１つまたは複数の通信経路を有していることを検出することができる。この検出が、ハイブリッド通信セッションを開始するためのトリガイベントであってもよい。ハイブリッド通信セッションでは、１つまたは複数の参加中のコンピューティングデバイスは、ローカルに直接到達できないことがある。これらのローカルに到達できないコンピューティングデバイスと通信するために、ローカルな通信経路を有するコンピューティングデバイスは、インターネットに接続された１つまたは複数のデバイスを通じてメッセージをルートすることができる。インターネットに接続されたデバイスは、バックホールポイントと呼ばれることもある。バックホールポイントは、参加中のコンピューティングデバイスのうちの１つであってもよい。特定の実施形態において、バックホールポイントは、Ｗｉ−Ｆｉアクセスポイントを含む据え置き型のインフラストラクチャデバイスであってもよい。図２は、バックホールポイントを含む例示的なハイブリッドワイヤレスメッシュネットワークを示す。図２に示された、限定ではなく、例として、第１のコンピューティングデバイス２０１Ａと関連付けられた第１のユーザは、第１のコンピューティングデバイス２０１Ａを使用してオンラインビデオゲームをプレイすることができる。第１のユーザは、自分の友人のうちの３人とオンラインビデオゲームをプレイすることができる。オンラインビデオゲームについて、プレーヤと関連付けられたコンピューティングデバイスは、互いに接続されなければならない。第１のコンピューティングデバイス２０１Ａは、２つのコンピューティングデバイス２０１Ｂおよび２０１Ｃが、インターネット２１０を通じてルートせずに、ローカルに到達可能なであることを検出することができる。第１のコンピューティングデバイス２０１Ａは、第１のコンピューティングデバイス２０１Ａが、インターネット２１０を通じてメッセージをルートせずに、コンピューティングデバイス２０１Ｂおよび２０１Ｃと直接通信すること、ならびにインターネット２１０を通じてコンピューティングデバイス２０１Ｄと通信することを行うハイブリッド通信セッションを開始することができる。コンピューティングデバイス２０１Ｂおよび２０１Ｃは、図２に示された例では、第１のコンピューティングデバイス２０１Ａを通じてコンピューティングデバイス２０１Ｄと通信する。したがって、第１のコンピューティングデバイス２０１Ａは、ハイブリッドワイヤレスメッシュネットワークにおけるバックホールポイントであってもよい。コンピューティングデバイス２０１Ａ〜２０１Ｄは、オンラインソーシャルネットワークのためのクライアントシステム６３０であってもよい。コンピューティングデバイス２０１Ａ〜２０１Ｄは、コンピューティングデバイス２０１Ａ〜２０１Ｄが通信セッションを開始し、通信セッションを維持するとき、ソーシャルネットワーキングシステム６６０のデータストア内の利用可能なデータを利用することができる。限定ではなく、別の例として、第１のコンピューティングデバイス２０１Ａと関連付けられた第１のユーザは、ハイブリッド通信セッションを開始するために、第１のコンピューティングデバイス２０１Ａにオーダを出すことができる。本開示は、特定の手法でハイブリッド通信セッションを開始することを記述するが、本開示は、任意の適切な手法でハイブリッド通信セッションを開始することを想定する。
【００３６】
特定の実施形態において、通信セッションは、第１のコンピューティングデバイス１０１Ａが、インターネットを通じてメッセージをルートすることによって、１つまたは複数のコンピューティングデバイスとメッセージを交換することができるオンライン通信セッションであってもよい。第１のコンピューティングデバイス１０１Ａは、１つまたは複数のコンピューティングデバイスと通信する必要性を検出することができる。この検出が、オンライン通信セッションを開始するためのトリガイベントであってもよい。メッセージは、インターネットを通じてルートされるが、参加中のコンピューティングデバイスおよびこれらの対応するユーザは、互いに近くにいてもよい。したがって、近さに基づく信頼は、通信の権限を付与するために利用されてもよい。図１に示された、限定ではなく、例として、コンピューティングデバイス１０１Ａ〜１０１Ｅは、機内Ｗｉ−Ｆｉネットワークを介してインターネットにアクセスすることができる。コンピューティングデバイス１０１Ａ〜１０１Ｅは、オンライン通信セッションを形成し、インターネットを通じて互いに通信することができる。コンピューティングデバイス１０１Ａ〜１０１Ｅは、オンラインソーシャルネットワークのためのクライアントシステム６３０であってもよい。次に、コンピューティングデバイス１０１Ａ〜１０１Ｅは、コンピューティングデバイス１０１Ａ〜１０１Ｅが互いを発見し、通信セッションを維持するとき、ソーシャルネットワーキングシステム６６０のデータストア内の利用可能なデータを利用することができる。本開示は、特定の手法でオンライン通信セッションを開始することを記述するが、本開示は、任意の適切な手法でオンライン通信セッションを開始することを想定する。
【００３７】
特定の実施形態において、第１のコンピューティングデバイス１０１Ａは、１つまたは複数のワイヤレス送受信器、および、マイクロフォン、カメラ、ビデオカメラ、または、ユーザの物理対話をとらえる任意の適切なセンサを含む１つまたは複数のセンサを含んでもよい。第１のコンピューティングデバイス１０１Ａは、２つ以上のワイヤレスネットワークに同時にアクセスできるものであってもよい。第１のコンピューティングデバイス１０１Ａは、通信セッション中、２つ以上のワイヤレスネットワークを通信のために使用することができる。第１のコンピューティングデバイス１０１Ａは、第３のコンピューティングデバイス１０１ＣとＷｉ−Ｆｉネットワークで通信しながら、第２のコンピューティングデバイス１０１ＢとＢｌｕｅｔｏｏｔｈネットワークで通信することができる。第１のコンピューティングデバイス１０１Ａはモバイルデバイスなので、第１のコンピューティングデバイス１０１Ａは、少なくとも１つのワイヤレス送受信器を備えている可能性がある。最も現代的なモバイルデバイスのように、第１のコンピューティングデバイス１０１Ａは、ユーザの物理対話をとらえることができる１つまたは複数のセンサを備えている可能性がある。限定ではなく、例として、第１のコンピューティングデバイス１０１Ａは、セルラー無線送受信器、Ｗｉ−Ｆｉ無線送受信器、およびＢｌｕｅｔｏｏｔｈ無線送受信器を装備したスマートフォンであってもよい。第１のコンピューティングデバイス１０１Ａは、異なるワイヤレスネットワークを通じて同時に複数の通信ピアと通信することができる。第１のコンピューティングデバイス１０１Ａは、ユーザの会話を検知することができるマイクロフォン、ならびに、ユーザとユーザの動きの両方の静止画像をとらえることができるカメラをさらに装備されてもよい。第１のコンピューティングデバイス１０１Ａは、機械学習（ＭＬ）技法を利用することができる物理対話分析モジュールを含んでもよい。特定の実施形態において、物理対話分析モジュールは、ＭＬベースの自然言語処理アルゴリズムを使用してユーザの会話を分析することができる。特定の実施形態において、物理対話分析モジュールは、ＭＬベースの画像検出アルゴリズムを使用して、ユーザのとらえた画像を分析することができる。特定の実施形態において、物理対話分析モジュールは、ＭＬベースの動き検出アルゴリズムを使用して、ユーザのとらえた動きを分析することができる。物理対話分析モジュールは、スタンドアロンで分析を行ってもよい。特定の実施形態において、物理対話分析モジュールは、サーバと通信することによって分析を行ってもよい。本開示は、特定の手法で、１つまたは複数の無線送受信器、および１つまたは複数のセンサを装備することを記述するが、本開示は、任意の適切な手法で、１つまたは複数の無線送受信器、および１つまたは複数のセンサを装備することを想定する。
【００３８】
特定の実施形態において、第１のコンピューティングデバイス１０１Ａは、Ｂｌｕｅｔｏｏｔｈ  Ｌｏｗ  Ｅｎｅｒｇｙ（ＢＬＥ）発見プロトコルなどのワイヤレス発見プロトコルを使用して、近くにある第２のユーザと関連付けられた第２のコンピューティングデバイス１０１Ｂを発見することができる。第１のコンピューティングデバイス１０１Ａは、オフライン通信セッションを確立するために、第２のコンピューティングデバイス１０１Ｂを発見することができる。特定の実施形態において、第１のコンピューティングデバイス１０１Ａは、オンライン通信セッションを確立するときでも、近くにある第２のコンピューティングデバイス１０１Ｂを発見することができる。特定の実施形態において、第１のコンピューティングデバイス１０１Ａと第２のコンピューティングデバイス１０１Ｂの両方は、オンラインソーシャルネットワークのクライアントシステム６３０であってもよい。このような状況では、第１のコンピューティングデバイス１０１Ａは、第２のコンピューティングデバイス１０１Ｂが近くにあるという、ソーシャルネットワーキングシステム６６０からの指示を受け取ることができる。ソーシャルネットワーキングシステム６６０からの指示は、第２のユーザおよび第２のコンピューティングデバイス１０１Ｂと関連付けられた追加情報を含んでもよい。第１のコンピューティングデバイス１０１Ａは、近くにあるいずれかのコンピューティングデバイスを発見することができる。特定の実施形態において、第１のコンピューティングデバイス１０１Ａは、第１のコンピューティングデバイス１０１Ａとの、特定の話題についての通信に興味を示す近くにあるコンピューティングデバイスだけを発見することができる。図１に示された、限定ではなく、例として、第１のコンピューティングデバイス１０１Ａは、ＢＬＥ発見プロトコルを使用して、近くにあるコンピューティングデバイスを発見することができる。第１のコンピューティングデバイス１０１Ａは、第１のコンピューティングデバイス１０１Ａとの、フットボールゲームついての通信に興味を示すコンピューティングデバイスだけを発見することができる。限定ではなく、別の例として、第１のコンピューティングデバイス１０１Ａは、インターネットが到達可能ではないということを第１のコンピューティングデバイス１０１Ａが検出するので、ＢＬＥ発見プロトコルを使用して、近くにあるコンピューティングデバイスを発見することができる。この状況は、災害または緊急の状況に関連し得るので、第１のコンピューティングデバイス１０１Ａは、近くにあるいずれかのコンピューティングデバイスを発見することができる。限定ではなく、さらに別の例として、第１のコンピューティングデバイス１０１Ａと関連付けられた第１のユーザは、コーヒーショップに入る可能性がある。第１のユーザは、自分の友人を待っている間、コーヒーについてチャットしたいと思う可能性がある。第１のコンピューティングデバイス１０１Ａは、ソーシャルネットワーキングシステム６６０にリクエストを送ることができる。ソーシャルネットワーキングシステム６６０は、コーヒーに興味があるコーヒーショップ内のオンラインソーシャルネッ��ワークユーザのリストを含むレスポンスを送ることができる。第１のコンピューティングデバイス１０１Ａは、応答メッセージ内で識別したユーザに招待状を送ることができる。本開示は、特定の手法で通信ピアを発見することを記述するが、本開示は、任意の適切な手法で通信ピアを発見することを想定する。
【００３９】
図３は、通信ピアに対する信頼点数を決定するための例示的なフローを示す。特定の実施形態において、第１のコンピューティングデバイス１０１Ａは、ステップ３１０において、第２のコンピューティングデバイス１０１Ｂを通信ピアとして決定することができる。特定の実施形態において、第１のコンピューティングデバイス１０１Ａは、ステップ３２０において、第２のコンピューティングデバイス１０１Ｂに対する初期の信頼点数を決定することができる。第１のコンピューティングデバイス１０１Ａによる第２のコンピューティングデバイス１０１Ｂに対する信頼点数は、第１のコンピューティングデバイス１０１Ａの観点からの、第２のコンピューティングデバイス１０１Ｂのある程度の信頼性を示すことができる。第１のコンピューティングデバイス１０１Ａは、第２のコンピューティングデバイス１０１Ｂに対する信頼点数が送信のための閾値を満たすときだけ、第２のコンピューティングデバイス１０１Ｂにメッセージを送ることができる。さらに、第１のコンピューティングデバイス１０１Ａは、第２のコンピューティングデバイス１０１Ｂに対する信頼点数が受信のための別の閾値を満たさない場合、第２のコンピューティングデバイス１０１Ｂから受け取ったメッセージを捨てることができる。特定の実施形態において、第２のコンピューティングデバイス１０１Ｂに対する初期の信頼点数について、第１のコンピューティングデバイス１０１Ａは、以前のオフライン通信セッション中に第２のコンピューティングデバイス１０１Ｂに対して以前使用した信頼点数３０１に、信頼点数を設定することができる。第１のコンピューティングデバイス１０１Ａが、ステップ３１０において、第２のコンピューティングデバイス１０１Ｂを通信ピアとして決定した後、第１のコンピューティングデバイス１０１Ａは、第２のコンピューティングデバイス１０１Ｂがかつて通信ピアだったことがあるかどうかを判断するために、レコードを探索することができる。第１のコンピューティングデバイス１０１Ａが第２のコンピューティングデバイス１０１Ｂに関するレコードを見つけると、第１のコンピューティングデバイス１０１Ａは、第２のコンピューティングデバイス１０１Ｂに対して以前使用した信頼点数３０１に、信頼点数を設定することができる。限定ではなく、例として、コーヒーショップについての前の例を続けると、第２のコンピューティングデバイス１０１Ｂは、第１のコンピューティングデバイス１０１Ａからの招待状を受け入れることができる。第１のコンピューティングデバイス１０１Ａは、第２のコンピューティングデバイス１０１Ｂと関連付けられた履歴メッセージングセッションレコードをリクエストするメッセージを、ソーシャルネットワーキングシステム６６０に送ることができる。ソーシャルネットワーキングシステム６６０は、第１のコンピューティングデバイス１０１Ａと第２のコンピューティングデバイス１０１Ｂとの間の以前のメッセージングセッションのレコードを探索することができる。ソーシャルネットワーキングシステム６６０は、第１のコンピューティングデバイス１０１Ａと第２のコンピューティングデバイス１０１Ｂとの間の以前のメッセージングセッションのリストを含む応答メッセージを、第１のコンピューティングデバイス１０１Ａに送ることができる。リストは、第２のコンピューティングデバイス１０１Ｂに対する信頼点数を含む各メッセージングセッションの詳細を含むことができる。第１のコンピューティングデバイス１０１Ａが、いずれかの以前のメッセージングセッションレコードを含むレスポンスを受け取ると、第１のコンピューティングデバイス１０１Ａは、第２のコンピューティングデバイス１０１Ｂに対する信頼点数を、最後に使用した信頼点数３０１に設定することができる。特定の実施形態において、第１のコンピューティングデバイス１０１Ａは、最後のメッセージセッションが閾値より早く発生した場合、応答メッセージ内のレコードを無視することができる。限定ではなく、別の例として、飛行機についての前の例を続けると、第１のコンピューティングデバイス１０１Ａは、ＢＬＥ発見プロトコルを使用して、第２のコンピューティングデバイス１０１Ｂを発見することができる。第２のコンピューティングデバイスを識別した後、第１のコンピューティングデバイス１０１Ａは、ローカルメモリからの以前のオフライン通信セッションのレコード上で、第２のコンピューティングデバイス１０１Ｂの識別子を探索することができる。第２のコンピューティングデバイス１０１Ｂが参加したオフライン通信セッションについてのレコードを第１のコンピューティングデバイス１０１Ａが見つけると、第１のコンピューティングデバイス１０１Ａは、以前に使用した信頼点数３０１に信頼点数を設定することができる。特定の実施形態において、第１のコンピューティングデバイス１０１Ａは、レコードが閾値より古い場合、レコードを無視することができる。本開示は、特定の手法で、通信ピアに対して以前に使用した信頼点数に基づいて、通信ピアに対する初期の信頼点数を決定することを記述するが、本開示は、任意の適切な手法で、通信ピアに対して以前に使用した信頼点数に基づいて、通信ピアに対する初期の信頼点数を決定することを想定する。
【００４０】
特定の実施形態において、第１のコンピューティングデバイス１０１Ａは、第２のコンピューティングデバイス１０１Ｂに対する信頼点数値を、第３のコンピューティングデバイス１０１Ｃから受け取ることができる。第１のコンピューティングデバイス１０１Ａは、第３のコンピューティングデバイスに対する信頼点数が閾値を満たす場合、第２のコンピューティングデバイス１０１Ｂに対する信頼点数を、受け取った信頼点数値３０２に設定することができる。限定ではなく、例として、飛行機についての前の例を続けると、第１のコンピューティングデバイス１０１Ａと関連付けられた第１のユーザは、第３のコンピューティングデバイス１０１Ｃと関連付けられた第３のユーザの友人であってもよい。第２のコンピューティングデバイスと関連付けられた第２のユーザは、第３のユーザの同僚である。第１のコンピューティングデバイス１０１Ａが、第２のコンピューティングデバイス１０１Ｂを発見するとき、第１のコンピューティングデバイス１０１Ａは、第２のコンピューティングデバイスと関連付けられた以前のいずれのレコードも有していない可能性があるが、第１のコンピューティングデバイス１０１Ａは、第３のユーザが第１のユーザの友人なので、第３のコンピューティングデバイス１０１Ｃと関連付けられたレコードを有している可能性がある。第３のコンピューティングデバイス１０１Ｃは、第１のコンピューティングデバイス１０１Ａと第２のコンピューティングデバイス１０１Ｂの両方と関連付けられたレコードを有している可能性がある。第１のコンピューティングデバイス１０１Ａは、第２のコンピューティングデバイス１０１Ｂに対する信頼点数を、第３のコンピューティングデバイス１０１Ｃから受け取ることができる。第１のコンピューティングデバイス１０１Ａによる第３のコンピューティングデバイス１０１Ｃに対する信頼点数は、以前のオフラインメッセージングセッションのレコードに基づいて決定されてもよく、閾値より高くてもよい。第１のコンピューティングデバイスは、第３のコンピューティングデバイス１０１Ｃに対する信頼点数が閾値より高いので、第３のコンピューティングデバイスから受け取った信頼点数３０２に、第２のコンピューティングデバイス１０１Ｂに対する信頼点数を設定することができる。本開示は、特定の手法で、信頼できる第三者のピアから受け取った情報に基づいて、通信ピアに対する初期の信頼点数を決定することを記述するが、本開示は、任意の適切な手法で、信頼できる第三者のピアから受け取った情報に基づいて、通信ピアに対する初期の信頼点数を決定することを想定する。
【００４１】
特定の実施形態において、第１のコンピューティングデバイス１０１Ａは、第１のコンピューティングデバイス１０１Ａと第２のコンピューティングデバイス１０１Ｂとの間の共通の興味を識別し、識別した共通の興味に基づいて、第２のコンピューティングデバイス１０１Ｂに対する初期の信頼点数を決定することができる。特定の実施形態において、第１のコンピューティングデバイス１０１Ａは、発見処理中に集められた情報３０３に基づいて、共通の興味を識別することができる。限定ではなく、例として、飛行機についての前の例を続けると、第１のコンピューティングデバイス１０１Ａは、フットボールゲームについてチャットするために、オフラインメッセージングセッションのための発見処理を行ってもよい。第１のコンピューティングデバイス１０１Ａは、発見リクエストに応答したコンピューティングデバイスがフットボールゲームについて話すことに興味があると考えることができる。第１のコンピューティングデバイス１０１Ａは、応答したコンピューティングデバイスに対する信頼点数を、所定の値に設定することができる。所定の値は、第１のコンピューティングデバイス１０１Ａが、応答したコンピューティングデバイスと、フットボールゲームについてのメッセージを交換できるようにする値であってもよい。限定ではなく、別の例として、コーヒーショップについての前の例を続けると、第１のコンピューティングデバイス１０１Ａは、コーヒーに興味があるユーザと関連付けられた、コーヒーショップ内のコンピューティングデバイスのリストをソーシャルネットワーキングシステム６６０から受け取ることができる。第１のコンピューティングデバイスは、リスト内のコンピューティングデバイスに対する信頼点数を、所定の値に設定することができる。所定の値は、第１のコンピューティングデバイス１０１Ａが、リスト内のコンピューティングデバイスと、コーヒーについてメッセージを交換できるようにする値であってもよい。特定の実施形態において、第１のコンピューティングデバイス１０１Ａは、第１のコンピューティングデバイス１０１Ａと第２のコンピューティングデバイス１０１Ｂの両方にインストールされた共通のアプリケーション３０４に基づいて、共通の興味を識別することができる。限定ではなく、例として、まもなく起こるイベントに関するアプリケーションが、第１のコンピューティングデバイス１０１Ａと第２のコンピューティングデバイス１０１Ｂの両方にインストールされている可能性がある。両方のコンピューティングデバイスにインストールされたアプリケーションは、コンピューティングデバイスのユーザがイベントに出席することに興味があることを示すことができる。第２のコンピューティングデバイス１０１Ｂが共通のアプリケーションをインストールしていることを第１のコンピューティングデバイス１０１Ａが見つけ出すと、第１のコンピューティングデバイス１０１Ａは、第２のコンピューティングデバイスに対する信頼点数を、所定の値に設定することができる。所定の値は、第１のコンピューティングデバイス１０１Ａが、第２のコンピューティングデバイス１０１Ｂと、イベントについてメッセージを交換できるようにする値であってもよい。特定の実施形態において、第１のコンピューティングデバイス１０１Ａは、第１のコンピューティングデバイス１０１Ａと第２のコンピューティングデバイス１０１Ｂの両方に格納された共通のデータ３０５に基づいて、共通の興味を識別することができる。限定ではなく、例として、まもなく起こるイベントに関する共通のカレンダ項目が、第１のコンピューティングデバイス１０１Ａと第２のコンピューティングデバイス１０１Ｂの両方に対するものであってもよい。両方のデバイス上のイベントに関する共通のカレンダ項目は、両方のデバイスのユーザがイベントに出席することに興味があることを示すことができる。第２のコンピューティングデバイス１０１Ｂが共通のカレンダ項目を有していることを第１のコンピューティングデバイス１０１Ａが見つけ出すと、第１のコンピューティングデバイス１０１Ａは、第２のコンピューティングデバイスに対する信頼点数を、所定の値に設定することができる。所定の値は、第１のコンピューティングデバイス１０１Ａが、第２のコンピューティングデバイス１０１Ｂとイベントについてメッセージを交換できるようにする値であってもよい。本開示は、特定の手法で、共通の興味に基づいて、通信ピアに対する初期の信頼点数を決定することを記述するが、本開示は、任意の適切な手法で、共通の興味に基づいて、通信ピアに対する初期の信頼点数を決定することを想定する。
【００４２】
特定の実施形態において、第１のコンピューティングデバイス１０１Ａは、第１のユーザと第２のユーザとの間の物理対話を、１つまたは複数のセンサを使用して検知することができ、ここで、第１のユーザは、第１のコンピューティングデバイス１０１Ａと関連付けられ、第２のユーザは、第２のコンピューティングデバイス１０１Ｂと関連付けられる。物理対話は、会話、握手、手を振ること、または、任意の利用可能なセンサによってとらえることができる任意の適切な人間対話を含んでもよい。限定ではなく、例として、第１のコンピューティングデバイス１０１Ａは、マイクロフォンを装備してもよい。第１のコンピューティングデバイス１０１Ａと関連付けられた第１のユーザ、および第２のコンピューティングデバイス１０１Ｂと関連付けられた第２のユーザは、互いに近くにいてもよい。第１のコンピューティングデバイス１０１Ａおよび第２のコンピューティングデバイス１０１Ｂが通信セッションを開始すると、第１のコンピューティングデバイス１０１Ａは、装備したマイクロフォンを使用して、第１のユーザと第２のユーザとの間の会話を検知することができる。会話を分析するために、第１のコンピューティングデバイス１０１Ａは、ＭＬベースの自然言語処理アルゴリズムを利用することができる。限定ではなく、別の例として、前の例を続けると、第１のコンピューティングデバイスは、モーションキャプチャカメラをさらに装備してもよい。第１のコンピューティングデバイス１０１Ａと第２のコンピューティングデバイス１０１Ｂとの間の通信セッションが続いている間、第１のコンピューティングデバイス１０１Ａは、第１のユーザと第２のユーザとの間の物理対話を、カメラを使用して検知することができる。物理対話は、握手、ハグ、手を振ること、または任意の適切な物理対話を含んでもよい。第１のコンピューティングデバイス１０１Ａは、ＭＬベースの動き検出アルゴリズムを利用して、対話を分析することができる。本開示は、特定の手法で、ユーザ間の物理対話を検知することを記述するが、本開示は、任意の適切な手法で、ユーザ間の物理対話を検知することを想定する。
【００４３】
特定の実施形態において、第１のコンピューティングデバイス１０１Ａは、第１のユーザと第２のユーザとの間の検知した物理対話３０６に少なくとも基づいて、第２のコンピューティングデバイス１０１Ｂに対する信頼点数を調節することができる。通信セッションの全体を通して、第１のコンピューティングデバイス１０１Ａは、ステップ３３０において、第２のコンピューティングデバイス１０１Ｂに対する信頼点数を調節することが必要であるかどうかをチェックし続けることができる。調節が必要なとき、第１のコンピューティングデバイス１０１Ａは、ステップ３４０において、第２のコンピューティングデバイス１０１Ｂに対する信頼点数を適宜調節することができる。限定ではなく、例として、マイクロフォンについての前の例を続けると、第１のコンピューティングデバイス１０１Ａは、第１のユーザと第２のユーザとの間の会話が閾値より長く続いていることを検知することができる。閾値より長い会話は、第１のユーザと第２のユーザが信頼を確立する可能性があることを示すことができるので、第１のコンピューティングデバイス１０１Ａは、第２のコンピューティングデバイス１０１Ｂに対する信頼点数を上げてもよい。閾値は、現在の信頼点数値に依存していてもよい。現在の信頼点数が高い場合、閾値は長くてもよい。限定ではなく、別の例として、第１のコンピューティングデバイス１０１Ａは、会話の状況に基づいて、第２のコンピューティングデバイス１０１Ｂに対する信頼点数を調節することができる。会話は、ＭＬベースの自然言語処理を使用して分析されてもよい。限定ではなく、さらに別の例として、モーションキャプチャカメラについての前の例を続けると、第１のコンピューティングデバイス１０１Ａは、第１のユーザと第２のユーザが握手することを検出することができる。第１のコンピューティングデバイス１０１Ａは、ユーザが信頼を確立したことを握手が示すことができるので、第２のコンピューティングデバイス１０１Ｂに対する信頼点数を上げてもよい。第１のコンピューティングデバイス１０１Ａは、ＭＬベースの動き検出アルゴリズムを利用して、とらえられた動きを分析することができる。第１のコンピューティングデバイス１０１Ａは、スタンドアロンモードで物理対話を分析することができる。特定の実施形態において、第１のコンピューティングデバイス１０１Ａは、サーバと通信することによって物理対話を分析してもよい。本開示は、特定の手法で、ユーザ間の検知した物理対話に基づいて、通信ピアに対する信頼点数を調節することを記述するが、本開示は、任意の適切な手法で、ユーザ間の検知した物理対話に基づいて、通信ピアに対する信頼点数を調節することを想定する。
【００４４】
特定の実施形態において、第１のコンピューティングデバイス１０１Ａは、第２のコンピューティングデバイス１０１Ｂが第１のコンピューティングデバイス１０１Ａの近くにある時間に基づいて、第２のコンピューティングデバイス１０１Ｂに対する信頼点数を調節してもよい。ユーザは、ユーザが互いに近くにいる間、信頼を構築する機会がある可能性がある。したがって、ユーザが互いに近くにいる時間が長ければ長いほど、信頼点数が高くなる。限定ではなく、例として、第１のコンピューティングデバイス１０１Ａは、第２のコンピューティングデバイス１０１Ｂが閾値より長く近くにあったことを検出することができる。閾値は、第２のコンピューティングデバイス１０１Ｂに対する現在の信頼点数に依存してもよい。第１のコンピューティングデバイスは、ステップ３３０において、第２のコンピューティングデバイス１０１Ｂに対する信頼点数が調節される必要があると判断することができる。第１のコンピューティングデバイスは、ステップ３４０において、第２のコンピューティングデバイス１０１Ｂに対する信頼点数を、近さデータ（ｐｒｏｘｉｍｉｔｙ  ｄａｔａ）３０７に基づいて上げることができる。限定ではなく、別の例として、第１のコンピューティングデバイス１０１Ａは、第２のコンピューティングデバイス１０１Ｂが別の閾値より長く近くになかったことを検出することができる。閾値は、第２のコンピューティングデバイス１０１Ｂに対する現在の信頼点数に依存してもよい。第１のコンピューティングデバイスは、ステップ３３０において、第２のコンピューティングデバイス１０１Ｂに対する信頼点数が調節される必要があると判断することができる。第１のコンピューティングデバイスは、ステップ３４０において、第２のコンピューティングデバイス１０１Ｂに対する信頼点数を、近さデータ３０７に基づいて下げることができる。本開示は、特定の手法で、近さデータに基づいて、通信ピアに対する信頼点数を調節することを記述するが、本開示は、任意の適切な手法で、近さデータに基づいて、通信ピアに対する信頼点数を調節することを想定する。
【００４５】
図４は、信頼点数に基づく権限付与を伴うメッセージ配信の例を示す。特定の実施形態において、第１のコンピューティングデバイス１０１Ａは、ステップ４１０において、第２のコンピューティングデバイス１０１Ｂにセキュリティキーを発行することができる。第２のコンピューティングデバイス１０１Ｂは、セキュリティキーを使用して、第１のコンピューティングデバイス１０１Ａによって送られたメッセージを解読することができる。特定の実施形態において、セキュリティキーは、低水準のセキュリティキーで暗号化されたメッセージを高水準のセキュリティキーが解読できるが、高水準のセキュリティキーで暗号化されたメッセージを低水準のセキュリティキーが解読できないように、階層式構造を有していてもよい。第２のコンピューティングデバイス１０１Ｂに発行されたセキュリティキーは、第２のコンピューティングデバイス１０１Ｂに対する現在の信頼点数に依存してもよい。第２のコンピューティングデバイス１０１Ｂに対する信頼点数に基づいてセキュリティキーを発行することによって、第１のコンピューティングデバイス１０１Ａは、高水準のセキュリティキーによってメッセージが暗号化される場合、第２のコンピューティングデバイス１０１Ｂがメッセージを確実に解読できないようにすることができる。限定ではなく、例として、第１のコンピューティングデバイス１０１Ａは、第２のコンピューティングデバイス１０１Ｂとの通信セッションを開始することができる。第２のコンピューティングデバイス１０１Ｂに対する初期の信頼点数を決定した後、第１のコンピューティングデバイス１０１Ａは、ステップ４１０において、第２のコンピューティングデバイス１０１Ｂにセキュリティキーを発行することができる。本開示は、特定の手法で、まもなく起こる通信のためにセキュリティキーを発行することを記述するが、本開示は、任意の適切な手法で、まもなく起こる通信のためにセキュリティキーを発行することを想定する。
【００４６】
特定の実施形態において、第１のコンピューティングデバイス１０１Ａは、ステップ４２０において、第２のコンピューティングデバイス１０１Ｂに送られることになるメッセージを検出することができる。メッセージは、メッセージの１つまたは複数の意図される受け手を識別する１つまたは複数の識別子、送り手の識別子、およびペイロードを含むことができる。第１のコンピューティングデバイスは、１つまたは複数の識別子に基づいて、メッセージが第２のコンピューティングデバイスに向かうことになると決定することができる。特定の実施形態において、１つまたは複数の識別子のうちの１つは、第２のコンピューティングデバイス１０１Ｂが属するグループの識別子であってもよい。第１のコンピューティングデバイス１０１Ａは、ステップ４３０において、第２のコンピューティングデバイスに対する現在の信頼点数が、送信されることになるメッセージのための閾値を満たすことを確認することができる。通信セッションは、適格な受け手であるのに最低限必要な信頼点数と関連付けられてもよい。このような状況では、通信セッションと関連付けられた最低限必要な信頼点数が閾値であってもよい。特定の実施形態において、各メッセージは、適格な受け手であるのに最低限必要な信頼点数と関連付けられてもよい。メッセージは、受け手が有する必要がある最低限必要な信頼点数をさらに含んでもよい。このような状況では、メッセージと関連付けられた適格な受け手であるのに最低限必要な信頼点数が閾値であってもよい。第１のコンピューティングデバイス１０１Ａは、第２のコンピューティングデバイス１０１Ｂに対する現在の信頼点数が閾値を満たす場合、ステップ４４０において、第２のコンピューティングデバイス１０１Ｂに第１のメッセージを送ることができる。限定ではなく、例として、飛行機についての前の例を続けると、第１のコンピューティングデバイス１０１Ａは、フットボールゲームについてチャットするためにオフライン通信セッションを確立することができる。通信セッションの目的は、カジュアルな話題についてチャットすることだけなので、通信セッションは、適格な受け手であるのに最低限必要な低い信頼点数と関連付けられてもよい。第１のコンピューティングデバイスによる、参加中のコンピューティングデバイス全てに対する初期の信頼点数は、通信セッションと関連付けられた適格な受け手であるのに最低限必要な信頼点数を満たしてもよい。第１のコンピューティングデバイス１０１Ａは、第２のコンピューティングデバイス１０１Ｂに対する信頼点数が閾値を満たすと、第２のコンピューティングデバイス１０１Ｂにメッセージを送ることができる。限定ではなく、別の例として、第１のユーザと関連付けられた第１のコンピューティングデバイス１０１Ａは、第１のユーザの同僚である第２のユーザと関連付けられた第２のコンピューティングデバイス１０１Ｂと開始することができる。ユーザは、分類されたプロジェクトに関するメッセージを交換してもよい。各メッセージは、適格な受け手であるのに必要な最低限の信頼点数と関連付けられてもよい。第１のユーザと第２のユーザは一緒に作業することが多いので、近さに基づく相互の信頼点数は、メッセージと関連付けられた適格な受け手であるのに最低限必要な信頼点数を満たすことができる。第１のコンピューティングデバイス１０１Ａがメッセージに対する添付ファイルを送る場合、メッセージと関連付けられた適格な受け手であるのに最低限必要な信頼点数は、他のメッセージの信頼点数より高くなってもよい。本開示は、特定の手法で、受け手の信頼点数に基づいて、送信する権限を付与することを記述するが、本開示は、任意の適切な手法で、受け手の信頼点数に基づいて、送信する権限を付与することを想定する。
【００４７】
特定の実施形態において、第２のコンピューティングデバイス１０１Ｂは、ステップ４５０において、第１のコンピューティングデバイス１０１Ａからメッセージを受け取ることができる。第２のコンピューティングデバイス１０１Ｂは、メッセージ上の受け手の１つまたは複数の識別子に基づいて、第２のコンピューティングデバイス１０１Ｂが１つまたは複数の意図される受け手の一部であると判断することができる。第２のコンピューティングデバイス１０１Ｂは、メッセージからの送り手の識別子に基づいて、第１のコンピューティングデバイス１０１Ａが送り手であると判断することができる。第１のコンピューティングデバイス１０１Ａは、ステップ４５０において、第１のコンピューティングデバイス１０１Ａに対する現在の信頼点数が、受け取られることになるメッセージのための閾値を満たすかどうかを判断することができる。判断に応じて、第２のコンピューティングデバイス１０１Ｂは、ステップ４１０において受け取ったセキュリティキーを使用して、ステップ４６０においてメッセージをデコードすることができる。第２のコンピューティングデバイス１０１Ｂは、ステップ４７０において、メッセージのペイロードを第２のユーザに提示することができる。通信セッションは、適格な送り手であるのに最低限必要な信頼点数と関連付けられてもよい。このような状況では、通信セッションと関連付けられた適格な送り手であるのに最低限必要な信頼点数が閾値であってもよい。特定の実施形態において、各メッセージは、適格な送り手であるのに最低限必要な信頼点数と関連付けられてもよい。メッセージは、適格な送り手であるのに最低限必要な信頼点数をさらに含むことができる。このような状況では、メッセージと関連付けられた適格な送り手であるのに最低限必要な信頼点数が閾値であってもよい。本開示は、特定の手法で、送り手の信頼点数に基づいて、受信する権限を付与することを記述するが、本開示は、任意の適切な手法で、送り手の信頼点数に基づいて、受信する権限を付与することを想定する。
【００４８】
図５は、信頼点数に基づいてメッセージを送るための例示的な方法５００を示す。方法は、ステップ５１０において始めることができ、ここで、第１のユーザと関連付けられた第１のコンピューティングデバイスは、第２のユーザと関連付けられた第２のコンピューティングデバイスとの通信セッションを開始するためのトリガイベントを検出し、第１のコンピューティングデバイスが、１つまたは複数のワイヤレス送受信器、および１つまたは複数のセンサを備える。ステップ５２０において、第１のコンピューティングデバイスは、第２のコンピューティングデバイスに対する初期の信頼点数を決定する。ステップ５３０において、第１のコンピューティングデバイスは、第１のユーザと第２のユーザとの間の物理対話を、１つまたは複数のセンサを使用して検知する。ステップ５４０において、第１のコンピューティングデバイスは、検知した物理対話に少なくとも基づいて、第２のコンピューティングデバイスに対する信頼点数を調節する。ステップ５５０において、第１のコンピューティングデバイスは、第２のコンピューティングデバイスに対する調節した信頼点数が第１の閾値を満たす場合、第２のコンピューティングデバイスに第１のメッセージを送る。特定の実施形態は、適正な場合、図５の方法の１つまたは複数のステップを繰り返してもよい。本開示は、特定の順序で発生するものとして図５の方法の特定のステップを説明し、示しているが、本開示は、図５の方法の任意の適切なステップが、任意の適切な順序で発生することを想定する。さらに、本開示は、図５の方法の特定のステップを含む、信頼点数に基づいてメッセージを送るための方法の例を説明し、示しているが、本開示は、適正な場合、図５の方法のステップの全て、もしくはいくつかを含むこと、またはこれらのステップのいずれも含まないことが可能な、任意の適切なステップを含む、信頼点数に基づいてメッセージを送るための任意の適切な方法を想定する。さらに、本開示は、特定の構成要素、デバイス、またはシステムが、図５の方法の特定のステップを実行することを説明し、示しているが、本開示は、任意の適切な構成要素、デバイス、またはシステムの任意の適切な組合せが、図５の方法の任意の適切なステップを実行することを想定する。
【００４９】
システムの全体像
図６は、ソーシャルネットワーキングシステムと関連付けられた例示的なネットワーク環境６００を示している。ネットワーク環境６００は、ネットワーク６１０によって互いに接続されたクライアントシステム６３０、ソーシャルネットワーキングシステム６６０、およびサードパーティシステム６７０を含む。図６は、クライアントシステム６３０、ソーシャルネットワーキングシステム６６０、サードパーティシステム６７０、およびネットワーク６１０の特定の配置を示しているが、本開示は、クライアントシステム６３０、ソーシャルネットワーキングシステム６６０、サードパーティシステム６７０、およびネットワーク６１０の任意の適切な配置を想定する。限定ではなく、例として、クライアントシステム６３０、ソーシャルネットワーキングシステム６６０、およびサードパーティシステム６７０のうちの２つ以上が、ネットワーク６１０を迂回して、互いに直接的に接続されることが可能である。別の例として、クライアントシステム６３０、ソーシャルネットワーキングシステム６６０、およびサードパーティシステム６７０のうちの２つ以上が、全体的または部分的に、物理的または論理的に互いに同じ場所に配置されることが可能である。さらに、図６は、特定の数のクライアントシステム６３０、ソーシャルネットワーキングシステム６６０、サードパーティシステム６７０、およびネットワーク６１０を示しているが、本開示は、任意の適切な数のクライアントシステム６３０、ソーシャルネットワーキングシステム６６０、サードパーティシステム６７０、およびネットワーク６１０を想定する。限定ではなく、例として、ネットワーク環境６００は、複数のクライアントシステム６３０、ソーシャルネットワーキングシステム６６０、サードパーティシステム６７０、およびネットワーク６１０を含むことができる。
【００５０】
本開示は、任意の適切なネットワーク６１０を想定する。限定ではなく、例として、ネットワーク６１０の１つまたは複数の部分は、アドホックネットワーク、イントラネット、エクストラネット、仮想プライベートネットワーク（ＶＰＮ）、ローカルエリアネットワーク（ＬＡＮ）、ワイヤレスＬＡＮ（ＷＬＡＮ）、広域ネットワーク（ＷＡＮ）、ワイヤレスＷＡＮ（ＷＷＡＮ）、メトロポリタンエリアネットワーク（ＭＡＮ）、インターネットの一部、公衆交換電話網（ＰＳＴＮ）の一部、セルラー電話ネットワーク、またはこれらのうちの２つ以上の組合せを含むことができる。ネットワーク６１０は、１つまたは複数のネットワーク６１０を含むことができる。
【００５１】
リンク６５０は、クライアントシステム６３０、ソーシャルネットワーキングシステム６６０、およびサードパーティシステム６７０を通信ネットワーク６１０に、または互いに接続することができる。本開示は、任意の適切なリンク６５０を想定する。特定の実施形態において、１つまたは複数のリンク６５０は、１つまたは複数の有線リンク（例えば、デジタル加入者線（ＤＳＬ）、もしくはデータオーバーケーブルサービスインターフェース仕様（ＤＯＣＳＩＳ）など）、ワイヤレスリンク（例えば、Ｗｉ−Ｆｉ、もしくはワールドワイドインターオペラビリティフォーマイクロウェーブアクセス（ＷｉＭＡＸ）など）、または光リンク（例えば、同期光ネットワーク（ＳＯＮＥＴ）、もしくは同期デジタル階層（ＳＤＨ）など）を含む。特定の実施形態において、１つまたは複数のリンク６５０はそれぞれ、アドホックネットワーク、イントラネット、エクストラネット、ＶＰＮ、ＬＡＮ、ＷＬＡＮ、ＷＡＮ、ＷＷＡＮ、ＭＡＮ、インターネットの一部、ＰＳＴＮの一部、セルラー技術ベースのネットワーク、衛星通信技術ベースのネットワーク、別のリンク６５０、または２つ以上のこのようなリンク６５０の組合せを含む。リンク６５０は、ネットワーク環境６００の全体を通して必ずしも同じである必要はない。１つまたは複数の第１のリンク６５０は、１つまたは複数の第２のリンク６５０とは１つまたは複数の点で相違してよい。
【００５２】
特定の実施形態において、クライアントシステム６３０は、ハードウェア、ソフトウェア、もしくは埋め込み式ロジックコンポーネント、または２つ以上のこのようなコンポーネントの組合せを含む電子デバイスであってよく、クライアントシステム６３０によって実装またはサポートされる適正な機能を実行することができる。限定ではなく、例として、クライアントシステム６３０は、デスクトップコンピュータ、ノートブックもしくはラップトップコンピュータ、ネットブック、タブレット型コンピュータ、ｅブックリーダ、ＧＰＳデバイス、カメラ、パーソナルデジタルアシスタント（ＰＤＡ）、ハンドヘルド電子デバイス、セルラー電話、スマートフォン、拡張現実デバイス／仮想現実デバイス、他の適切な電子デバイス、またはこれらの任意の適切な組合せなどのコンピュータシステムを含むことができる。本開示は、任意の適切なクライアントシステム６３０を想定する。クライアントシステム６３０は、クライアントシステム６３０のネットワークユーザがネットワーク６１０にアクセスすることを可能にすることができる。クライアントシステム６３０は、このユーザが、他のクライアントシステム６３０の他のユーザと通信することを可能にすることができる。
【００５３】
特定の実施形態において、クライアントシステム６３０は、ＭＩＣＲＯＳＯＦＴ  ＩＮＴＥＲＮＥＴ  ＥＸＰＬＯＲＥＲ、ＧＯＯＧＬＥ  ＣＨＲＯＭＥ、またはＭＯＺＩＬＬＡ  ＦＩＲＥＦＯＸなどのウェブブラウザ６３２を含むことができ、１つまたは複数のアドオン、プラグイン、またはＴＯＯＬＢＡＲもしくはＹＡＨＯＯ  ＴＯＯＬＢＡＲなどの他の拡張を有することができる。クライアントシステム６３０のユーザは、ユニフォームリソースロケータ（ＵＲＬ）、またはウェブブラウザ６３２を特定のサーバ（サーバ６６２、もしくはサードパーティシステム６７０と関連付けられたサーバなど）に導く他のアドレスを入力することができ、ウェブブラウザ６３２は、ハイパーテキスト転送プロトコル（ＨＴＴＰ）要求を生成し、ＨＴＴＰ要求をサーバに通信することができる。サーバは、ＨＴＴＰ要求を受け入れ、ＨＴＴＰ要求に応答して、１つまたは複数のハイパーテキストマークアップ言語（ＨＴＭＬ）ファイルをクライアントシステム６３０に通信することができる。クライアントシステム６３０は、ユーザに提示するために、サーバからのＨＴＭＬファイルに基づいてウェブページをレンダリングすることができる。本開示は、任意の適切なウェブページファイルを想定する。限定ではなく、例として、ウェブページは、特定のニーズに従って、ＨＴＭＬファイル、拡張可能ハイパーテキストマークアップ言語（ＸＨＴＭＬ）ファイル、または拡張可能マークアップ言語（ＸＭＬ）ファイルからレンダリングすることができる。このようなページは、限定ではなく、例として、ＪＡＶＡＳＣＲＩＰＴ、ＪＡＶＡ、ＭＩＣＲＯＳＯＦＴ  ＳＩＬＶＥＲＬＩＧＨＴで書かれたスクリプトなどのスクリプト、ＡＪＡＸ（Ａｓｙｎｃｈｒｏｎｏｕｓ  ＪＡＶＡＳＣＲＩＰＴおよびＸＭＬ）などのマークアップ言語とスクリプトの組合せ、ならびに同様のものを実行することもできる。本明細書において、ウェブページへの言及は、適正な場合、（ウェブページをレンダリングするためにブラウザが使用できる）１つまたは複数の対応するウェブページファイルを含み、逆もまた同様である。
【００５４】
特定の実施形態において、ソーシャルネットワーキングシステム６６０は、オンラインソーシャルネットワークをホストできるネットワークアドレス可能なコンピューティングシステムであってよい。ソーシャルネットワーキングシステム６６０は、例えば、ユーザプロフィールデータ、コンセプトプロフィールデータ、ソーシャルグラフ情報、またはオンラインソーシャルネットワークに関連した他の適切なデータなどのソーシャルネットワーキングデータを生成すること、格納すること、受け取ること、および送付することができる。ソーシャルネットワーキングシステム６６０は、ネットワーク環境６００の他の構成要素によって、直接的に、またはネットワーク６１０を介してアクセスされることが可能である。例として、しかし限定のためではなく、クライアントシステム６３０は、直接的に、またはネットワーク６１０を介して、ウェブブラウザ６３２、またはソーシャルネットワーキングシステム６６０と関連付けられたネイティブアプリケーション（例えば、モバイルソーシャルネットワーキングアプリケーション、メッセージングアプリケーション、別の適切なアプリケーション、またはこれらの任意の組合せ）を使用して、ソーシャルネットワーキングシステム６６０にアクセスすることができる。特定の実施形態において、ソーシャルネットワーキングシステム６６０は、１つまたは複数のサーバ６６２を含むことができる。各サーバ６６２は、単一のサーバ、または複数のコンピュータもしくは複数のデータセンタに及ぶ分散型サーバであってよい。サーバ６６２は、限定ではなく、例として、ウェブサーバ、ニュースサーバ、メールサーバ、メッセージサーバ、広告サーバ、ファイルサーバ、アプリケーションサーバ、交換サーバ（ｅｘｃｈａｎｇｅ  ｓｅｒｖｅｒ）、データベースサーバ、プロキシサーバ、本明細書で説明される機能もしくは処理を行うのに適した別のサーバ、またはこれらの任意の組合せなどの様々なタイプのものでよい。特定の実施形態において、各サーバ６６２は、ハードウェア、ソフトウェア、あるいは埋め込み式ロジックコンポーネント、またはサーバ６６２によって実装もしくはサポートされる適正な機能を実行するための２つ以上のこのようなコンポーネントの組合せを含むことができる。特定の実施形態において、ソーシャルネットワーキングシステム６６０は、１つまたは複数のデータストア６６４を含むことができる。データストア６６４は、様々なタイプの情報を格納するために使用されてよい。特定の実施形態において、データストア６６４に格納された情報は、固有のデータ構造に従って編成されてよい。特定の実施形態において、各データストア６６４は、リレーショナルデータベース、カラムナデータベース、相互関係データベース、または他の適切なデータベースであってよい。本開示は、データベースの特定のタイプを説明または図示しているが、本開示は、データベースの任意の適切なタイプを想定する。特定の実施形態は、クライアントシステム６３０、ソーシャルネットワーキングシステム６６０、またはサードパーティシステム６７０が、データストア６６４に格納された情報を管理、取得、修正、追加、または削除することを可能にする���ンターフェースを提供することができる。
【００５５】
特定の実施形態において、ソーシャルネットワーキングシステム６６０は、１つまたは複数のデータストア６６４に１つまたは複数のソーシャルグラフを格納することができる。特定の実施形態において、ソーシャルグラフは、（（それぞれが特定のユーザに対応する）複数のユーザノード、または（それぞれが特定のコンセプトに対応する）複数のコンセプトノードを含むことができる）複数のノードと、ノードに接続する複数のエッジとを含むことができる。ソーシャルネットワーキングシステム６６０は、オンラインソーシャルネットワークのユーザに、他のユーザと通信および対話する能力を提供することができる。特定の実施形態において、ユーザは、ソーシャルネットワーキングシステム６６０を介してオンラインソーシャルネットワークに参加し、彼らがつなげられたいと思うソーシャルネットワーキングシステム６６０の他の何人かのユーザへのつながり（例えば関係）を追加することができる。本明細書で、用語「友達（ｆｒｉｅｎｄ）」は、ソーシャルネットワーキングシステム６６０を介してユーザがつながり、関連付け、または関係を形成した、ソーシャルネットワーキングシステム６６０の他の任意のユーザを指すことができる。
【００５６】
特定の実施形態において、ソーシャルネットワーキングシステム６６０は、ソーシャルネットワーキングシステム６６０によってサポートされる様々なタイプのアイテムまたはオブジェクトに対するアクションを行う能力をユーザに提供することができる。限定ではなく、例として、アイテムおよびオブジェクトは、ソーシャルネットワーキングシステム６６０のユーザが属する可能性があるグループもしくはソーシャルネットワーク、ユーザが興味をもつ可能性があるイベントもしくはカレンダエントリ、ユーザが使用する可能性があるコンピュータベースのアプリケーション、サービスを介してユーザがアイテムを売買することを可能にするトランザクション、ユーザが行う可能性がある広告との対話、または他の適切なアイテムもしくはオブジェクトを含むことができる。ユーザは、ソーシャルネットワーキングシステム６６０内で表されることが可能な、またはソーシャルネットワーキングシステム６６０とは別のものであり、ネットワーク６１０を介してソーシャルネットワーキングシステム６６０に接続された、サードパーティシステム６７０の外部システムによって表されることが可能な、どのようなものとでも対話することができる。
【００５７】
特定の実施形態において、ソーシャルネットワーキングシステム６６０は、様々なエンティティをリンクできることが可能である。限定ではなく、例として、ソーシャルネットワーキングシステム６６０は、ユーザが互いに対話すること、ならびにサードパーティシステム６７０または他のエンティティからコンテンツを受け取ることを可能にすることができ、また、アプリケーションプログラミングインターフェース（ＡＰＩ）または他の通信チャネルを通じて、ユーザがこれらのエンティティと対話することを可能にすることができる。
【００５８】
特定の実施形態において、サードパーティシステム６７０は、サーバの１つもしくは複数のタイプ、１つもしくは複数のデータストア、ＡＰＩを含むが限定されない１つもしくは複数のインターフェース、１つもしくは複数のウェブサービス、１つもしくは複数のコンテンツソース、１つもしくは複数のネットワーク、または例えば、サーバが通信できる他の任意の適切な構成要素を含むことができる。サードパーティシステム６７０は、ソーシャルネットワーキングシステム６６０を運用するエンティティとは異なるエンティティによって運用されることが可能である。特定の実施形態において、しかし、ソーシャルネットワーキングシステム６６０およびサードパーティシステム６７０は、ソーシャルネットワーキングシステム６６０またはサードパーティシステム６７０のユーザにソーシャルネットワーキングサービスを提供するために、互いに協力して動作することができる。この意味では、ソーシャルネットワーキングシステム６６０は、ソーシャルネットワーキングサービスおよび機能をインターネット中のユーザに提供するために、サードパーティシステム６７０などの他のシステムが使用できるプラットフォームまたはバックボーンを提供することができる。
【００５９】
特定の実施形態において、サードパーティシステム６７０は、サードパーティコンテンツオブジェクトプロバイダを含むことができる。サードパーティコンテンツオブジェクトプロバイダは、クライアントシステム６３０に通信されることが可能なコンテンツオブジェクトの１つまたは複数のソースを含むことができる。限定ではなく、例として、コンテンツオブジェクトは、例えば、映画の上映時間、映画の批評、レストランの批評、レストランのメニュー、製品情報および批評、または他の適切な情報など、ユーザにとって関心のあるもの、またはアクティビティに関する情報を含むことができる。限定ではなく、別の例として、コンテンツオブジェクトは、クーポン、割引チケット、商品券、または他の適切なインセンティブオブジェクトなどの、インセンティブコンテンツオブジェクトを含むことができる。
【００６０】
特定の実施形態において、ソーシャルネットワーキングシステム６６０は、ソーシャルネットワーキングシステム６６０とのユーザの対話を拡張できる、ユーザが生成したコンテンツオブジェクトも含む。ユーザが生成したコンテンツは、ソーシャルネットワーキングシステム６６０にユーザが、追加、アップロード、送付、または「ポスト」することができるどのようなものでも含むことができる。限定ではなく、例として、ユーザは、クライアントシステム６３０からソーシャルネットワーキングシステム６６０にポストを通信する。ポストは、ステータスアップデートもしくは他のテキストデータ、ロケーション情報、写真、ビデオ、リンク、音楽、または他の類似のデータもしくは媒体などのデータを含むことができる。コンテンツは、ニュースフィードまたはストリームなど、「通信チャネル」を通じてサードパーティによってソーシャルネットワーキングシステム６６０に追加されてもよい。
【００６１】
特定の実施形態において、ソーシャルネットワーキングシステム６６０は、様々なサーバ、サブシステム、プログラム、モジュール、ログ、およびデータストアを含むことができる。特定の実施形態において、ソーシャルネットワーキングシステム６６０は、ウェブサーバ、アクションロガー、ＡＰＩ要求サーバ、関連性ランキングエンジン、コンテンツオブジェクト分類子、通知コントローラ、アクションログ、サードパーティコンテンツオブジェクト公開ログ、推測モジュール、認可／プライバシサーバ、検索モジュール、広告ターゲットモジュール、ユーザインターフェースモジュール、ユーザプロフィールストア、つながりストア、サードパーティコンテンツストア、またはロケーションストアのうちの１つまたは複数を含むことができる。ソーシャルネットワーキングシステム６６０は、ネットワークインターフェース、セキュリティメカニズム、ロードバランサ、フェイルオーバサーバ、管理およびネットワーク動作コンソール、他の適切な構成要素、またはこれらの任意の適切な組合せなどの、適切な構成要素を含むこともできる。特定の実施形態において、ソーシャルネットワーキングシステム６６０は、ユーザプロフィールを格納するための１つまたは複数のユーザプロフィールストアを含むことができる。ユーザプロフィールは、例えば、経歴情報、人口統計学情報、行動情報、ソーシャル情報、あるいは職業経験、教育履歴、趣味もしくは好み、興味、親近感、またはロケーションなどの他のタイプの記述情報を含むことができる。興味情報は、１つまたは複数のカテゴリに関連した興味含むことができる。カテゴリは、一般的または固有のものであってよい。限定ではなく、例として、靴のブランドについての記事にユーザが「いいね！」と表明する場合、カテゴリは、このブランド、すなわち「靴」または「衣類」に関する一般的なカテゴリであってよい。つながりストアは、ユーザについてのつながり情報を格納するために使用されることが可能である。つながり情報は、類似もしくは共通の職業経験、グループメンバシップ、趣味、教育履歴を有しているか、または何らかの形で関連しているか、もしくは共通の属性を共有しているユーザを示すことができる。つながり情報は、（内部と外部両方の）様々なユーザとコンテンツの間にあるユーザが定義したつながりを含むこともできる。ウェブサーバは、ネットワーク６１０を介して、１つもしくは複数のクライアントシステム６３０、または１つもしくは複数のサードパーティシステム６７０にソーシャルネットワーキングシステム６６０をリンクするために使用されることが可能である。ウェブサーバは、メールサーバ、またはソーシャルネットワーキングシステム６６０と１つまたは複数のクライアントシステム６３０との間のメッセージを受け取るため、およびルーティングするための他のメッセージ機能を含むことができる。ＡＰＩ要求サーバは、１つまたは複数のＡＰＩをコールすることによって、ソーシャルネットワーキングシステム６６０からの情報に、サードパーティシステム６７０がアクセスすることを可能にすることができる。アクションロガーは、ソーシャルネットワーキングシステム６６０上、または外でのユーザのアクションについての、ウェブサーバからの通信を受け取るために使用されることが可能である。アクションログと共に、サードパーティコンテンツオブジェクトへのユーザ公開に関する、サードパーティコンテンツオブジェクトログが維持されてよい。通知コントローラは、コンテンツオブジェクトに関する情報をクライアントシステム６３０に提供することができる。情報は、クライアントシステム６３０に通知としてプッシュされることが可能であり、また情報は、クライアントシステム６３０から要求が受け取られたことに応答してクライアントシステム６３０からプルされることが可能である。認可サーバは、ソーシャルネットワーキングシステム６６０のユーザの１つまたは複数のプライバシ設定を実施するために使用されることが可能である。ユーザのプライバシ設定は、ユーザと関連付けられた特定の情報がどのように共有されることが可能であるかを判断する。認可サーバは、ユーザのアクションが、ソーシャルネットワーキングシステム６６０によってログに記録されること、または例えば適正なプライバシ設定を設定することなどによって、他のシステム（例えばサードパーティシステム６７０）と共有されることについて、ユーザがオプトインまたはオプトアウトすることを可能にすることができる。サードパーティコンテンツオブジェクトストアは、サードパーティシステム６７０などのサードパーティから受け取られたコンテンツオブジェクトを格納するために使用されることが可能である。ロケーションストアは、ユーザと関連付けられたクライアントシステム６３０から受け取られたロケーション情報を格納するために使用されることが可能である。広告価格設定モジュールは、通知の形で関連広告をユーザに提供するために、ソーシャル情報、現在時刻、ロケーション情報、または他の適切な情報を組み合わせることができる。
【００６２】
ソーシャルグラフ
図７は、例示的なソーシャルグラフ７００を示す。特定の実施形態において、ソーシャルネットワーキングシステム６６０は、１つまたは複数のソーシャルグラフ７００を１つまたは複数のデータストアに格納することができる。特定の実施形態において、ソーシャルグラフ７００は、（複数のユーザノード７０２または複数のコンセプトノード７０４を含むことができる）複数のノードと、ノードを接続する複数のエッジ７０６とを含むことができる。説明のために、２次元の視覚マップ表現で、図７に示される例示的なソーシャルグラフ７００が示される。特定の実施形態において、ソーシャルネットワーキングシステム６６０、クライアントシステム６３０、またはサードパーティシステム６７０は、適切なアプリケーションに対するソーシャルグラフ７００および関連ソーシャルグラフ情報にアクセスすることができる。ソーシャルグラフ７００のノードおよびエッジは、例えば（ソーシャルグラフデータベースなどの）データストアに、データオブジェクトとして格納されてよい。このようなデータストアは、ソーシャルグラフ７００のノードまたはエッジの１つまたは複数の検索可能またはクエリ可能なインデックスを含むことができる。
【００６３】
特定の実施形態において、ユーザノード７０２は、ソーシャルネットワーキングシステム６６０のユーザに対応することが可能である。限定ではなく、例として、ユーザは、ソーシャルネットワーキングシステム６６０と、またはソーシャルネットワーキングシステム６６０上で、対話または通信する個人（人間ユーザ）、エンティティ（例えば、企業、ビジネス、もしくはサードパーティアプリケーション）、または（例えば、個人もしくはエンティティの）グループであってよい。特定の実施形態において、ソーシャルネットワーキングシステム６６０にユーザがアカウントを登録すると、ソーシャルネットワーキングシステム６６０は、ユーザに対応するユーザノード７０２を作り出し、１つまたは複数のデータストアにユーザノード７０２を格納することができる。本明細書で説明されるユーザおよびユーザノード７０２は、適正な場合、登録済ユーザおよび登録済ユーザと関連付けられたユーザノード７０２を指すことができる。さらに、または代替として、本明細書で説明されるユーザおよびユーザノード７０２は、適正な場合、ソーシャルネットワーキングシステム６６０に登録されていないユーザを指すことができる。特定の実施形態において、ユーザノード７０２は、ユーザによってもたらされた情報、またはソーシャルネットワーキングシステム６６０を含む様々なシステムによって集められた情報と関連付けられることが可能である。限定ではなく、例として、ユーザは、自分の名前、プロフィール画像、連絡先情報、生年月日、性、配偶者の有無、家族状況、勤務先、学歴、好み、興味、または他の人口統計学情報を提供することができる。特定の実施形態において、ユーザノード７０２は、ユーザと関連付けられた情報に対応する１つまたは複数のデータオブジェクトと関連付けられることが可能である。特定の実施形態において、ユーザノード７０２は、１つまたは複数のウェブページに対応することが可能である。
【００６４】
特定の実施形態において、コンセプトノード７０４は、コンセプトに対応することが可能である。限定ではなく、例として、コンセプトは、（例えば、映画館、レストラン、ランドマーク、または都市などの）場所、（例えば、ソーシャルネットワークシステム４６０と関連付けられたウェブサイト、もしくはウェブアプリケーションサーバと関連付けられたサードパーティのウェブサイトなどの）ウェブサイト、（例えば、人、ビジネス、グループ、スポーツチーム、もしくは有名人などの）エンティティ、ソーシャルネットワーキングシステム６６０内、もしくはウェブアプリケーションサーバなどの外部サーバ上に置かれることがある（例えば、オーディオファイル、ビデオファイル、デジタル写真、テキストファイル、構造化文書、もしくはアプリケーションなどの）リソース、（例えば、彫刻、絵画、映画、ゲーム、歌、アイデア、写真、もしくは書かれた作品などの）物的財産もしくは知的財産、ゲーム、アクティビティ、アイデアもしくは理論、拡張現実環境／仮想現実環境におけるオブジェクト、別の適切なコンセプト、または２つ以上のこのようなコンセプトに対応することが可能である。コンセプトノード７０４は、ユーザによってもたらされたコンセプトについての情報、またはソーシャルネットワーキングシステム６６０を含む様々なシステムによって集められた情報と関連付けられることが可能である。限定ではなく、例として、コンセプトの情報は、名前もしくはタイトル、１つもしくは複数の画像（例えば、本のカバーページの画像）、ロケーション（例えば、住所もしくは地理的な位置）、（ＵＲＬと関連付けられることが可能な）ウェブサイト、連絡先情報（例えば、電話番号もしくは電子メールアドレス）、他の適切なコンセプト情報、またはこのような情報の任意の適切な組合せを含むことができる。特定の実施形態において、コンセプトノード７０４は、コンセプトノード７０４と関連付けられた情報に対応する１つまたは複数のデータオブジェクトと関連付けられてよい。特定の実施形態において、コンセプトノード７０４は、１つまたは複数のウェブページに対応することが可能である。
【００６５】
特定の実施形態において、ソーシャルグラフ７００内のノードは、（「プロフィールページ」と呼ばれることがある）ウェブページを表すことができ、またウェブページによって表されることができる。プロフィールページは、ソーシャルネットワーキングシステム６６０によってホストされてよく、またソーシャルネットワーキングシステム６６０にとってアクセス可能であってよい。プロフィールページは、サードパーティシステム６７０と関連付けられたサードパーティのウェブサイト上でホストされてもよい。限定ではなく、例として、特定の外部のウェブページに対応するプロフィールページは、特定の外部のウェブページであってよく、プロフィールページは、特定のコンセプトノード７０４に対応することが可能である。プロフィールページは、他のユーザの全ての、または選択されたサブセットによって閲覧可能であってよい。限定ではなく、例として、ユーザノード７０２は、対応するユーザが、コンテンツを追加すること、発表すること、またはそうでなければ自分自身を表現することができる、対応するユーザプロフィールページを有することができる。限定ではなく、別の例として、コンセプトノード７０４は、特に、コンセプトノード７０４に対応するコンセプトに関連して、１人または複数のユーザがコンテンツを追加すること、発表すること、または自分自身を表現することができる、対応するコンセプトプロフィールページを有することができる。
【００６６】
特定の実施形態において、コンセプトノード７０４は、サードパーティシステム６７０によってホストされるサードパーティのウェブページまたはリソースを表すことができる。サードパーティのウェブページまたはリソースは、他の要素の中でも、コンテンツ、選択可能なアイコンもしくは他のアイコン、またはアクションもしくはアクティビティを表す（例えば、ＪａｖａＳｃｒｉｐｔ、ＡＪＡＸ、もしくはＰＨＰコードで実装されることが可能な）他の対話可能オブジェクトを含むことができる。限定ではなく、例として、サードパーティのウェブページは、「いいね！」、「チェックイン」、「食べる」、「推奨」、または別の適切なアクションまたはアクティビティなどの選択可能アイコンを含むことができる。サードパーティのウェブページを閲覧しているユーザは、アイコンのうちの１つ（例えば「チェックイン」）を選択することによってアクションを行うことができ、このことにより、クライアントシステム６３０は、ユーザのアクションを示すメッセージをソーシャルネットワーキングシステム６６０に送る。メッセージに応答して、ソーシャルネットワーキングシステム６６０は、ユーザに対応するユーザノード７０２と、サードパーティのウェブページまたはリソースに対応するコンセプトノード７０４との間のエッジ（例えば、チェックインタイプのエッジ）を作り出し、１つまたは複数のデータストアにエッジ７０６を格納することができる。
【００６７】
特定の実施形態において、ソーシャルグラフ７００内の１対のノードは、１つまたは複数のエッジ７０６によって互いに接続されることが可能である。１対のノードを接続するエッジ７０６は、１対のノード間の関係を表すことができる。特定の実施形態において、エッジ７０６は、１対のノード間の関係に対応する１つまたは複数のデータオブジェクトまたは属性を含むことができ、また表すことができる。限定ではなく、例として、第１のユーザは、第２のユーザが第１のユーザの「友達」であるということを示すことができる。この表示に応答して、ソーシャルネットワーキングシステム６６０は、「友達要求」を第２のユーザに送ることができる。第２のユーザが「友達要求」を承認すると、ソーシャルネットワーキングシステム６６０は、ソーシャルグラフ７００内で、第１のユーザのユーザノード７０２を第２のユーザのユーザノード７０２に接続するエッジ７０６を作り出し、データストア６６４の１つまたは複数にソーシャルグラフ情報としてエッジ７０６を格納することができる。図７の例において、ソーシャルグラフ７００は、ユーザ「Ａ」のユーザノード７０２と、ユーザ「Ｂ」のユーザノード７０２との間の友達関係を示すエッジ７０６、およびユーザ「Ｃ」のユーザノード７０２と、ユーザ「Ｂ」のユーザノード７０２との間の友達関係を示すエッジを含む。本開示は、特定の属性を有する特定のエッジ７０６が特定のユーザノード７０２を接続することを説明または図示しているが、本開示は、任意の適切な属性を有する任意の適切なエッジ７０６がユーザノード７０２を接続することを想定する。限定ではなく、例として、エッジ７０６は、友人関係、家族関係、ビジネスもしくは雇用関係、（例えば、いいね！と表明すること、等を含む）ファン関係、フォロワ関係、（例えば、アクセスすること、閲覧すること、チェックインすること、共有すること、等を含む）ビジタ関係、加入者関係、上下関係、互恵関係、非互恵関係、別の適切なタイプの関係、または２つ以上のこのような関係を表すことができる。さらに、本開示は全体的に、ノードを接続されているものとして説明しているが、本開示は、ユーザまたはコンセプトも接続されているものとして説明する。本明細書において、接続されているユーザまたはコンセプトへの言及は、適正な場合、１つまたは複数のエッジ７０６によってソーシャルグラフ７００に接続されているこれらのユーザまたはコンセプトに対応するノードを指すことができる。
【００６８】
特定の実施形態において、ユーザノード７０２とコンセプトノード７０４との間のエッジ７０６は、コンセプトノード７０４と関連付けられたコンセプトに対する、ユーザノード７０２と関連付けられたユーザによって行われる特定のアクションまたはアクティビティを表すことができる。限定ではなく、例として、図７に示されるように、ユーザは、コンセプトに対して「いいね！と表明した」、「通った」、「プレイした」、「聴いた」、「料理した」、「勤務した」、または「観た」可能性があり、これらのそれぞれが、エッジのタイプまたはサブタイプに対応することが可能である。コンセプトノード７０４に対応するコンセプトプロフィールページは、例えば、（例えば、クリック可能な「チェックイン」アイコンなどの）選択可能な「チェックイン」アイコン、または選択可能な「お気に入りに追加」アイコンを含むことができる。同様に、ユーザがこれらのアイコンをクリックした後、ソーシャルネットワーキングシステム６６０は、個々のアクションに対応するユーザのアクションに応答して、「お気に入り」エッジ、または「チェックイン」エッジを作り出すことができる。限定ではなく、別の例として、ユーザ（ユーザ「Ｃ」）は、特定のアプリケーション（オンラインミュージックアプリケーションであるＳＰＯＴＩＦＹ）を使用して、特定の歌（「Ｉｍａｇｉｎｅ」）を聴くことができる。この場合、ソーシャルネットワーキングシステム６６０は、歌およびアプリケーションに対応するユーザに対応するユーザノード７０２と、コンセプトノード７０４との間の（図７に示すような）「聴いた」エッジ７０６、および「使用した」エッジを作り出し、ユーザが歌を聴き、アプリケーションを使用したということを示すことができる。さらに、ソーシャルネットワーキングシステム６６０は、歌に対応するコンセプトノード７０４と、アプリケーションに対応するコンセプトノード７０４との間の（図７に示すような）「プレイした」エッジ７０６を作り出し、特定の歌が特定のアプリケーションによってプレイされたということを示すことができる。この場合、「プレイした」エッジ７０６は、外部オーディオファイル（歌「ｉｍａｇｉｎｅ」）に対して外部アプリケーション（ＳＰＯＴＩＦＹ）によって行われたアクションに対応する。本開示は、特定の属性を有する特定のエッジ７０６が、ユーザノード７０２とコンセプトノード７０４を接続することを説明しているが、本開示は、任意の適切な属性を有する任意の適切なエッジ７０６が、ユーザノード７０２とコンセプトノード７０４を接続することを想定する。さらに、本開示は、ユーザノード７０２とコンセプトノード７０４との間のエッジが、単一の関係を表すことを説明しているが、本開示は、ユーザノード７０２とコンセプトノード７０４との間のエッジが、１つまたは複数の関係を表すことを想定する。限定ではなく、例として、エッジ７０６は、ユーザが、特定のコンセプトに対して、いいね！と表明すること、および特定のコンセプトを使用したことの両方を表すことができる。一方、別のエッジ７０６は、（ユーザ「Ｅ」のユーザノード７０２と、「ＳＰＯＴＩＦＹ」のコンセプトノード７０４との間の、図７に示すような）ユーザノード７０２とコンセプトノード７０４との間の関係（または多様な単一の関係）のそれぞれのタイプを表すことができる。
【００６９】
特定の実施形態において、ソーシャルネットワーキングシステム６６０は、ソーシャルグラフ７００内にユーザノード７０２とコンセプトノード７０４との間のエッジ７０６を作り出すことができる。限定ではなく、例として、（例えば、ウェブブラウザ、またはユーザのクライアントシステム６３０によってホストされる専用アプリケーションを使用することなどによって）コンセプトプロフィールページを閲覧するユーザは、「いいね！」アイコンをクリックまたは選択することによってコンセプトノード７０４によって表されるコンセプトに自分がいいね！と表明したことを示すことができ、これにより、ユーザのクライアントシステム６３０に、コンセプトプロフィールページと関連付けられたコンセプトについてのユーザのいいね！を示すメッセージをソーシャルネットワーキングシステム６６０へ送らせることができる。メッセージに応答して、ソーシャルネットワーキングシステム６６０は、ユーザとコンセプトノード７０４との間の「いいね！」エッジ７０６によって示されるような、ユーザと関連付けられたユーザノード７０２と、コンセプトノード７０４との間のエッジ７０６を作り出すことができる。特定の実施形態において、ソーシャルネットワーキングシステム６６０は、１つまたは複数のデータストアにエッジ７０６を格納することができる。特定の実施形態において、エッジ７０６は、特定のユーザアクションに応答して、ソーシャルネットワーキングシステム６６０によって自動的に形成されることが可能である。限定ではなく、例として、第１のユーザが画像をアップロードすること、映画を観ること、または歌を聴くことを行うと、第１のユーザに対応するユーザノード７０２と、これらのコンセプトに対応するコンセプトノード７０４との間にエッジ７０６が形成されることが可能である。本開示は、特定の手法で特定のエッジ７０６を形成することを説明しているが、本開示は、任意の適切な手法で任意の適切なエッジ７０６を形成することを想定する。
【００７０】
システムおよび方法
図８は、例示的なコンピュータシステム８００を示す。特定の実施形態において、１つまたは複数のコンピュータシステム８００は、本明細書で説明されるか、示される１つまたは複数の方法の１つまたは複数のステップを行う。特定の実施形態において、１つまたは複数のコンピュータシステム８００は、本明細書で説明されるか、示される機能を行う。特定の実施形態において、１つまたは複数のコンピュータシステム８００上で動くソフトウェアは、本明細書で説明されるか、示される１つまたは複数の方法の１つまたは複数のステップを行うか、本明細書で説明されるか、示される機能を提供する。特定の実施形態は、１つまたは複数のコンピュータシステム８００の１つまたは複数の部分を含む。本明細書で、コンピュータシステムへの言及は、コンピューティングデバイスを包含することができ、適正な場合、逆もまた同様である。さらに、コンピュータシステムへの言及は、適正な場合、１つまたは複数のコンピュータシステムを包含することができる。
【００７１】
本開示は、任意の適切な数のコンピュータシステム８００を想定する。本開示は、コンピュータシステム８００が、任意の適切な物理的形状をしていることを想定する。限定ではなく、例として、コンピュータシステム８００は、埋め込み式コンピュータシステム、システムオンチップ（ＳＯＣ）、シングルボードコンピュータシステム（ＳＢＣ）（例えば、コンピュータオンモジュール（ＣＯＭ）もしくはシステムオンモジュール（ＳＯＭ）など）、デスクトップコンピュータシステム、ラップトップコンピュータシステムもしくはノートブックコンピュータシステム、インタラクティブキオスク、メインフレーム、コンピュータシステムのメッシュ、携帯電話、パーソナルデジタルアシスタント（ＰＤＡ）、サーバ、タブレット型コンピュータシステム、拡張現実デバイス／仮想現実デバイス、またはこれらのうちの２つ以上の組合せであってよい。適正な場合、コンピュータシステム８００は、１つもしくは複数のコンピュータシステム８００を含むこと、単一もしくは分散型であること、複数のロケーションに及ぶこと、複数の機械に及ぶこと、複数のデータセンタに及ぶこと、または１つもしくは複数のネットワーク内の１つもしくは複数のクラウド構成要素を含み得るクラウドの中にあることが可能である。適正な場合、１つまたは複数のコンピュータシステム８００は、実質的に空間的な制限も一時的な制限もなく、本明細書で説明されるか、示される１つまたは複数の方法の１つまたは複数のステップを行うことができる。限定ではなく、例として、１つまたは複数のコンピュータシステム８００は、本明細書で説明されるか、示される１つまたは複数の方法の１つまたは複数のステップを、リアルタイムモードまたはバッチモードで行うことができる。１つまたは複数のコンピュータシステム８００は、適正な場合、様々な時間に、または様々なロケーションで、本明細書で説明されるか、示される１つまたは複数の方法の１つまたは複数のステップを行うことができる。
【００７２】
特定の実施形態において、コンピュータシステム８００は、プロセッサ８０２、メモリ８０４、ストレージ８０６、入出力（Ｉ／Ｏ）インターフェース８０８、通信インターフェース８１０、およびバス８１２を含む。本開示は、特定のコンピュータシステムが、特定の配置の中に特定の数の特定の構成要素を有することを説明し、示しているが、本開示は、任意の適切なコンピュータシステムが、任意の適切な配置の中に任意の適切な数の任意の適切な構成要素を有することを想定する。
【００７３】
特定の実施形態において、プロセッサ８０２は、コンピュータプログラムを作り上げる命令などの命令を実行するためのハードウェアを含む。限定ではなく、例として、命令を実行するために、プロセッサ８０２は、内部レジスタ、内部キャッシュ、メモリ８０４、またはストレージ８０６から命令を取得（またはフェッチ）すること、これらをデコードして実行すること、および１つまたは複数の結果を内部レジスタ、内部キャッシュ、メモリ８０４、またはストレージ８０６に書き込むことができる。特定の実施形態において、プロセッサ８０２は、データ、命令、またはアドレスのための１つまたは複数の内部キャッシュを含むことができる。本開示は、プロセッサ８０２が、適正な場合、任意の適切な数の任意の適切な内部キャッシュを含むことを想定する。限定ではなく、例として、プロセッサ８０２は、１つまたは複数の命令キャッシュ、１つまたは複数のデータキャッシュ、および１つまたは複数のトランスレーションルックアサイドバッファ（ＴＬＢ）を含むことができる。命令キャッシュ内の命令は、メモリ８０４またはストレージ８０６内の命令のコピーであってよく、命令キャッシュは、プロセッサ８０２によるこれらの命令の取得を高速化することができる。データキャッシュ内のデータは、動作するためにプロセッサ８０２において実行する命令、プロセッサ８０２において実行するその後の命令によるアクセスのため、またはメモリ８０４もしくはストレージ８０６に書き込むための、プロセッサ８０２において実行された以前の命令の結果、あるいは他の適切なデータのためのメモリ８０４またはストレージ８０６内のデータのコピーであってよい。データキャッシュは、プロセッサ８０２による読込み動作または書込み動作を高速化することができる。ＴＬＢは、プロセッサ８０２のための仮想アドレス変換を高速化することができる。特定の実施形態において、プロセッサ８０２は、データ、命令、またはアドレスのための１つまたは複数の内部レジスタを含むことができる。本開示は、プロセッサ８０２が、適正な場合、任意の適切な数の任意の適切な内部レジスタを含むことを想定する。適正な場合、プロセッサ８０２は、１つもしくは複数の算術論理演算装置（ＡＬＵ）を含むこと、マルチコアプロセッサであること、または１つもしくは複数のプロセッサ８０２を含むことが可能である。本開示は、特定のプロセッサを説明し、示しているが、本開示は、任意の適切なプロセッサを想定する。
【００７４】
特定の実施形態において、メモリ８０４は、プロセッサ８０２が実行するための命令、またはプロセッサ８０２が動作させるデータを格納するためのメインメモリを含む。限定ではなく、例として、コンピュータシステム８００は、ストレージ８０６または別のソース（例えば、別のコンピュータシステム８００など）からメモリ８０４に命令をロードすることができる。プロセッサ８０２は次に、メモリ８０４から内部レジスタまたは内部キャッシュに命令をロードすることができる。命令を実行するために、プロセッサ８０２は、内部レジスタまたは内部キャッシュから命令を取得し、これらをデコードすることができる。命令の実行中または実行後、プロセッサ８０２は、（中間結果または最終結果である可能性のある）１つまたは複数の結果を内部レジスタまたは内部キャッシュに書き込むことができる。プロセッサ８０２は次に、これらの結果の１つまたは複数をメモリ８０４に書き込むことができる。特定の実施形態において、プロセッサ８０２は、（ストレージ８０６または他の場所とは対照的に）１つもしくは複数の内部レジスタもしくは内部キャッシュ内の命令、またはメモリ８０４内の命令だけを実行し、（ストレージ８０６または他の場所とは対照的に）１つもしくは複数の内部レジスタもしくは内部キャッシュ内のデータ、またはメモリ８０４内のデータに対してのみ動作する。（アドレスバスおよびデータバスをそれぞれ含む可能性がある）１つまたは複数のメモリバスは、プロセッサ８０２をメモリ８０４に接続することができる。バス８１２は、下記で説明されるような１つまたは複数のメモリバスを含むことができる。特定の実施形態において、１つまたは複数のメモリ管理ユニット（ＭＭＵ）がプロセッサ８０２とメモリ８０４の間にあり、プロセッサ８０２によって要求されるメモリ８０４へのアクセスを容易にする。特定の実施形態において、メモリ８０４は、ランダムアクセスメモリ（ＲＡＭ）を含む。このＲＡＭは、適正な場合、揮発性メモリであってよい。適正な場合、このＲＡＭは、ダイナミックＲＡＭ（ＤＲＡＭ）またはスタティックＲＡＭ（ＳＲＡＭ）であってよい。さらに、適正な場合、このＲＡＭは、シングルポートＲＡＭまたはマルチポートＲＡＭであってよい。本開示は、任意の適切なＲＡＭを想定する。メモリ８０４は、適正な場合、１つまたは複数のメモリ８０４を含むことができる。本開示は、特定のメモリを説明し、示しているが、本開示は、任意の適切なメモリ想定する。
【００７５】
特定の実施形態において、ストレージ８０６は、データまたは命令のためのマスストレージを含む。限定ではなく、例として、ストレージ８０６は、ハードディスクドライブ（ＨＤＤ）、フロッピーディスクドライブ、フラッシュメモリ、光ディスク、光磁気ディスク、磁気テープ、もしくはユニバーサルシリアルバス（ＵＳＢ）ドライブ、またはこれらのうちの２つ以上の組合せを含むことができる。ストレージ８０６は、適正な場合、取外し可能な媒体または取外し不能な（もしくは固定された）媒体を含むことができる。ストレージ８０６は、適正な場合、コンピュータシステム８００の内部または外部にあってよい。特定の実施形態において、ストレージ８０６は、不揮発性の固体メモリであってよい。特定の実施形態において、ストレージ８０６は、リードオンリメモリ（ＲＯＭ）を含む。適正な場合、このＲＯＭは、マスクプログラムＲＯＭ、プログラマブルＲＯＭ（ＰＲＯＭ）、消去可能ＰＲＯＭ（ＥＰＲＯＭ）、電気的消去可能ＰＲＯＭ（ＥＥＰＲＯＭ）、電気的消去再書込ＲＯＭ（ＥＡＲＯＭ）、もしくはフラッシュメモリ、またはこれらのうちの２つ以上の組合せであってよい。本開示は、マスストレージ８０６が任意の適切な物理的形状をしていることを想定する。ストレージ８０６は、適正な場合、プロセッサ８０２とストレージ８０６との間の通信を容易にする１つまたは複数のストレージ制御ユニットを含むことができる。適正な場合、ストレージ８０６は、１つまたは複数のストレージ８０６を含むことができる。本開示は、特定のストレージ説明し、示しているが、本開示は、任意の適切なストレージを想定する。
【００７６】
特定の実施形態において、Ｉ／Ｏインターフェース８０８は、コンピュータシステム８００と１つまたは複数のＩ／Ｏデバイスとの間の通信のための１つまたは複数のインターフェースを提供するハードウェア、ソフトウェア、または両方を含む。コンピュータシステム８００は、適正な場合、これらのＩ／Ｏデバイスの１つまたは複数を含むことができる。これらのＩ／Ｏデバイスの１つまたは複数は、人とコンピュータシステム８００との間の通信を可能にすることができる。限定ではなく、例として、Ｉ／Ｏデバイスは、キーボード、キーパッド、マイクロフォン、モニタ、マウス、プリンタ、スキャナ、スピーカ、スチルカメラ、スタイラス、タブレット、タッチスクリーン、トラックボール、ビデオカメラ、別の適切なＩ／Ｏデバイス、またはこれらのうちの２つ以上の組合せを含むことができる。Ｉ／Ｏデバイスは、１つまたは複数のセンサを含むことができる。本開示は、任意の適切なＩ／Ｏデバイス、およびこれらのデバイスための任意の適切なＩ／Ｏインターフェース８０８を想定する。適正な場合、Ｉ／Ｏインターフェース８０８は、これらのＩ／Ｏデバイスの１つまたは複数をプロセッサ８０２が駆動させることを可能にする、１つまたは複数のデバイスまたはソフトウェアドライバを含むことができる。Ｉ／Ｏインターフェース８０８は、適正な場合、１つまたは複数のＩ／Ｏインターフェース８０８を含むことができる。本開示は、特定のＩ／Ｏインターフェースを説明し、示しているが、本開示は、任意の適切なＩ／Ｏインターフェースを想定する。
【００７７】
特定の実施形態において、通信インターフェース８１０は、コンピュータシステム８００と、１つもしくは複数の他のコンピュータシステム８００、または１つもしくは複数のネットワークとの間の通信（例えば、パケットベースの通信など）のための、１つまたは複数のインターフェースを提供するハードウェア、ソフトウェア、または両方を含む。限定ではなく、例として、通信インターフェース８１０は、イーサネットもしくは他の有線ベースのネットワークと通信するためのネットワークインターフェースコントローラ（ＮＩＣ）もしくはネットワークアダプタ、またはＷＩ−ＦＩネットワークなどのワイヤレスネットワークと通信するためのワイヤレスＮＩＣ（ＷＮＩＣ）もしくはワイヤレスアダプタを含むことができる。本開示は、任意の適切なネットワーク、およびネットワークのための任意の適切な通信インターフェース８１０を想定する。限定ではなく、例として、コンピュータシステム８００は、アドホックネットワーク、パーソナルエリアネットワーク（ＰＡＮ）、ローカルエリアネットワーク（ＬＡＮ）、広域ネットワーク（ＷＡＮ）、メトロポリタンエリアネットワーク（ＭＡＮ）、またはインターネットの１つもしくは複数の部分、あるいはこれらのうちの２つ以上の組合せと通信することができる。これらのネットワークの１つまたは複数の１つまたは複数の部分は、有線またはワイヤレスであってよい。例として、コンピュータシステム８００は、ワイヤレスＰＡＮ（ＷＰＡＮ）（例えば、ＢＬＵＥＴＯＯＴＨ  ＷＰＡＮなど）、ＷＩ−ＦＩネットワーク、ＷＩ−ＭＡＸネットワーク、セルラー電話ネットワーク（例えば、グローバルシステムフォーモバイルコミュニケーションズ（ＧＳＭ）ネットワークなど）、もしくは他の適切なワイヤレスネットワーク、またはこれらのうちの２つ以上の組合せと通信することができる。コンピュータシステム８００は、適正な場合、これらのネットワークのいずれかに対する任意の適切な通信インターフェース８１０を含むことができる。通信インターフェース８１０は、適正な場合、１つまたは複数の通信インターフェース８１０を含むことができる。本開示は、特定の通信インターフェースを説明し、示しているが、本開示は、任意の適切な通信インターフェースを想定する。
【００７８】
特定の実施形態において、バス８１２は、コンピュータシステム８００の構成要素を互いに接続するハードウェア、ソフトウェア、または両方を含む。限定ではなく、例として、バス８１２は、アクセラレイティッドグラフィックスポート（ＡＧＰ）もしくは他のグラフィックスバス、拡張インダストリスタンダードアーキテクチャ（ＥＩＳＡ）バス、フロントサイドバス（ＦＳＢ）、ＨＹＰＥＲＴＲＡＮＳＰＯＲＴ（ＨＴ）インターコネクト、インダストリスタンダードアーキテクチャ（ＩＳＡ）バス、ＩＮＦＩＮＩＢＡＮＤインターコネクト、ローピンカウント（ＬＰＣ）バス、メモリバス、マイクロチャネルアーキテクチャ（ＭＣＡ）バス、ペリフェラルコンポーネントインターコネクト（ＰＣＩ）バス、ＰＣＩ−Ｅｘｐｒｅｓｓ（ＰＣＩｅ）バス、シリアルアドバンスドテクノロジアタッチメント（ＳＡＴＡ）バス、ビデオエレクトロニクススタンダーズアソシエーションローカル（ＶＬＢ）バス、もしくは別の適切なバス、またはこれらのうちの２つ以上の組合せを含むことができる。バス８１２は、適正な場合、１つまたは複数のバス８１２を含むことができる。本開示は、特定のバスを説明し、示しているが、本開示は、任意の適切なバスまたは相互接続を想定する。
【００７９】
本明細書で、１つまたは複数のコンピュータ可読非一時的ストレージ媒体は、適正な場合、１つもしくは複数の半導体ベースの集積回路（ＩＣ）もしくは他の集積回路（例えば、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）もしくは特定用途向けＩＣ（ＡＳＩＣ））、ハードディスクドライブ（ＨＤＤ）、複合ハードドライブ（ＨＨＤ）、光ディスク、光ディスクドライブ（ＯＤＤ）、光磁気ディスク、光磁気ドライブ、フロッピーディスケット、フロッピーディスクドライブ（ＦＤＤ）、磁気テープ、ソリッドステートドライブ（ＳＳＤ）、ＲＡＭドライブ、セキュアデジタルカードもしくはドライブ、他の任意の適切なコンピュータ可読非一時的ストレージ媒体、またはこれらの２つ以上の任意の適切な組合せを含むことができる。コンピュータ可読非一時的ストレージ媒体は、適正な場合、揮発性、不揮発性、または揮発性と不揮発性の組合せであってよい。
【００８０】
本明細書で、「または」は、別途明確に示されない限り、または文脈によって別途示されない限り、包括的であるが、排他的ではない。したがって、本明細書において、「ＡまたはＢ」は、別途明確に示されない限り、または文脈によって別途示されない限り、「Ａ、Ｂ、または両方」を意味する。さらに、「および」は、別途明確に示されない限り、または文脈によって別途示されない限り、協同（ｊｏｉｎｔ）、および個々（ｓｅｖｅｒａｌ）の両方である。したがって、本明細書において、「ＡおよびＢ」は、別途明確に示されない限り、または文脈によって別途示されない限り、「協同してまたは個々に、ＡおよびＢ」を意味する。
【００８１】
本開示の範囲は、当業者が理解するであろう本明細書で説明されるか、示される例示的な実施形態への全ての変更、代用、変形、代替、および修正を包含する。本開示の範囲は、本明細書で説明されるか、示される例示的な実施形態に限定されない。さらに、本開示は、特定の構成要素、要素、特徴、機能、動作、またはステップを含むものとして本明細書の個々の実施形態を説明し、示しているが、これらの実施形態のいずれかは、当業者が理解するであろう本明細書のどこかで説明されるか、示される構成要素、要素、特徴、機能、動作、またはステップのいずれかの任意の組合せまたは並べ替えを含むことができる。さらに、特定の機能を行うように適応される、特定の機能を行うように配置される、特定の機能を行うことができる、特定の機能を行うように構成される、特定の機能を行うこと可能にする、特定の機能を行うように動作可能な、または特定の機能を行うように動作する、装置もしくはシステム、または装置もしくはシステムの構成要素に対する添付の特許請求の範囲における言及は、その特定の機能またはこの特定の機能が、活性化されるか、電源オンされるか、開錠されるかにかかわらず、この装置、システム、または構成要素が、そのように適応されるか、配置されるか、行うことができるか、構成されるか、可能にされるか、動作可能か、動作する限り、この装置、システム、構成要素を包含する。追加として、本開示は、特定の利点をもたらすものとして特定の実施形態を説明するか図示するが、特定の実施形態は、これらの利点のいずれも提供しないか、これらの利点のいくつかまたは全てを提供することができる。
【図１】
2021510482.tif 000003
【図２】
2021510482.tif 000004
【図３】
2021510482.tif 000005
【図４】
2021510482.tif 000006
【図５】
2021510482.tif 000007
【図６】
2021510482.tif 000008
【図７】
2021510482.tif 000009
【図８】
2021510482.tif 000010
【国際調査報告】
2021510482.tif 000011
2021510482.tif 000012
2021510482.tif 000013
2021510482.tif 000014
2021510482.tif 000015