(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-03-24
(45)【発行日】2022-04-01
(54)【発明の名称】近さに基づく信頼
(51)【国際特許分類】
H04M 1/72 20210101AFI20220325BHJP
H04M 1/00 20060101ALI20220325BHJP
H04W 4/21 20180101ALI20220325BHJP
【FI】
H04M1/72
H04M1/00 U
H04W4/21
(21)【出願番号】P 2020538127
(86)(22)【出願日】2018-01-16
(86)【国際出願番号】 US2018013841
(87)【国際公開番号】W WO2019139630
(87)【国際公開日】2019-07-18
【審査請求日】2020-10-13
(32)【優先日】2018-01-10
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】508178054
【氏名又は名称】メタ プラットフォームズ, インク.
(74)【代理人】
【識別番号】110002974
【氏名又は名称】特許業務法人World IP
(72)【発明者】
【氏名】サティヤ, サイ スリ
(72)【発明者】
【氏名】ラスカー, ラメシュ
【審査官】山岸 登
(56)【参考文献】
【文献】米国特許出願公開第2016/0335442(US,A1)
【文献】米国特許出願公開第2017/0364942(US,A1)
【文献】特表2017-528023(JP,A)
【文献】米国特許出願公開第2008/0155644(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04B7/24-7/26
H04L12/28
12/44-12/46
H04M1/00
1/24-1/82
99/00
H04W4/00-99/00
(57)【特許請求の範囲】
【請求項1】
第1のユーザと関連付けられた第1のコンピューティングデバイスによって、第2のユーザと関連付けられた第2のコンピューティングデバイスとの通信セッションを開始するためのトリガイベントを検出することであって、前記第1のコンピューティングデバイスが、1つまたは複数のワイヤレス送受信器、および1つまたは複数のセンサを備える、トリガイベントを検出することと、
前記第1のコンピューティングデバイスによって、前記第2のコンピューティングデバイスに対する初期の信頼点数を決定することと、
前記第1のコンピューティングデバイスによって、前記第1のユーザと前記第2のユーザとの間の
、会話、握手、手を振ること、または、任意の利用可能なセンサによってとらえることができる任意の適切な人間対話を含む物理対話を、前記1つまたは複数のセンサを使用して検知することと、
前記第1のコンピューティングデバイスによって
、検知した
前記物理対話に少なくとも基づいて、前記第2のコンピューティングデバイスに対する前記信頼点数を調節することと、
前記第1のコンピューティングデバイスによって、前記第2のコンピューティングデバイスに対す
る調節した
前記信頼点数が第1の閾値を満たす場合、前記第2のコンピューティングデバイスに第1のメッセージを送ることと
を含む、方法。
【請求項2】
前記第1の閾値が、前記通信セッションと関連付けられたパラメータである、請求項1に記載の方法。
【請求項3】
前記第1の閾値が、前記第1のメッセージと関連付けられたパラメータである、請求項1
または2に記載の方法。
【請求項4】
ペイロードを含む第2のメッセージを前記第2のコンピューティングデバイスから受け取ることと、
前記第2のコンピューティングデバイスに対す
る調節した
前記信頼点数が第2の閾値を満たすかどうかを判断することと、
前記判断に応じて前記第1のユーザに前記ペイロードを提示することと
をさらに含む、請求項1
から3のいずれか一項に記載の方法。
【請求項5】
前記第2のコンピューティングデバイスによって送られたメッセージを解読するために使用されることになる第1のセキュリティキーを前記第2のコンピューティングデバイスから受け取ることをさらに含む、請求項4に記載の方法。
【請求項6】
前記第2のコンピューティングデバイスに第2のセキュリティキーを発行することをさらに含み、前記第2のセキュリティキーが、前記第1のコンピューティングデバイスによって送られたメッセージを解読するために前記第2のコンピューティングデバイスによって使用される、請求項1
から5のいずれか一項に記載の方法。
【請求項7】
前記1つまたは複数のセンサが、マイクロフォン、カメラ、ビデオカメラ、または、ユーザの物理対話をとらえる任意の適切なセンサを含む、請求項1
から6のいずれか一項に記載の方法。
【請求項8】
前記第2のコンピューティングデバイスに対する前記初期の信頼点数を決定することが、前記信頼点数を、以前の通信セッション中に前記第2のコンピューティングデバイスに対して以前使用した信頼点数に設定することを含む、請求項1
から7のいずれか一項に記載の方法。
【請求項9】
前記第2のコンピューティングデバイスに対する前記初期の信頼点数を決定することが、
前記第2のコンピューティングデバイスに対する信頼点数値を第3のコンピューティングデバイスから受け取ることと、
前記第3のコンピューティングデバイスに対する現在の信頼点数が第3の閾値を満たす場合、前記第2のコンピューティングデバイスに対する前記信頼点数を
、受け取った
前記信頼点数値に設定することと
を含む、請求項1
から8のいずれか一項に記載の方法。
【請求項10】
前記第2のコンピューティングデバイスに対する前記初期の信頼点数を決定することが、
前記第1のコンピューティングデバイスと前記第2のコンピューティングデバイスとの間の共通の興味を識別することと、
識別した
前記共通の興味に基づいて、前記第2のコンピューティングデバイスに対する前記初期の信頼点数を決定することと
を含む、請求項1
から9のいずれか一項に記載の方法。
【請求項11】
前記共通の興味が、発見処理中に集められた情報に基づいて識別される、請求項10に記載の方法。
【請求項12】
前記共通の興味が、前記第1のコンピューティングデバイスと前記第2のコンピューティングデバイスの両方にインストールされた共通のアプリケーションに基づいて識別される、請求項10に記載の方法。
【請求項13】
前記共通の興味が、前記第1のコンピューティングデバイスと前記第2のコンピューティングデバイスの両方に格納された共通のデータに基づいて識別される、請求項10に記載の方法。
【請求項14】
前記第2のコンピューティングデバイスに対する前記信頼点数を調節することが、前記第2のコンピューティングデバイスが前記第1のコンピューティングデバイスの近くにある時間にさらに基づく、請求項1
から13のいずれか一項に記載の方法。
【請求項15】
機械学習(ML)技法が、前記物理対話を分析するために使用される、請求項
1から14のいずれか一項に記載の方法。
【請求項16】
前記ML技法が、自然言語処理アルゴリズムを含む、請求項
15に記載の方法。
【請求項17】
前記ML技法が、動き検出アルゴリズムを含む、請求項
15に記載の方法。
【請求項18】
ソフトウェアを具体化する1つまたは複数のコンピュータ可読非一時的ストレージ媒体であって、前記ソフトウェアは、実行されると第1のコンピューティングデバイスに、
第2のユーザと関連付けられた第2のコンピューティングデバイスとの通信セッションを開始するためのトリガイベントを検出することであって、前記第1のコンピューティングデバイスが、1つまたは複数のワイヤレス送受信器、および1つまたは複数のセンサを備え、前記第1のコンピューティングデバイスが、第1のユーザと関連付けられる、トリガイベントを検出することと、
前記第2のコンピューティングデバイスに対する初期の信頼点数を決定することと、
前記第1のユーザと前記第2のユーザとの間の
、会話、握手、手を振ること、または、任意の利用可能なセンサによってとらえることができる任意の適切な人間対話を含む物理対話を、前記1つまたは複数のセンサを使用して検知することと、
検知した
前記物理対話に少なくとも基づいて、前記第2のコンピューティングデバイスに対する前記信頼点数を調節することと、
前記第2のコンピューティングデバイスに対す
る調節した
前記信頼点数が第1の閾値を満たす場合、前記第2のコンピューティングデバイスに第1のメッセージを送ることと
を行わせるように動作可能である、1つまたは複数のコンピュータ可読非一時的ストレージ媒体。
【請求項19】
第1のコンピューティングデバイスであって、
1つまたは複数のワイヤレス送受信器と、
1つまたは複数のセンサと、
1つまたは複数のプロセッサと、
前記プロセッサの1つまたは複数に接続された1つまたは複数のコンピュータ可読非一時的ストレージ媒体と
を備え、前記1つまたは複数のコンピュータ可読非一時的ストレージ媒体は、命令を含み、前記命令は、前記プロセッサの1つまたは複数によって実行されると、前記第1のコンピューティングデバイスに、
第2のユーザと関連付けられた第2のコンピューティングデバイスとの通信セッションを開始するためのトリガイベントを検出することであって、前記第1のコンピューティングデバイスが、第1のユーザと関連付けられる、トリガイベントを検出することと、
前記第2のコンピューティングデバイスに対する初期の信頼点数を決定することと、
前記第1のユーザと前記第2のユーザとの間の
、会話、握手、手を振ること、または、任意の利用可能なセンサによってとらえることができる任意の適切な人間対話を含む物理対話を、前記1つまたは複数のセンサを使用して検知することと、
検知した
前記物理対話に少なくとも基づいて、前記第2のコンピューティングデバイスに対する前記信頼点数を調節することと、
前記第2のコンピューティングデバイスに対す
る調節した
前記信頼点数が第1の閾値を満たす場合、前記第2のコンピューティングデバイスに第1のメッセージを送ることと
を行わせるように動作可能である、第1のコンピューティングデバイス。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は一般に、デジタル通信に関するユーザ間の近さに基づいてデジタルトラストを確立することに関する。
【背景技術】
【0002】
ソーシャルネットワーキングシステムは、ソーシャルネットワーキングウェブサイトを含むことができ、ソーシャルネットワーキングシステムと、また、ソーシャルネットワーキングシステムを通じて互いに、(人物または組織などの)ソーシャルネットワーキングシステムのユーザが対話できるようにすることができる。ソーシャルネットワーキングシステムは、ユーザからの入力によって、ユーザと関連付けられたユーザプロフィールを作り出し、ソーシャルネットワーキングシステムに格納することができる。ユーザプロフィールは、人口統計学情報、通信チャネル情報、およびユーザの個人的関心についての情報を含むことができる。ソーシャルネットワーキングシステムは、ユーザからの入力によって、ソーシャルネットワーキングシステムの他のユーザとのユーザの関係の記録を作り出し、格納すること、およびユーザの間の、またはユーザの中のソーシャル対話を容易にするためのサービス(例えば、ウォールポスト、写真共有、イベント団体、メッセージング、ゲーム、または広告)を提供することもできる。
【0003】
ソーシャルネットワーキングシステムは、ソーシャルネットワーキングシステムのサービスに関するコンテンツまたはメッセージを、ユーザのモバイルデバイスまたは他のコンピューティングデバイスに1つまたは複数のネットワークで送ることができる。ユーザは、ユーザのユーザプロフィール、およびソーシャルネットワーキングシステム内の他のデータにアクセスするために、ユーザのモバイルデバイスまたは他のコンピューティングデバイスにソフトウェアアプリケーションをインストールすることもできる。ソーシャルネットワーキングシステムは、ユーザに接続された他のユーザのアグリゲートされたストーリーについてのニュースフィードなどの、ユーザに表示するためのコンテンツオブジェクトの個人向けセットを生成することができる。
【0004】
スマートフォン、タブレット型コンピュータ、またはラップトップコンピュータなどのモバイルコンピューティングデバイスは、GPS受信機、方位計、ジャイロスコープ、または加速度計など、モバイルコンピューティングデバイスの位置、方向、または向きを判断するための機能を含むことができる。このようなデバイスは、BLUETOOTH通信、近距離無線通信(NFC)、あるいは赤外線(IR)通信または無線ローカルエリアネットワーク(WLAN)もしくはセルラー電話ネットワークによる通信などの無線通信のための機能を含むこともできる。このようなデバイスは、1つまたは複数のカメラ、スキャナ、タッチスクリーン、マイクロフォン、またはスピーカを含むこともできる。モバイルコンピューティングデバイスは、ゲーム、ウェブブラウザ、またはソーシャルネットワーキングアプリケーションなどのソフトウェアアプリケーションを実行することもできる。ソーシャルネットワーキングアプリケーションによって、ユーザは、自分のソーシャルネットワークにおいて他のユーザと情報を接続すること、通信すること、および共有することができる。
【発明の概要】
【0005】
特定の実施形態において、コンピューティングデバイスは、通信ピアに対する評価された信頼度に基づいて、通信のために通信ピアのそれぞれに権限を付与することができる。通信ピアに対する信頼度は、デバイスのユーザ間の近さに少なくとも基づいて評価されてもよい。第1のユーザが長期間、第2のユーザの近くにいるとき、第2のユーザと関連付けられたデバイスからの第1のユーザへの信頼度は上がる可能性がある。信頼度は、信頼点数によって測定されてもよく、これはスカラ値である。近さに基づく信頼度評価および通信権限付与は、任意の通信のために使用されることが可能であるが、近さに基づく信頼度評価および通信権限付与は、利用可能なネットワークインフラストラクチャがないワイヤレスメッシュネットワークでのオフライン通信に特に有用である可能性がある。利用可能なネットワークインフラストラクチャがないとき、コンピューティングデバイスは、サーバからのデータに基づいて通信ピアを認証すること、および権限を付与することができないことがある。第1のコンピューティングデバイスが、オフライン通信セッションのためにトリガされると、第1のコンピューティングデバイスは、発見プロトコルを使用して、近くにある他のコンピューティングデバイスを発見することができる。第1のコンピューティングデバイスが、第2のコンピューティングデバイスを発見した後、第1のコンピューティングデバイスは、第2のコンピューティングデバイスに対する初期の信頼点数を決定し、第2のコンピューティングデバイスに対する信頼点数が通信に必要な閾値より高い場合、第2のコンピューティングデバイスとの通信を行うことができる。第1のコンピューティングデバイスは、通信が行われているときに、第2のコンピューティングデバイスに対する信頼点数を調節することができる。第1のコンピューティングデバイスは、交換されるメッセージの数が増えるにつれて、第2のコンピューティングデバイスに対する信頼点数を上げることができる。特定の実施形態において、第1のコンピューティングデバイスは、第1のコンピューティングデバイスと第2のコンピューティングデバイスのユーザ間の物理対話を検知することができる。第1のコンピューティングデバイスは、ユーザ間の検知した物理対話に基づいて、第2のコンピューティングデバイスに対する信頼点数を調節することができる。特定の実施形態において、第1のコンピューティングデバイスは、第2のコンピューティングデバイスと関連付けられたユーザが、第1のコンピューティングデバイスと関連付けられたユーザの近くにいる時間を測定することができる。第1のコンピューティングデバイスは、第2のコンピューティングデバイスと関連付けられたユーザが、第1のコンピューティングデバイスと関連付けられたユーザの近くにいる時間に基づいて、第2のコンピューティングデバイスに対する信頼点数を調節することができる。限定ではなく、例として、携帯電話をもっている第1のユーザは、飛行機に乗り、ワイヤレス送受信器がオフになる機内モードに携帯電話を切り換えることができる。第1のユーザは、Bluetooth無線をオンにすることによって、機上での他のユーザとのオフラインメッセージングセッションを確立することができる。オフラインメッセージングセッションについて、携帯電話は、他のBluetooth対応モバイルデバイスを発見し、発見した各モバイルデバイスに対する信頼点数を決定することができる。第1のユーザは、第2のユーザのデバイスに対する信頼点数が送信のための閾値より高い場合、第2のユーザにメッセージを送ることができてもよい。第1のユーザは、第2のユーザのデバイスに対する信頼点数が別の閾値より高い場合、第2のユーザからメッセージを受け取ることができてもよい。
【0006】
特定の実施形態において、第1のユーザと関連付けられた第1のモバイルコンピューティングデバイスは、オフライン通信セッションのためのトリガイベントを検出することができる。オフライン通信セッションにおいて、第1のモバイルコンピューティングデバイスは、インターネットを通じてメッセージをルートせずに、1つまたは複数のモバイルコンピューティングデバイスとメッセージを交換することができる。到達可能なネットワークインフラストラクチャがないことを検出したことが、トリガイベントであってもよい。特定の実施形態において、インターネットを通じてルートしない互いとの1つまたは複数の通信経路を、通信セッションへの通信参加者全てが有していることを検出したことが、トリガイベントであってもよい。第1のモバイルコンピューティングデバイスは、1つまたは複数のワイヤレス送受信器、および、マイクロフォン、カメラ、ビデオカメラ、または、ユーザの物理対話をとらえる任意の適切なセンサを含む1つまたは複数のセンサを含んでもよい。第1のモバイルコンピューティングデバイスは、Bluetooth Low Energy(BLE)発見プロトコルなどのワイヤレス発見プロトコルを使用して、1つまたは複数のワイヤレスネットワーク上の第1のコンピューティングデバイスへの1つまたは複数の通信経路を有している第2のユーザと関連付けられた第2のモバイルコンピューティングデバイスを発見することができる。第2のコンピューティングデバイスを発見することについて、第1のモバイルコンピューティングデバイスは、いずれのネットワークインフラストラクチャにもアクセスしない1つまたは複数のワイヤレスネットワーク上の第1のコンピューティングデバイスへの1つまたは複数の通信経路を有しているいずれかのコンピューティングデバイスを発見することができる。特定の実施形態において、第1のモバイルコンピューティングデバイスは、いずれのネットワークインフラストラクチャにもアクセスしない1つまたは複数のワイヤレスネットワーク上の第1のコンピューティングデバイスへの1つまたは複数の通信経路を有しているコンピューティングデバイスの中の、特定の話題について第1のコンピューティングデバイスとの通信に興味を示すコンピューティングデバイスだけを発見することができる。第1のモバイルコンピューティングデバイスは、第2のコンピューティングデバイスに対する初期の信頼点数を決定することができる。第2のコンピューティングデバイスに対する初期の信頼点数について、第1のモバイルコンピューティングデバイスは、その信頼点数を、以前のオフライン通信セッション中に第2のコンピューティングデバイスに対して以前使用した信頼点数に設定することができる。特定の実施形態において、第1のモバイルコンピューティングデバイスは、第2のコンピューティングデバイスに対する信頼点数値を第3のコンピューティングデバイスから受け取ることができる。第1のモバイルコンピューティングデバイスは、第3のコンピューティングデバイスに対する現在の信頼点数が第3の閾値を満たす場合、第2のコンピューティングデバイスに対する信頼点数を、受け取った信頼点数値に設定することができる。特定の実施形態において、第1のモバイルコンピューティングデバイスは、第1のコンピューティングデバイスと第2のコンピューティングデバイスとの間の共通の興味を識別し、識別した共通の興味に基づいて、第2のコンピューティングデバイスに対する初期の信頼点数を決定することができる。特定の実施形態において、第1のモバイルコンピューティングデバイスは、発見処理中に集められた情報に基づいて、共通の興味を識別することができる。特定の実施形態において、第1のモバイルコンピューティングデバイスは、第1のコンピューティングデバイスと第2のコンピューティングデバイスの両方にインストールされた共通のアプリケーションに基づいて、共通の興味を識別することができる。特定の実施形態において、第1のモバイルコンピューティングデバイスは、第1のコンピューティングデバイスと第2のコンピューティングデバイスの両方に格納された共通のデータに基づいて、共通の興味を識別することができる。第1のモバイルコンピューティングデバイスは、第1のユーザと第2のユーザとの間の物理対話を、1つまたは複数のセンサを使用して検知することができる。物理対話は、会話、握手、手を振ること、または、任意の利用可能なセンサによってとらえることができる任意の適切な人間対話を含んでもよい。第1のコンピューティングデバイスは、第1のユーザと第2のユーザとの間の検知した物理対話に少なくとも基づいて、第2のコンピューティングデバイスに対する信頼点数を調節することができる。特定の実施形態において、第1のモバイルコンピューティングデバイスは、第2のコンピューティングデバイスが第1のコンピューティングデバイスの近くにある時間にさらに基づいて、第2のコンピューティングデバイスに対する信頼点数を調節することができる。特定の実施形態において、第1のモバイルコンピューティングデバイスは、オフライン通信セッションで第2のコンピューティングデバイスに送られることになる第1のメッセージを検出することができる。第1のコンピューティングデバイスは、第2のコンピューティングデバイスに対する現在の信頼点数が、送られることになるメッセージのための第1の閾値を満たす場合、第2のコンピューティングデバイスに第1のメッセージを送ることができる。特定の実施形態において、第1のモバイルコンピューティングデバイスは、第2のコンピューティングデバイスから第2のメッセージを受け取ることができる。第2のメッセージは、第2のメッセージが属するオフライン通信セッションの識別子、送り手の識別子、1つまたは複数の意図される受け手を識別する1つまたは複数の識別子、およびペイロードを含んでもよい。第1のモバイルコンピューティングデバイスは、第1のコンピューティングデバイスが、1つまたは複数の意図される受け手の一部であることを、1つまたは複数の識別子に基づいて判断することができる。第1のモバイルコンピューティングデバイスは、第2のコンピューティングデバイスが送り手であることを、送り手の識別子に基づいて判断することができる。第1のモバイルコンピューティングデバイスは、第2のコンピューティングデバイスに対する現在の信頼点数が、受け取られることになるメッセージのための第2の閾値を満たすかどうかを判断することができる。判断に応じて、第1のモバイルコンピューティングデバイスは、第2のメッセージのペイロードを第1のユーザに提示することができる。特定の実施形態において、第1のモバイルコンピューティングデバイスは、第2のコンピューティングデバイスから第1のセキュリティキーを受け取ることができる。第1のモバイルコンピューティングデバイスは、第1のセキュリティキーを使用して、第2のコンピューティングデバイスによって送られたメッセージを解読することができる。特定の実施形態において、第1のモバイルコンピューティングデバイスは、第2のコンピューティングデバイスに第2のセキュリティキーを発行することができる。第2のコンピューティングデバイスは、第2のセキュリティキーを使用して、第1のコンピューティングデバイスによって送られたメッセージを解読することができる。
【0007】
本明細書で開示される実施形態は、単なる例にすぎず、本開示の範囲はこれらに限定されない。特定の実施形態は、上記で開示された実施形態の構成要素、要素、特徴、機能、動作、またはステップの全てまたはいくつかを含むか、いずれも含まなくてもよい。本発明による実施形態は、方法、ストレージ媒体、システム、およびコンピュータプログラム製品を対象とする添付の特許請求の範囲の中で具体的に開示されており、例えば、方法といった1つの請求項のカテゴリの中で言及されるいずれかの特徴は、例えばシステムといった別の請求項のカテゴリの中でも同様に特許請求されることが可能である。添付の特許請求の範囲に記載された従属性または参照は、正式な理由に対してのみ選ばれる。しかし、任意の先の請求項(特に多数項従属性)を意図的に参照した結果生じるいずれかの主題も同様に特許請求されることが可能であり、その結果、請求項と請求項の特徴との任意の組合せが開示され、添付の特許請求の範囲の中で選ばれる従属性にかかわらず特許請求されることが可能である。特許請求されることが可能な主題は、添付の特許請求の範囲に記載されている特徴の組合せだけでなく、特許請求の範囲内の特徴の他の任意の組合せも含み、特許請求の範囲に記載された各特徴は、特許請求の範囲内の他の任意の特徴、または他の特徴の組合せと組み合わされてよい。さらに、本明細書に記載されるか、描写される実施形態および特徴のいずれかは、別々の請求項において、および/あるいは本明細書に記載されるか、描写される任意の実施形態もしくは特徴との任意の組合せ、または添付の特許請求の範囲の特徴のいずれかとの任意の組合せで特許請求されることが可能である。
【0008】
本発明による1つの実施形態において、特に、コンピュータによって実行される方法は、
第1のユーザと関連付けられた第1のコンピューティングデバイスによって、第2のユーザと関連付けられた第2のコンピューティングデバイスとの通信セッションを開始するためのトリガイベントを検出することであって、第1のコンピューティングデバイスが、1つまたは複数のワイヤレス送受信器、および1つまたは複数のセンサを備える、トリガイベントを検出することと、
第1のコンピューティングデバイスによって、第2のコンピューティングデバイスに対する初期の信頼点数を決定することと、
第1のコンピューティングデバイスによって、第1のユーザと第2のユーザとの間の物理対話を、1つまたは複数のセンサを使用して検知することと、
第1のコンピューティングデバイスによって、検知した物理対話に少なくとも基づいて、第2のコンピューティングデバイスに対する信頼点数を調節することと、
第1のコンピューティングデバイスによって、第2のコンピューティングデバイスに対する調節した信頼点数が第1の閾値を満たす場合、第2のコンピューティングデバイスに第1のメッセージを送ることと
を含む。
【0009】
第1の閾値は、通信セッションと関連付けられたパラメータであってもよい。
【0010】
第1の閾値は、第1のメッセージと関連付けられたパラメータであってもよい。
【0011】
本発明による1つの実施形態において、方法は、
ペイロードを含む第2のメッセージを第2のコンピューティングデバイスから受け取ることと、
第2のコンピューティングデバイスに対する調節した信頼点数が第2の閾値を満たすかどうかを判断することと、
判断に応じて第1のユーザにペイロードを提示することと
を含むことができる。
【0012】
本発明による1つの実施形態において、方法は、第2のコンピューティングデバイスによって送られたメッセージを解読するために使用されることになる第1のセキュリティキーを第2のコンピューティングデバイスから受け取ることを含むことができる。
【0013】
本発明による1つの実施形態において、方法は、第2のコンピューティングデバイスに第2のセキュリティキーを発行することを含むことができ、第2のセキュリティキーが、第1のコンピューティングデバイスによって送られたメッセージを解読するために第2のコンピューティングデバイスによって使用される。
【0014】
1つまたは複数のセンサは、マイクロフォン、カメラ、ビデオカメラ、または、ユーザの物理対話をとらえる任意の適切なセンサを含むことができる。
【0015】
第2のコンピューティングデバイスに対する初期の信頼点数を決定することは、その信頼点数を、以前の通信セッション中に第2のコンピューティングデバイスに対して以前使用した信頼点数に設定することを含むことができる。
【0016】
第2のコンピューティングデバイスに対する初期の信頼点数を決定することは、
第2のコンピューティングデバイスに対する信頼点数値を第3のコンピューティングデバイスから受け取ることと、
第3のコンピューティングデバイスに対する現在の信頼点数が第3の閾値を満たす場合、第2のコンピューティングデバイスに対する信頼点数を、受け取った信頼点数値に設定することと、
を含むことができる。
【0017】
第2のコンピューティングデバイスに対する初期の信頼点数を決定することは、
第1のコンピューティングデバイスと第2のコンピューティングデバイスとの間の共通の興味を識別することと、
識別した共通の興味に基づいて、第2のコンピューティングデバイスに対する初期の信頼点数を決定することと
を含むことができる。
【0018】
共通の興味は、発見処理中に集められた情報に基づいて識別されてもよい。
【0019】
共通の興味は、第1のコンピューティングデバイスと第2のコンピューティングデバイスの両方にインストールされた共通のアプリケーションに基づいて識別されてもよい。
【0020】
共通の興味は、第1のコンピューティングデバイスと第2のコンピューティングデバイスの両方に格納された共通のデータに基づいて識別されてもよい。
【0021】
第2のコンピューティングデバイスに対する信頼点数を調節することは、第2のコンピューティングデバイスが第1のコンピューティングデバイスの近くにある時間に基づくことができる。
【0022】
物理対話は、会話、握手、手を振ること、または、任意の利用可能なセンサによってとらえることができる任意の適切な人間対話を含むことができる。
【0023】
機械学習(ML:Machine Learning)技法は、物理対話を分析するために使用されてもよい。
【0024】
ML技法は、自然言語処理アルゴリズムを含むことができる。
【0025】
ML技法は、動き検出アルゴリズムを含むことができる。
【0026】
本発明による1つの実施形態において、1つまたは複数のコンピュータ可読非一時的ストレージ媒体は、ソフトウェアを具体化することができ、ソフトウェアは、実行されると第1のコンピューティングデバイスに、
第2のユーザと関連付けられた第2のコンピューティングデバイスとの通信セッションを開始するためのトリガイベントを検出することであって、第1のコンピューティングデバイスが、1つまたは複数のワイヤレス送受信器、および1つまたは複数のセンサを備え、第1のコンピューティングデバイスが、第1のユーザと関連付けられる、トリガイベントを検出することと、
第2のコンピューティングデバイスに対する初期の信頼点数を決定することと、
第1のユーザと第2のユーザとの間の物理対話を、1つまたは複数のセンサを使用して検知することと、
検知した物理対話に少なくとも基づいて、第2のコンピューティングデバイスに対する信頼点数を調節することと、
第2のコンピューティングデバイスに対する調節した信頼点数が第1の閾値を満たす場合、第2のコンピューティングデバイスに第1のメッセージを送ることと
を行わせるように動作可能になり得る。
【0027】
本発明による1つの実施形態において、第1のコンピューティングデバイスは、
1つまたは複数のワイヤレス送受信器と、
1つまたは複数のセンサと、
1つまたは複数のプロセッサと、
プロセッサの1つまたは複数に接続された1つまたは複数のコンピュータ可読非一時的ストレージ媒体と
を備えることができ、1つまたは複数のコンピュータ可読非一時的ストレージ媒体は、命令を含み、命令は、プロセッサの1つまたは複数によって実行されると、第1のコンピューティングデバイスに、
第2のユーザと関連付けられた第2のコンピューティングデバイスとの通信セッションを開始するためのトリガイベントを検出することであって、第1のコンピューティングデバイスが、第1のユーザと関連付けられる、トリガイベントを検出することと、
第2のコンピューティングデバイスに対する初期の信頼点数を決定することと、
第1のユーザと第2のユーザとの間の物理対話を、1つまたは複数のセンサを使用して検知することと、
検知した物理対話に少なくとも基づいて、第2のコンピューティングデバイスに対する信頼点数を調節することと、
第2のコンピューティングデバイスに対する調節した信頼点数が第1の閾値を満たす場合、第2のコンピューティングデバイスに第1のメッセージを送ることと
を行わせるように動作可能である。
【0028】
本発明による1つの実施形態において、1つまたは複数のコンピュータ可読非一時的ストレージ媒体は、ソフトウェアを具体化することができ、ソフトウェアは、実行されると、本発明による方法、または上述の実施形態のいずれかを行うように動作可能である。
【0029】
本発明による1つの実施形態において、システムは、1つまたは複数のプロセッサと、プロセッサに接続され、プロセッサによって実行可能な命令を含む少なくとも1つのメモリであって、プロセッサが、命令を実行すると、本発明による方法、または上述の実施形態のいずれかを行うように動作可能である、メモリと、を含むことができる。
【0030】
本発明による1つの実施形態において、コンピュータプログラム製品は、好ましくは、コンピュータ可読非一時的ストレージ媒体を備え、データ処理システムにおいて実行されると、本発明による方法、または上述の実施形態のいずれかを行うように動作可能であることが可能である。
【図面の簡単な説明】
【0031】
【
図1】飛行機上の例示的なオフラインワイヤレスメッシュネットワークの図である。
【
図2】バックホールポイントを含む例示的なハイブリッドワイヤレスメッシュネットワークの図である。
【
図3】通信ピアに対する信頼点数を決定するための例示的な流れ図である。
【
図4】信頼点数に基づく権限付与を伴う例示的なメッセージ配信の図である。
【
図5】信頼点数に基づいてメッセージを送るための例示的な方法の図である。
【
図6】ソーシャルネットワーキングシステムと関連付けられた例示的なネットワーク環境の図である。
【発明を実施するための形態】
【0032】
特定の実施形態において、コンピューティングデバイス101Aは、通信ピアに対する評価された信頼度に基づいて、通信のために通信ピアのそれぞれに権限を付与することができる。通信ピアに対する信頼度は、デバイスのユーザ間の近さに少なくとも基づいて評価されてもよい。第1のユーザが長期間、第2のユーザの近くにいるとき、第2のユーザと関連付けられたデバイスからの第1のユーザへの信頼度は上がる可能性がある。信頼度は、スカラ値である信頼点数によって測定されてもよい。近さに基づく信頼度評価および通信権限付与は、任意の通信のために使用されることが可能であるが、近さに基づく信頼度評価および通信権限付与は、利用可能なネットワークインフラストラクチャがないワイヤレスメッシュネットワークでのオフライン通信に特に有用である可能性がある。利用可能なネットワークインフラストラクチャがないとき、コンピューティングデバイス101Aは、サーバからのデータに基づいて通信ピアを認証すること、および権限を付与することができないことがある。第1のコンピューティングデバイス101Aが、オフライン通信セッションの開始をトリガされると、第1のコンピューティングデバイス101Aは、発見プロトコルを使用して、近くにある他のコンピューティングデバイスを発見することができる。第1のコンピューティングデバイス101Aが、第2のコンピューティングデバイス101Bを発見した後、第1のコンピューティングデバイス101Aは、第2のコンピューティングデバイス101Bに対する初期の信頼点数を決定し、第2のコンピューティングデバイス101Bに対する信頼点数が通信に必要な閾値より高い場合、第2のコンピューティングデバイス101Bとの通信を行うことができる。通信に必要な閾値は、オフライン通信セッションと関連付けられたパラメータであってもよい。特定の実施形態において、通信に必要な閾値は、各メッセージと関連付けられたパラメータであってもよい。第1のコンピューティングデバイス101Aは、通信が行われているときに、第2のコンピューティングデバイス101Bに対する信頼点数を調節することができる。第1のコンピューティングデバイスは、交換されるメッセージの数が増えるにつれて、第2のコンピューティングデバイス101Bに対する信頼点数を上げることができる。特定の実施形態において、第1のコンピューティングデバイス101Aは、第1のコンピューティングデバイス101Aと第2のコンピューティングデバイス101Bのユーザ間の物理対話を検知することができる。第1のコンピューティングデバイス101Aは、ユーザ間の検知した物理対話に基づいて、第2のコンピューティングデバイス101Bに対する信頼点数を調節することができる。特定の実施形態において、第1のコンピューティングデバイス101Aは、第2のコンピューティングデバイス101Bと関連付けられたユーザが、第1のコンピューティングデバイス101Aと関連付けられたユーザの近くにいる時間を測定することができる。第1のコンピューティングデバイス101Aは、第2のコンピューティングデバイス101Bと関連付けられたユーザが、第1のコンピューティングデバイス101Aと関連付けられたユーザの近くにいる時間に基づいて、第2のコンピューティングデバイス101Bに対する信頼点数を調節することができる。限定ではなく、例として、携帯電話をもっている第1のユーザは、飛行機に乗り、ワイヤレス送受信器がオフになる機内モードに携帯電話を切り換えることができる。第1のユーザは、Bluetooth無線をオンにすることによって、機上での他のユーザとのオフラインメッセージングセッションを確立することができる。オフラインメッセージングセッションについて、携帯電話は、他のBluetooth対応モバイルデバイスを発見し、発見した各モバイルデバイスに対する信頼点数を決定することができる。第1のユーザは、第2のユーザのデバイスに対する信頼点数が送信のための閾値より高い場合、第2のユーザにメッセージを送ることができてもよい。第1のユーザは、第2のユーザのデバイスに対する信頼点数が別の閾値より高い場合、第2のユーザからメッセージを受け取ることができてもよい。本開示は、特定の手法で、近さに基づく信頼度に基づいて通信を認証することを記述するが、本開示は、任意の適切な手法で、近さに基づく信頼度に基づいて通信を認証することを想定する。
【0033】
特定の実施形態において、第1のユーザと関連付けられた第1のモバイルコンピューティングデバイスは、オフライン通信セッションのためのトリガイベントを検出することができる。オフライン通信セッションにおいて、第1のモバイルコンピューティングデバイスは、ネットワークインフラストラクチャを通じてメッセージをルートせずに、1つまたは複数のモバイルコンピューティングデバイスとメッセージを交換することができる。到達可能なネットワークインフラストラクチャがないことを検出したことが、トリガイベントであってもよい。特定の実施形態において、いずれのネットワークインフラストラクチャにもアクセスしない1つまたは複数のワイヤレスネットワーク上の互いとの1つまたは複数の通信経路を、通信セッションへの通信参加者全てが有していることを検出したことが、トリガイベントであってもよい。第1のモバイルコンピューティングデバイスは、1つまたは複数のワイヤレス送受信器、および、マイクロフォン、カメラ、ビデオカメラ、または、ユーザの物理対話をとらえる任意の適切なセンサを含む1つまたは複数のセンサを含んでもよい。第1のモバイルコンピューティングデバイスは、Bluetooth Low Energy(BLE)発見プロトコルなどのワイヤレス発見プロトコルを使用して、1つまたは複数のワイヤレスネットワーク上の第1のコンピューティングデバイス101Aへの1つまたは複数の通信経路を有している第2のユーザと関連付けられた第2のモバイルコンピューティングデバイスを発見することができる。第2のコンピューティングデバイス101Bを発見することについて、第1のモバイルコンピューティングデバイスは、いずれのネットワークインフラストラクチャにもアクセスしない1つまたは複数のワイヤレスネットワーク上の第1のコンピューティングデバイス101Aへの1つまたは複数の通信経路を有しているいずれかのコンピューティングデバイスを発見することができる。特定の実施形態において、第1のモバイルコンピューティングデバイスは、いずれのネットワークインフラストラクチャにもアクセスしない1つまたは複数のワイヤレスネットワーク上の第1のコンピューティングデバイス101Aへの1つまたは複数の通信経路を有しているコンピューティングデバイスの中の、特定の話題について第1のコンピューティングデバイス101Aとの通信に興味を示すコンピューティングデバイスだけを発見することができる。第1のモバイルコンピューティングデバイスは、第2のコンピューティングデバイス101Bに対する初期の信頼点数を決定することができる。第2のコンピューティングデバイス101Bに対する初期の信頼点数について、第1のモバイルコンピューティングデバイスは、その信頼点数を、以前のオフライン通信セッション中に第2のコンピューティングデバイス101Bに対して以前使用した信頼点数に設定することができる。特定の実施形態において、第1のモバイルコンピューティングデバイスは、第2のコンピューティングデバイス101Bに対する信頼点数値を第3のコンピューティングデバイスから受け取ることができる。第1のモバイルコンピューティングデバイスは、第3のコンピューティングデバイスに対する現在の信頼点数が第3の閾値を満たす場合、第2のコンピューティングデバイス101Bに対する信頼点数を、受け取った信頼点数値に設定することができる。特定の実施形態において、第1のモバイルコンピューティングデバイスは、第1のコンピューティングデバイス101Aと第2のコンピューティングデバイス101Bとの間の共通の興味を識別し、識別した共通の興味に基づいて、第2のコンピューティングデバイス101Bに対する初期の信頼点数を決定することができる。特定の実施形態において、第1のモバイルコンピューティングデバイスは、発見処理中に集められた情報に基づいて、共通の興味を識別することができる。特定の実施形態において、第1のモバイルコンピューティングデバイスは、第1のコンピューティングデバイス101Aと第2のコンピューティングデバイス101Bの両方にインストールされた共通のアプリケーションに基づいて、共通の興味を識別することができる。特定の実施形態において、第1のモバイルコンピューティングデバイスは、第1のコンピューティングデバイス101Aと第2のコンピューティングデバイス101Bの両方に格納された共通のデータに基づいて、共通の興味を識別することができる。第1のモバイルコンピューティングデバイスは、第1のユーザと第2のユーザとの間の物理対話を、1つまたは複数のセンサを使用して検知することができる。物理対話は、会話、握手、手を振ること、または、任意の利用可能なセンサによってとらえることができる任意の適切な人間対話を含んでもよい。第1のコンピューティングデバイス101Aは、第1のユーザと第2のユーザとの間の検知した物理対話に少なくとも基づいて、第2のコンピューティングデバイス101Bに対する信頼点数を調節することができる。特定の実施形態において、第1のモバイルコンピューティングデバイスは、第2のコンピューティングデバイス101Bが第1のコンピューティングデバイス101Aの近くにある時間にさらに基づいて、第2のコンピューティングデバイス101Bに対する信頼点数を調節することができる。特定の実施形態において、第1のモバイルコンピューティングデバイスは、オフライン通信セッションで第2のコンピューティングデバイス101Bに送られることになる第1のメッセージを検出することができる。第1のコンピューティングデバイス101Aは、第2のコンピューティングデバイス101Bに対する現在の信頼点数が、送られることになるメッセージのための第1の閾値を満たす場合、第2のコンピューティングデバイス101Bに第1のメッセージを送ることができる。特定の実施形態において、第1のモバイルコンピューティングデバイスは、第2のコンピューティングデバイス101Bから第2のメッセージを受け取ることができる。第2のメッセージは、第2のメッセージが属するオフライン通信セッションの識別子、送り手の識別子、1つまたは複数の意図される受け手を識別する1つまたは複数の識別子、およびペイロードを含んでもよい。第1のモバイルコンピューティングデバイスは、第1のコンピューティングデバイス101Aが、1つまたは複数の意図される受け手の一部であることを、1つまたは複数の識別子に基づいて判断することができる。第1のモバイルコンピューティングデバイスは、第2のコンピューティングデバイス101Bが送り手であることを、送り手の識別子に基づいて判断することができる。第1のモバイルコンピューティングデバイスは、第2のコンピューティングデバイス101Bに対する現在の信頼点数が、受け取られることになるメッセージのための第2の閾値を満たすかどうかを判断することができる。判断に応じて、第1のモバイルコンピューティングデバイスは、第2のメッセージのペイロードを第1のユーザに提示することができる。特定の実施形態において、第1のモバイルコンピューティングデバイスは、第2のコンピューティングデバイス101Bから第1のセキュリティキーを受け取ることができる。第1のモバイルコンピューティングデバイスは、第1のセキュリティキーを使用して、第2のコンピューティングデバイス101Bによって送られたメッセージを解読することができる。特定の実施形態において、第1のモバイルコンピューティングデバイスは、第2のコンピューティングデバイス101Bに第2のセキュリティキーを発行することができる。第2のコンピューティングデバイス101Bは、第2のセキュリティキーを使用して、第1のコンピューティングデバイス101Aによって送られたメッセージを解読することができる。
【0034】
特定の実施形態において、第1のユーザと関連付けられた第1のコンピューティングデバイス101Aは、通信セッションを開始するためのトリガイベントを検出することができる。特定の実施形態において、通信セッションは、インターネットを通じてルートせずに、第1のコンピューティングデバイス101Aが、1つまたは複数のコンピューティングデバイスとメッセージを交換できるオフライン通信セッションであってもよい。トリガイベントは、ユーザからの命令であってもよい。特定の実施形態において、第1のコンピューティングデバイス101Aは、到達可能なネットワークインフラストラクチャがないことを検出することができる。この検出が、オフライン通信セッションを開始するためのトリガイベントであってもよい。特定の実施形態において、第1のコンピューティングデバイス101Aは、インターネットを通じてルートしない互いとの1つまたは複数の通信経路を、通信セッションへの通信参加者全てが有していることを検出することができる。この検出が、オフライン通信セッションのためのトリガイベントであってもよい。
図1は、飛行機上の例示的なオフラインワイヤレスメッシュネットワークを示す。
図1に示された、限定ではなく、例として、第1のコンピューティングデバイス101Aと関連付けられた第1のユーザは、飛行機100に乗り、第1のコンピューティングデバイス101Aのワイヤレス送受信器がオフになる機内モードに第1のコンピューティングデバイス101Aを切り換えることができる。第1のユーザは、飛行中にフットボールゲームについてチャットするために、機上で他のユーザとオフラインメッセージングセッションを確立したいと思うことがある。第1のユーザは、第1のコンピューティングデバイス101AのBluetooth無線をオンにし、フットボールゲームについてチャットするためにオフラインメッセージングセッションを開始することができる。第1のコンピューティングデバイス101Aは、所定の期間、Bluetoothチャネルで発見リクエストをブロードキャストすることによってワイヤレス発見処理を行うことができる。4つのコンピューティングデバイス101B~101Eが発見リクエストに応答したので、発見処理の終わりに、5つのモバイルコンピューティングデバイスを含むオフラインワイヤレスメッシュネットワークが確立されてもよい。コンピューティングデバイスの中には、互いに直接通信できない可能性があるものもある。例えば、
図1に示されたように、コンピューティングデバイス101Bは、コンピューティングデバイス101Dまたはコンピューティングデバイス101Eとメッセージを交換できない可能性がある。このような状況では、コンピューティングデバイス101Aは、コンピューティングデバイス101Bとコンピューティングデバイス101Dとの間で、または、コンピューティングデバイス101Bとコンピューティングデバイス101Dとの間で、メッセージを中継することができる。コンピューティングデバイス101A~101Eは、オンラインソーシャルネットワークのためのクライアントシステム630であってもよい。次に、コンピューティングデバイス101A~101Eは、コンピューティングデバイスが互いを発見したとき、オンラインソーシャルネットワークのためにキャッシュされたユーザプロフィールからの利用可能な情報をローカルに利用することができる。限定ではなく、別の例として、第1のコンピューティングデバイス101Aは、インターネットにアクセスするために、いずれのネットワークインフラストラクチャにもアクセスできないこともある。自然災害の状況が、このような状況の例であってもよい。第1のコンピューティングデバイス101Aは、ユーザからの入力がなくても、オフラインメッセージングセッションを開始することができる。第1のコンピューティングデバイス101Aは、いずれかの利用可能な通信ピアを見つけるために、発見リクエストメッセージをブロードキャストすることができる。本開示は、特定の手法でオフライン通信セッションを開始することを記述するが、本開示は、任意の適切な手法でオフライン通信セッションを開始することを想定する。
【0035】
特定の実施形態において、通信セッションは、第1のコンピューティングデバイス101Aが、インターネットを通じてメッセージをルートせずに、1つまたは複数のコンピューティングデバイスとメッセージを交換すること、および、インターネットを通じてメッセージをルートすることによって、1つまたは複数の他のコンピューティングデバイスとメッセージを交換することができるハイブリッド通信セッションであってもよい。特定の実施形態において、第1のコンピューティングデバイス101Aは、通信セッションに参加中のコンピューティングデバイスの大多数が、インターネットを通じてメッセージをルートしない互いとの1つまたは複数の通信経路を有していることを検出することができる。この検出が、ハイブリッド通信セッションを開始するためのトリガイベントであってもよい。ハイブリッド通信セッションでは、1つまたは複数の参加中のコンピューティングデバイスは、ローカルに直接到達できないことがある。これらのローカルに到達できないコンピューティングデバイスと通信するために、ローカルな通信経路を有するコンピューティングデバイスは、インターネットに接続された1つまたは複数のデバイスを通じてメッセージをルートすることができる。インターネットに接続されたデバイスは、バックホールポイントと呼ばれることもある。バックホールポイントは、参加中のコンピューティングデバイスのうちの1つであってもよい。特定の実施形態において、バックホールポイントは、Wi-Fiアクセスポイントを含む据え置き型のインフラストラクチャデバイスであってもよい。
図2は、バックホールポイントを含む例示的なハイブリッドワイヤレスメッシュネットワークを示す。
図2に示された、限定ではなく、例として、第1のコンピューティングデバイス201Aと関連付けられた第1のユーザは、第1のコンピューティングデバイス201Aを使用してオンラインビデオゲームをプレイすることができる。第1のユーザは、自分の友人のうちの3人とオンラインビデオゲームをプレイすることができる。オンラインビデオゲームについて、プレーヤと関連付けられたコンピューティングデバイスは、互いに接続されなければならない。第1のコンピューティングデバイス201Aは、2つのコンピューティングデバイス201Bおよび201Cが、インターネット210を通じてルートせずに、ローカルに到達可能なであることを検出することができる。第1のコンピューティングデバイス201Aは、第1のコンピューティングデバイス201Aが、インターネット210を通じてメッセージをルートせずに、コンピューティングデバイス201Bおよび201Cと直接通信すること、ならびにインターネット210を通じてコンピューティングデバイス201Dと通信することを行うハイブリッド通信セッションを開始することができる。コンピューティングデバイス201Bおよび201Cは、
図2に示された例では、第1のコンピューティングデバイス201Aを通じてコンピューティングデバイス201Dと通信する。したがって、第1のコンピューティングデバイス201Aは、ハイブリッドワイヤレスメッシュネットワークにおけるバックホールポイントであってもよい。コンピューティングデバイス201A~201Dは、オンラインソーシャルネットワークのためのクライアントシステム630であってもよい。コンピューティングデバイス201A~201Dは、コンピューティングデバイス201A~201Dが通信セッションを開始し、通信セッションを維持するとき、ソーシャルネットワーキングシステム660のデータストア内の利用可能なデータを利用することができる。限定ではなく、別の例として、第1のコンピューティングデバイス201Aと関連付けられた第1のユーザは、ハイブリッド通信セッションを開始するために、第1のコンピューティングデバイス201Aにオーダを出すことができる。本開示は、特定の手法でハイブリッド通信セッションを開始することを記述するが、本開示は、任意の適切な手法でハイブリッド通信セッションを開始することを想定する。
【0036】
特定の実施形態において、通信セッションは、第1のコンピューティングデバイス101Aが、インターネットを通じてメッセージをルートすることによって、1つまたは複数のコンピューティングデバイスとメッセージを交換することができるオンライン通信セッションであってもよい。第1のコンピューティングデバイス101Aは、1つまたは複数のコンピューティングデバイスと通信する必要性を検出することができる。この検出が、オンライン通信セッションを開始するためのトリガイベントであってもよい。メッセージは、インターネットを通じてルートされるが、参加中のコンピューティングデバイスおよびこれらの対応するユーザは、互いに近くにいてもよい。したがって、近さに基づく信頼は、通信の権限を付与するために利用されてもよい。
図1に示された、限定ではなく、例として、コンピューティングデバイス101A~101Eは、機内Wi-Fiネットワークを介してインターネットにアクセスすることができる。コンピューティングデバイス101A~101Eは、オンライン通信セッションを形成し、インターネットを通じて互いに通信することができる。コンピューティングデバイス101A~101Eは、オンラインソーシャルネットワークのためのクライアントシステム630であってもよい。次に、コンピューティングデバイス101A~101Eは、コンピューティングデバイス101A~101Eが互いを発見し、通信セッションを維持するとき、ソーシャルネットワーキングシステム660のデータストア内の利用可能なデータを利用することができる。本開示は、特定の手法でオンライン通信セッションを開始することを記述するが、本開示は、任意の適切な手法でオンライン通信セッションを開始することを想定する。
【0037】
特定の実施形態において、第1のコンピューティングデバイス101Aは、1つまたは複数のワイヤレス送受信器、および、マイクロフォン、カメラ、ビデオカメラ、または、ユーザの物理対話をとらえる任意の適切なセンサを含む1つまたは複数のセンサを含んでもよい。第1のコンピューティングデバイス101Aは、2つ以上のワイヤレスネットワークに同時にアクセスできるものであってもよい。第1のコンピューティングデバイス101Aは、通信セッション中、2つ以上のワイヤレスネットワークを通信のために使用することができる。第1のコンピューティングデバイス101Aは、第3のコンピューティングデバイス101CとWi-Fiネットワークで通信しながら、第2のコンピューティングデバイス101BとBluetoothネットワークで通信することができる。第1のコンピューティングデバイス101Aはモバイルデバイスなので、第1のコンピューティングデバイス101Aは、少なくとも1つのワイヤレス送受信器を備えている可能性がある。最も現代的なモバイルデバイスのように、第1のコンピューティングデバイス101Aは、ユーザの物理対話をとらえることができる1つまたは複数のセンサを備えている可能性がある。限定ではなく、例として、第1のコンピューティングデバイス101Aは、セルラー無線送受信器、Wi-Fi無線送受信器、およびBluetooth無線送受信器を装備したスマートフォンであってもよい。第1のコンピューティングデバイス101Aは、異なるワイヤレスネットワークを通じて同時に複数の通信ピアと通信することができる。第1のコンピューティングデバイス101Aは、ユーザの会話を検知することができるマイクロフォン、ならびに、ユーザとユーザの動きの両方の静止画像をとらえることができるカメラをさらに装備されてもよい。第1のコンピューティングデバイス101Aは、機械学習(ML)技法を利用することができる物理対話分析モジュールを含んでもよい。特定の実施形態において、物理対話分析モジュールは、MLベースの自然言語処理アルゴリズムを使用してユーザの会話を分析することができる。特定の実施形態において、物理対話分析モジュールは、MLベースの画像検出アルゴリズムを使用して、ユーザのとらえた画像を分析することができる。特定の実施形態において、物理対話分析モジュールは、MLベースの動き検出アルゴリズムを使用して、ユーザのとらえた動きを分析することができる。物理対話分析モジュールは、スタンドアロンで分析を行ってもよい。特定の実施形態において、物理対話分析モジュールは、サーバと通信することによって分析を行ってもよい。本開示は、特定の手法で、1つまたは複数の無線送受信器、および1つまたは複数のセンサを装備することを記述するが、本開示は、任意の適切な手法で、1つまたは複数の無線送受信器、および1つまたは複数のセンサを装備することを想定する。
【0038】
特定の実施形態において、第1のコンピューティングデバイス101Aは、Bluetooth Low Energy(BLE)発見プロトコルなどのワイヤレス発見プロトコルを使用して、近くにある第2のユーザと関連付けられた第2のコンピューティングデバイス101Bを発見することができる。第1のコンピューティングデバイス101Aは、オフライン通信セッションを確立するために、第2のコンピューティングデバイス101Bを発見することができる。特定の実施形態において、第1のコンピューティングデバイス101Aは、オンライン通信セッションを確立するときでも、近くにある第2のコンピューティングデバイス101Bを発見することができる。特定の実施形態において、第1のコンピューティングデバイス101Aと第2のコンピューティングデバイス101Bの両方は、オンラインソーシャルネットワークのクライアントシステム630であってもよい。このような状況では、第1のコンピューティングデバイス101Aは、第2のコンピューティングデバイス101Bが近くにあるという、ソーシャルネットワーキングシステム660からの指示を受け取ることができる。ソーシャルネットワーキングシステム660からの指示は、第2のユーザおよび第2のコンピューティングデバイス101Bと関連付けられた追加情報を含んでもよい。第1のコンピューティングデバイス101Aは、近くにあるいずれかのコンピューティングデバイスを発見することができる。特定の実施形態において、第1のコンピューティングデバイス101Aは、第1のコンピューティングデバイス101Aとの、特定の話題についての通信に興味を示す近くにあるコンピューティングデバイスだけを発見することができる。
図1に示された、限定ではなく、例として、第1のコンピューティングデバイス101Aは、BLE発見プロトコルを使用して、近くにあるコンピューティングデバイスを発見することができる。第1のコンピューティングデバイス101Aは、第1のコンピューティングデバイス101Aとの、フットボールゲームついての通信に興味を示すコンピューティングデバイスだけを発見することができる。限定ではなく、別の例として、第1のコンピューティングデバイス101Aは、インターネットが到達可能ではないということを第1のコンピューティングデバイス101Aが検出するので、BLE発見プロトコルを使用して、近くにあるコンピューティングデバイスを発見することができる。この状況は、災害または緊急の状況に関連し得るので、第1のコンピューティングデバイス101Aは、近くにあるいずれかのコンピューティングデバイスを発見することができる。限定ではなく、さらに別の例として、第1のコンピューティングデバイス101Aと関連付けられた第1のユーザは、コーヒーショップに入る可能性がある。第1のユーザは、自分の友人を待っている間、コーヒーについてチャットしたいと思う可能性がある。第1のコンピューティングデバイス101Aは、ソーシャルネットワーキングシステム660にリクエストを送ることができる。ソーシャルネットワーキングシステム660は、コーヒーに興味があるコーヒーショップ内のオンラインソーシャルネットワークユーザのリストを含むレスポンスを送ることができる。第1のコンピューティングデバイス101Aは、応答メッセージ内で識別したユーザに招待状を送ることができる。本開示は、特定の手法で通信ピアを発見することを記述するが、本開示は、任意の適切な手法で通信ピアを発見することを想定する。
【0039】
図3は、通信ピアに対する信頼点数を決定するための例示的なフローを示す。特定の実施形態において、第1のコンピューティングデバイス101Aは、ステップ310において、第2のコンピューティングデバイス101Bを通信ピアとして決定することができる。特定の実施形態において、第1のコンピューティングデバイス101Aは、ステップ320において、第2のコンピューティングデバイス101Bに対する初期の信頼点数を決定することができる。第1のコンピューティングデバイス101Aによる第2のコンピューティングデバイス101Bに対する信頼点数は、第1のコンピューティングデバイス101Aの観点からの、第2のコンピューティングデバイス101Bのある程度の信頼性を示すことができる。第1のコンピューティングデバイス101Aは、第2のコンピューティングデバイス101Bに対する信頼点数が送信のための閾値を満たすときだけ、第2のコンピューティングデバイス101Bにメッセージを送ることができる。さらに、第1のコンピューティングデバイス101Aは、第2のコンピューティングデバイス101Bに対する信頼点数が受信のための別の閾値を満たさない場合、第2のコンピューティングデバイス101Bから受け取ったメッセージを捨てることができる。特定の実施形態において、第2のコンピューティングデバイス101Bに対する初期の信頼点数について、第1のコンピューティングデバイス101Aは、以前のオフライン通信セッション中に第2のコンピューティングデバイス101Bに対して以前使用した信頼点数301に、信頼点数を設定することができる。第1のコンピューティングデバイス101Aが、ステップ310において、第2のコンピューティングデバイス101Bを通信ピアとして決定した後、第1のコンピューティングデバイス101Aは、第2のコンピューティングデバイス101Bがかつて通信ピアだったことがあるかどうかを判断するために、レコードを探索することができる。第1のコンピューティングデバイス101Aが第2のコンピューティングデバイス101Bに関するレコードを見つけると、第1のコンピューティングデバイス101Aは、第2のコンピューティングデバイス101Bに対して以前使用した信頼点数301に、信頼点数を設定することができる。限定ではなく、例として、コーヒーショップについての前の例を続けると、第2のコンピューティングデバイス101Bは、第1のコンピューティングデバイス101Aからの招待状を受け入れることができる。第1のコンピューティングデバイス101Aは、第2のコンピューティングデバイス101Bと関連付けられた履歴メッセージングセッションレコードをリクエストするメッセージを、ソーシャルネットワーキングシステム660に送ることができる。ソーシャルネットワーキングシステム660は、第1のコンピューティングデバイス101Aと第2のコンピューティングデバイス101Bとの間の以前のメッセージングセッションのレコードを探索することができる。ソーシャルネットワーキングシステム660は、第1のコンピューティングデバイス101Aと第2のコンピューティングデバイス101Bとの間の以前のメッセージングセッションのリストを含む応答メッセージを、第1のコンピューティングデバイス101Aに送ることができる。リストは、第2のコンピューティングデバイス101Bに対する信頼点数を含む各メッセージングセッションの詳細を含むことができる。第1のコンピューティングデバイス101Aが、いずれかの以前のメッセージングセッションレコードを含むレスポンスを受け取ると、第1のコンピューティングデバイス101Aは、第2のコンピューティングデバイス101Bに対する信頼点数を、最後に使用した信頼点数301に設定することができる。特定の実施形態において、第1のコンピューティングデバイス101Aは、最後のメッセージセッションが閾値より早く発生した場合、応答メッセージ内のレコードを無視することができる。限定ではなく、別の例として、飛行機についての前の例を続けると、第1のコンピューティングデバイス101Aは、BLE発見プロトコルを使用して、第2のコンピューティングデバイス101Bを発見することができる。第2のコンピューティングデバイスを識別した後、第1のコンピューティングデバイス101Aは、ローカルメモリからの以前のオフライン通信セッションのレコード上で、第2のコンピューティングデバイス101Bの識別子を探索することができる。第2のコンピューティングデバイス101Bが参加したオフライン通信セッションについてのレコードを第1のコンピューティングデバイス101Aが見つけると、第1のコンピューティングデバイス101Aは、以前に使用した信頼点数301に信頼点数を設定することができる。特定の実施形態において、第1のコンピューティングデバイス101Aは、レコードが閾値より古い場合、レコードを無視することができる。本開示は、特定の手法で、通信ピアに対して以前に使用した信頼点数に基づいて、通信ピアに対する初期の信頼点数を決定することを記述するが、本開示は、任意の適切な手法で、通信ピアに対して以前に使用した信頼点数に基づいて、通信ピアに対する初期の信頼点数を決定することを想定する。
【0040】
特定の実施形態において、第1のコンピューティングデバイス101Aは、第2のコンピューティングデバイス101Bに対する信頼点数値を、第3のコンピューティングデバイス101Cから受け取ることができる。第1のコンピューティングデバイス101Aは、第3のコンピューティングデバイスに対する信頼点数が閾値を満たす場合、第2のコンピューティングデバイス101Bに対する信頼点数を、受け取った信頼点数値302に設定することができる。限定ではなく、例として、飛行機についての前の例を続けると、第1のコンピューティングデバイス101Aと関連付けられた第1のユーザは、第3のコンピューティングデバイス101Cと関連付けられた第3のユーザの友人であってもよい。第2のコンピューティングデバイスと関連付けられた第2のユーザは、第3のユーザの同僚である。第1のコンピューティングデバイス101Aが、第2のコンピューティングデバイス101Bを発見するとき、第1のコンピューティングデバイス101Aは、第2のコンピューティングデバイスと関連付けられた以前のいずれのレコードも有していない可能性があるが、第1のコンピューティングデバイス101Aは、第3のユーザが第1のユーザの友人なので、第3のコンピューティングデバイス101Cと関連付けられたレコードを有している可能性がある。第3のコンピューティングデバイス101Cは、第1のコンピューティングデバイス101Aと第2のコンピューティングデバイス101Bの両方と関連付けられたレコードを有している可能性がある。第1のコンピューティングデバイス101Aは、第2のコンピューティングデバイス101Bに対する信頼点数を、第3のコンピューティングデバイス101Cから受け取ることができる。第1のコンピューティングデバイス101Aによる第3のコンピューティングデバイス101Cに対する信頼点数は、以前のオフラインメッセージングセッションのレコードに基づいて決定されてもよく、閾値より高くてもよい。第1のコンピューティングデバイスは、第3のコンピューティングデバイス101Cに対する信頼点数が閾値より高いので、第3のコンピューティングデバイスから受け取った信頼点数302に、第2のコンピューティングデバイス101Bに対する信頼点数を設定することができる。本開示は、特定の手法で、信頼できる第三者のピアから受け取った情報に基づいて、通信ピアに対する初期の信頼点数を決定することを記述するが、本開示は、任意の適切な手法で、信頼できる第三者のピアから受け取った情報に基づいて、通信ピアに対する初期の信頼点数を決定することを想定する。
【0041】
特定の実施形態において、第1のコンピューティングデバイス101Aは、第1のコンピューティングデバイス101Aと第2のコンピューティングデバイス101Bとの間の共通の興味を識別し、識別した共通の興味に基づいて、第2のコンピューティングデバイス101Bに対する初期の信頼点数を決定することができる。特定の実施形態において、第1のコンピューティングデバイス101Aは、発見処理中に集められた情報303に基づいて、共通の興味を識別することができる。限定ではなく、例として、飛行機についての前の例を続けると、第1のコンピューティングデバイス101Aは、フットボールゲームについてチャットするために、オフラインメッセージングセッションのための発見処理を行ってもよい。第1のコンピューティングデバイス101Aは、発見リクエストに応答したコンピューティングデバイスがフットボールゲームについて話すことに興味があると考えることができる。第1のコンピューティングデバイス101Aは、応答したコンピューティングデバイスに対する信頼点数を、所定の値に設定することができる。所定の値は、第1のコンピューティングデバイス101Aが、応答したコンピューティングデバイスと、フットボールゲームについてのメッセージを交換できるようにする値であってもよい。限定ではなく、別の例として、コーヒーショップについての前の例を続けると、第1のコンピューティングデバイス101Aは、コーヒーに興味があるユーザと関連付けられた、コーヒーショップ内のコンピューティングデバイスのリストをソーシャルネットワーキングシステム660から受け取ることができる。第1のコンピューティングデバイスは、リスト内のコンピューティングデバイスに対する信頼点数を、所定の値に設定することができる。所定の値は、第1のコンピューティングデバイス101Aが、リスト内のコンピューティングデバイスと、コーヒーについてメッセージを交換できるようにする値であってもよい。特定の実施形態において、第1のコンピューティングデバイス101Aは、第1のコンピューティングデバイス101Aと第2のコンピューティングデバイス101Bの両方にインストールされた共通のアプリケーション304に基づいて、共通の興味を識別することができる。限定ではなく、例として、まもなく起こるイベントに関するアプリケーションが、第1のコンピューティングデバイス101Aと第2のコンピューティングデバイス101Bの両方にインストールされている可能性がある。両方のコンピューティングデバイスにインストールされたアプリケーションは、コンピューティングデバイスのユーザがイベントに出席することに興味があることを示すことができる。第2のコンピューティングデバイス101Bが共通のアプリケーションをインストールしていることを第1のコンピューティングデバイス101Aが見つけ出すと、第1のコンピューティングデバイス101Aは、第2のコンピューティングデバイスに対する信頼点数を、所定の値に設定することができる。所定の値は、第1のコンピューティングデバイス101Aが、第2のコンピューティングデバイス101Bと、イベントについてメッセージを交換できるようにする値であってもよい。特定の実施形態において、第1のコンピューティングデバイス101Aは、第1のコンピューティングデバイス101Aと第2のコンピューティングデバイス101Bの両方に格納された共通のデータ305に基づいて、共通の興味を識別することができる。限定ではなく、例として、まもなく起こるイベントに関する共通のカレンダ項目が、第1のコンピューティングデバイス101Aと第2のコンピューティングデバイス101Bの両方に対するものであってもよい。両方のデバイス上のイベントに関する共通のカレンダ項目は、両方のデバイスのユーザがイベントに出席することに興味があることを示すことができる。第2のコンピューティングデバイス101Bが共通のカレンダ項目を有していることを第1のコンピューティングデバイス101Aが見つけ出すと、第1のコンピューティングデバイス101Aは、第2のコンピューティングデバイスに対する信頼点数を、所定の値に設定することができる。所定の値は、第1のコンピューティングデバイス101Aが、第2のコンピューティングデバイス101Bとイベントについてメッセージを交換できるようにする値であってもよい。本開示は、特定の手法で、共通の興味に基づいて、通信ピアに対する初期の信頼点数を決定することを記述するが、本開示は、任意の適切な手法で、共通の興味に基づいて、通信ピアに対する初期の信頼点数を決定することを想定する。
【0042】
特定の実施形態において、第1のコンピューティングデバイス101Aは、第1のユーザと第2のユーザとの間の物理対話を、1つまたは複数のセンサを使用して検知することができ、ここで、第1のユーザは、第1のコンピューティングデバイス101Aと関連付けられ、第2のユーザは、第2のコンピューティングデバイス101Bと関連付けられる。物理対話は、会話、握手、手を振ること、または、任意の利用可能なセンサによってとらえることができる任意の適切な人間対話を含んでもよい。限定ではなく、例として、第1のコンピューティングデバイス101Aは、マイクロフォンを装備してもよい。第1のコンピューティングデバイス101Aと関連付けられた第1のユーザ、および第2のコンピューティングデバイス101Bと関連付けられた第2のユーザは、互いに近くにいてもよい。第1のコンピューティングデバイス101Aおよび第2のコンピューティングデバイス101Bが通信セッションを開始すると、第1のコンピューティングデバイス101Aは、装備したマイクロフォンを使用して、第1のユーザと第2のユーザとの間の会話を検知することができる。会話を分析するために、第1のコンピューティングデバイス101Aは、MLベースの自然言語処理アルゴリズムを利用することができる。限定ではなく、別の例として、前の例を続けると、第1のコンピューティングデバイスは、モーションキャプチャカメラをさらに装備してもよい。第1のコンピューティングデバイス101Aと第2のコンピューティングデバイス101Bとの間の通信セッションが続いている間、第1のコンピューティングデバイス101Aは、第1のユーザと第2のユーザとの間の物理対話を、カメラを使用して検知することができる。物理対話は、握手、ハグ、手を振ること、または任意の適切な物理対話を含んでもよい。第1のコンピューティングデバイス101Aは、MLベースの動き検出アルゴリズムを利用して、対話を分析することができる。本開示は、特定の手法で、ユーザ間の物理対話を検知することを記述するが、本開示は、任意の適切な手法で、ユーザ間の物理対話を検知することを想定する。
【0043】
特定の実施形態において、第1のコンピューティングデバイス101Aは、第1のユーザと第2のユーザとの間の検知した物理対話306に少なくとも基づいて、第2のコンピューティングデバイス101Bに対する信頼点数を調節することができる。通信セッションの全体を通して、第1のコンピューティングデバイス101Aは、ステップ330において、第2のコンピューティングデバイス101Bに対する信頼点数を調節することが必要であるかどうかをチェックし続けることができる。調節が必要なとき、第1のコンピューティングデバイス101Aは、ステップ340において、第2のコンピューティングデバイス101Bに対する信頼点数を適宜調節することができる。限定ではなく、例として、マイクロフォンについての前の例を続けると、第1のコンピューティングデバイス101Aは、第1のユーザと第2のユーザとの間の会話が閾値より長く続いていることを検知することができる。閾値より長い会話は、第1のユーザと第2のユーザが信頼を確立する可能性があることを示すことができるので、第1のコンピューティングデバイス101Aは、第2のコンピューティングデバイス101Bに対する信頼点数を上げてもよい。閾値は、現在の信頼点数値に依存していてもよい。現在の信頼点数が高い場合、閾値は長くてもよい。限定ではなく、別の例として、第1のコンピューティングデバイス101Aは、会話の状況に基づいて、第2のコンピューティングデバイス101Bに対する信頼点数を調節することができる。会話は、MLベースの自然言語処理を使用して分析されてもよい。限定ではなく、さらに別の例として、モーションキャプチャカメラについての前の例を続けると、第1のコンピューティングデバイス101Aは、第1のユーザと第2のユーザが握手することを検出することができる。第1のコンピューティングデバイス101Aは、ユーザが信頼を確立したことを握手が示すことができるので、第2のコンピューティングデバイス101Bに対する信頼点数を上げてもよい。第1のコンピューティングデバイス101Aは、MLベースの動き検出アルゴリズムを利用して、とらえられた動きを分析することができる。第1のコンピューティングデバイス101Aは、スタンドアロンモードで物理対話を分析することができる。特定の実施形態において、第1のコンピューティングデバイス101Aは、サーバと通信することによって物理対話を分析してもよい。本開示は、特定の手法で、ユーザ間の検知した物理対話に基づいて、通信ピアに対する信頼点数を調節することを記述するが、本開示は、任意の適切な手法で、ユーザ間の検知した物理対話に基づいて、通信ピアに対する信頼点数を調節することを想定する。
【0044】
特定の実施形態において、第1のコンピューティングデバイス101Aは、第2のコンピューティングデバイス101Bが第1のコンピューティングデバイス101Aの近くにある時間に基づいて、第2のコンピューティングデバイス101Bに対する信頼点数を調節してもよい。ユーザは、ユーザが互いに近くにいる間、信頼を構築する機会がある可能性がある。したがって、ユーザが互いに近くにいる時間が長ければ長いほど、信頼点数が高くなる。限定ではなく、例として、第1のコンピューティングデバイス101Aは、第2のコンピューティングデバイス101Bが閾値より長く近くにあったことを検出することができる。閾値は、第2のコンピューティングデバイス101Bに対する現在の信頼点数に依存してもよい。第1のコンピューティングデバイスは、ステップ330において、第2のコンピューティングデバイス101Bに対する信頼点数が調節される必要があると判断することができる。第1のコンピューティングデバイスは、ステップ340において、第2のコンピューティングデバイス101Bに対する信頼点数を、近さデータ(proximity data)307に基づいて上げることができる。限定ではなく、別の例として、第1のコンピューティングデバイス101Aは、第2のコンピューティングデバイス101Bが別の閾値より長く近くになかったことを検出することができる。閾値は、第2のコンピューティングデバイス101Bに対する現在の信頼点数に依存してもよい。第1のコンピューティングデバイスは、ステップ330において、第2のコンピューティングデバイス101Bに対する信頼点数が調節される必要があると判断することができる。第1のコンピューティングデバイスは、ステップ340において、第2のコンピューティングデバイス101Bに対する信頼点数を、近さデータ307に基づいて下げることができる。本開示は、特定の手法で、近さデータに基づいて、通信ピアに対する信頼点数を調節することを記述するが、本開示は、任意の適切な手法で、近さデータに基づいて、通信ピアに対する信頼点数を調節することを想定する。
【0045】
図4は、信頼点数に基づく権限付与を伴うメッセージ配信の例を示す。特定の実施形態において、第1のコンピューティングデバイス101Aは、ステップ410において、第2のコンピューティングデバイス101Bにセキュリティキーを発行することができる。第2のコンピューティングデバイス101Bは、セキュリティキーを使用して、第1のコンピューティングデバイス101Aによって送られたメッセージを解読することができる。特定の実施形態において、セキュリティキーは、低水準のセキュリティキーで暗号化されたメッセージを高水準のセキュリティキーが解読できるが、高水準のセキュリティキーで暗号化されたメッセージを低水準のセキュリティキーが解読できないように、階層式構造を有していてもよい。第2のコンピューティングデバイス101Bに発行されたセキュリティキーは、第2のコンピューティングデバイス101Bに対する現在の信頼点数に依存してもよい。第2のコンピューティングデバイス101Bに対する信頼点数に基づいてセキュリティキーを発行することによって、第1のコンピューティングデバイス101Aは、高水準のセキュリティキーによってメッセージが暗号化される場合、第2のコンピューティングデバイス101Bがメッセージを確実に解読できないようにすることができる。限定ではなく、例として、第1のコンピューティングデバイス101Aは、第2のコンピューティングデバイス101Bとの通信セッションを開始することができる。第2のコンピューティングデバイス101Bに対する初期の信頼点数を決定した後、第1のコンピューティングデバイス101Aは、ステップ410において、第2のコンピューティングデバイス101Bにセキュリティキーを発行することができる。本開示は、特定の手法で、まもなく起こる通信のためにセキュリティキーを発行することを記述するが、本開示は、任意の適切な手法で、まもなく起こる通信のためにセキュリティキーを発行することを想定する。
【0046】
特定の実施形態において、第1のコンピューティングデバイス101Aは、ステップ420において、第2のコンピューティングデバイス101Bに送られることになるメッセージを検出することができる。メッセージは、メッセージの1つまたは複数の意図される受け手を識別する1つまたは複数の識別子、送り手の識別子、およびペイロードを含むことができる。第1のコンピューティングデバイスは、1つまたは複数の識別子に基づいて、メッセージが第2のコンピューティングデバイスに向かうことになると決定することができる。特定の実施形態において、1つまたは複数の識別子のうちの1つは、第2のコンピューティングデバイス101Bが属するグループの識別子であってもよい。第1のコンピューティングデバイス101Aは、ステップ430において、第2のコンピューティングデバイスに対する現在の信頼点数が、送信されることになるメッセージのための閾値を満たすことを確認することができる。通信セッションは、適格な受け手であるのに最低限必要な信頼点数と関連付けられてもよい。このような状況では、通信セッションと関連付けられた最低限必要な信頼点数が閾値であってもよい。特定の実施形態において、各メッセージは、適格な受け手であるのに最低限必要な信頼点数と関連付けられてもよい。メッセージは、受け手が有する必要がある最低限必要な信頼点数をさらに含んでもよい。このような状況では、メッセージと関連付けられた適格な受け手であるのに最低限必要な信頼点数が閾値であってもよい。第1のコンピューティングデバイス101Aは、第2のコンピューティングデバイス101Bに対する現在の信頼点数が閾値を満たす場合、ステップ440において、第2のコンピューティングデバイス101Bに第1のメッセージを送ることができる。限定ではなく、例として、飛行機についての前の例を続けると、第1のコンピューティングデバイス101Aは、フットボールゲームについてチャットするためにオフライン通信セッションを確立することができる。通信セッションの目的は、カジュアルな話題についてチャットすることだけなので、通信セッションは、適格な受け手であるのに最低限必要な低い信頼点数と関連付けられてもよい。第1のコンピューティングデバイスによる、参加中のコンピューティングデバイス全てに対する初期の信頼点数は、通信セッションと関連付けられた適格な受け手であるのに最低限必要な信頼点数を満たしてもよい。第1のコンピューティングデバイス101Aは、第2のコンピューティングデバイス101Bに対する信頼点数が閾値を満たすと、第2のコンピューティングデバイス101Bにメッセージを送ることができる。限定ではなく、別の例として、第1のユーザと関連付けられた第1のコンピューティングデバイス101Aは、第1のユーザの同僚である第2のユーザと関連付けられた第2のコンピューティングデバイス101Bと開始することができる。ユーザは、分類されたプロジェクトに関するメッセージを交換してもよい。各メッセージは、適格な受け手であるのに必要な最低限の信頼点数と関連付けられてもよい。第1のユーザと第2のユーザは一緒に作業することが多いので、近さに基づく相互の信頼点数は、メッセージと関連付けられた適格な受け手であるのに最低限必要な信頼点数を満たすことができる。第1のコンピューティングデバイス101Aがメッセージに対する添付ファイルを送る場合、メッセージと関連付けられた適格な受け手であるのに最低限必要な信頼点数は、他のメッセージの信頼点数より高くなってもよい。本開示は、特定の手法で、受け手の信頼点数に基づいて、送信する権限を付与することを記述するが、本開示は、任意の適切な手法で、受け手の信頼点数に基づいて、送信する権限を付与することを想定する。
【0047】
特定の実施形態において、第2のコンピューティングデバイス101Bは、ステップ450において、第1のコンピューティングデバイス101Aからメッセージを受け取ることができる。第2のコンピューティングデバイス101Bは、メッセージ上の受け手の1つまたは複数の識別子に基づいて、第2のコンピューティングデバイス101Bが1つまたは複数の意図される受け手の一部であると判断することができる。第2のコンピューティングデバイス101Bは、メッセージからの送り手の識別子に基づいて、第1のコンピューティングデバイス101Aが送り手であると判断することができる。第1のコンピューティングデバイス101Aは、ステップ450において、第1のコンピューティングデバイス101Aに対する現在の信頼点数が、受け取られることになるメッセージのための閾値を満たすかどうかを判断することができる。判断に応じて、第2のコンピューティングデバイス101Bは、ステップ410において受け取ったセキュリティキーを使用して、ステップ460においてメッセージをデコードすることができる。第2のコンピューティングデバイス101Bは、ステップ470において、メッセージのペイロードを第2のユーザに提示することができる。通信セッションは、適格な送り手であるのに最低限必要な信頼点数と関連付けられてもよい。このような状況では、通信セッションと関連付けられた適格な送り手であるのに最低限必要な信頼点数が閾値であってもよい。特定の実施形態において、各メッセージは、適格な送り手であるのに最低限必要な信頼点数と関連付けられてもよい。メッセージは、適格な送り手であるのに最低限必要な信頼点数をさらに含むことができる。このような状況では、メッセージと関連付けられた適格な送り手であるのに最低限必要な信頼点数が閾値であってもよい。本開示は、特定の手法で、送り手の信頼点数に基づいて、受信する権限を付与することを記述するが、本開示は、任意の適切な手法で、送り手の信頼点数に基づいて、受信する権限を付与することを想定する。
【0048】
図5は、信頼点数に基づいてメッセージを送るための例示的な方法500を示す。方法は、ステップ510において始めることができ、ここで、第1のユーザと関連付けられた第1のコンピューティングデバイスは、第2のユーザと関連付けられた第2のコンピューティングデバイスとの通信セッションを開始するためのトリガイベントを検出し、第1のコンピューティングデバイスが、1つまたは複数のワイヤレス送受信器、および1つまたは複数のセンサを備える。ステップ520において、第1のコンピューティングデバイスは、第2のコンピューティングデバイスに対する初期の信頼点数を決定する。ステップ530において、第1のコンピューティングデバイスは、第1のユーザと第2のユーザとの間の物理対話を、1つまたは複数のセンサを使用して検知する。ステップ540において、第1のコンピューティングデバイスは、検知した物理対話に少なくとも基づいて、第2のコンピューティングデバイスに対する信頼点数を調節する。ステップ550において、第1のコンピューティングデバイスは、第2のコンピューティングデバイスに対する調節した信頼点数が第1の閾値を満たす場合、第2のコンピューティングデバイスに第1のメッセージを送る。特定の実施形態は、適正な場合、
図5の方法の1つまたは複数のステップを繰り返してもよい。本開示は、特定の順序で発生するものとして
図5の方法の特定のステップを説明し、示しているが、本開示は、
図5の方法の任意の適切なステップが、任意の適切な順序で発生することを想定する。さらに、本開示は、
図5の方法の特定のステップを含む、信頼点数に基づいてメッセージを送るための方法の例を説明し、示しているが、本開示は、適正な場合、
図5の方法のステップの全て、もしくはいくつかを含むこと、またはこれらのステップのいずれも含まないことが可能な、任意の適切なステップを含む、信頼点数に基づいてメッセージを送るための任意の適切な方法を想定する。さらに、本開示は、特定の構成要素、デバイス、またはシステムが、
図5の方法の特定のステップを実行することを説明し、示しているが、本開示は、任意の適切な構成要素、デバイス、またはシステムの任意の適切な組合せが、
図5の方法の任意の適切なステップを実行することを想定する。
【0049】
システムの全体像
図6は、ソーシャルネットワーキングシステムと関連付けられた例示的なネットワーク環境600を示している。ネットワーク環境600は、ネットワーク610によって互いに接続されたクライアントシステム630、ソーシャルネットワーキングシステム660、およびサードパーティシステム670を含む。
図6は、クライアントシステム630、ソーシャルネットワーキングシステム660、サードパーティシステム670、およびネットワーク610の特定の配置を示しているが、本開示は、クライアントシステム630、ソーシャルネットワーキングシステム660、サードパーティシステム670、およびネットワーク610の任意の適切な配置を想定する。限定ではなく、例として、クライアントシステム630、ソーシャルネットワーキングシステム660、およびサードパーティシステム670のうちの2つ以上が、ネットワーク610を迂回して、互いに直接的に接続されることが可能である。別の例として、クライアントシステム630、ソーシャルネットワーキングシステム660、およびサードパーティシステム670のうちの2つ以上が、全体的または部分的に、物理的または論理的に互いに同じ場所に配置されることが可能である。さらに、
図6は、特定の数のクライアントシステム630、ソーシャルネットワーキングシステム660、サードパーティシステム670、およびネットワーク610を示しているが、本開示は、任意の適切な数のクライアントシステム630、ソーシャルネットワーキングシステム660、サードパーティシステム670、およびネットワーク610を想定する。限定ではなく、例として、ネットワーク環境600は、複数のクライアントシステム630、ソーシャルネットワーキングシステム660、サードパーティシステム670、およびネットワーク610を含むことができる。
【0050】
本開示は、任意の適切なネットワーク610を想定する。限定ではなく、例として、ネットワーク610の1つまたは複数の部分は、アドホックネットワーク、イントラネット、エクストラネット、仮想プライベートネットワーク(VPN)、ローカルエリアネットワーク(LAN)、ワイヤレスLAN(WLAN)、広域ネットワーク(WAN)、ワイヤレスWAN(WWAN)、メトロポリタンエリアネットワーク(MAN)、インターネットの一部、公衆交換電話網(PSTN)の一部、セルラー電話ネットワーク、またはこれらのうちの2つ以上の組合せを含むことができる。ネットワーク610は、1つまたは複数のネットワーク610を含むことができる。
【0051】
リンク650は、クライアントシステム630、ソーシャルネットワーキングシステム660、およびサードパーティシステム670を通信ネットワーク610に、または互いに接続することができる。本開示は、任意の適切なリンク650を想定する。特定の実施形態において、1つまたは複数のリンク650は、1つまたは複数の有線リンク(例えば、デジタル加入者線(DSL)、もしくはデータオーバーケーブルサービスインターフェース仕様(DOCSIS)など)、ワイヤレスリンク(例えば、Wi-Fi、もしくはワールドワイドインターオペラビリティフォーマイクロウェーブアクセス(WiMAX)など)、または光リンク(例えば、同期光ネットワーク(SONET)、もしくは同期デジタル階層(SDH)など)を含む。特定の実施形態において、1つまたは複数のリンク650はそれぞれ、アドホックネットワーク、イントラネット、エクストラネット、VPN、LAN、WLAN、WAN、WWAN、MAN、インターネットの一部、PSTNの一部、セルラー技術ベースのネットワーク、衛星通信技術ベースのネットワーク、別のリンク650、または2つ以上のこのようなリンク650の組合せを含む。リンク650は、ネットワーク環境600の全体を通して必ずしも同じである必要はない。1つまたは複数の第1のリンク650は、1つまたは複数の第2のリンク650とは1つまたは複数の点で相違してよい。
【0052】
特定の実施形態において、クライアントシステム630は、ハードウェア、ソフトウェア、もしくは埋め込み式ロジックコンポーネント、または2つ以上のこのようなコンポーネントの組合せを含む電子デバイスであってよく、クライアントシステム630によって実装またはサポートされる適正な機能を実行することができる。限定ではなく、例として、クライアントシステム630は、デスクトップコンピュータ、ノートブックもしくはラップトップコンピュータ、ネットブック、タブレット型コンピュータ、eブックリーダ、GPSデバイス、カメラ、パーソナルデジタルアシスタント(PDA)、ハンドヘルド電子デバイス、セルラー電話、スマートフォン、拡張現実デバイス/仮想現実デバイス、他の適切な電子デバイス、またはこれらの任意の適切な組合せなどのコンピュータシステムを含むことができる。本開示は、任意の適切なクライアントシステム630を想定する。クライアントシステム630は、クライアントシステム630のネットワークユーザがネットワーク610にアクセスすることを可能にすることができる。クライアントシステム630は、このユーザが、他のクライアントシステム630の他のユーザと通信することを可能にすることができる。
【0053】
特定の実施形態において、クライアントシステム630は、MICROSOFT INTERNET EXPLORER、GOOGLE CHROME、またはMOZILLA FIREFOXなどのウェブブラウザ632を含むことができ、1つまたは複数のアドオン、プラグイン、またはTOOLBARもしくはYAHOO TOOLBARなどの他の拡張を有することができる。クライアントシステム630のユーザは、ユニフォームリソースロケータ(URL)、またはウェブブラウザ632を特定のサーバ(サーバ662、もしくはサードパーティシステム670と関連付けられたサーバなど)に導く他のアドレスを入力することができ、ウェブブラウザ632は、ハイパーテキスト転送プロトコル(HTTP)要求を生成し、HTTP要求をサーバに通信することができる。サーバは、HTTP要求を受け入れ、HTTP要求に応答して、1つまたは複数のハイパーテキストマークアップ言語(HTML)ファイルをクライアントシステム630に通信することができる。クライアントシステム630は、ユーザに提示するために、サーバからのHTMLファイルに基づいてウェブページをレンダリングすることができる。本開示は、任意の適切なウェブページファイルを想定する。限定ではなく、例として、ウェブページは、特定のニーズに従って、HTMLファイル、拡張可能ハイパーテキストマークアップ言語(XHTML)ファイル、または拡張可能マークアップ言語(XML)ファイルからレンダリングすることができる。このようなページは、限定ではなく、例として、JAVASCRIPT、JAVA、MICROSOFT SILVERLIGHTで書かれたスクリプトなどのスクリプト、AJAX(Asynchronous JAVASCRIPTおよびXML)などのマークアップ言語とスクリプトの組合せ、ならびに同様のものを実行することもできる。本明細書において、ウェブページへの言及は、適正な場合、(ウェブページをレンダリングするためにブラウザが使用できる)1つまたは複数の対応するウェブページファイルを含み、逆もまた同様である。
【0054】
特定の実施形態において、ソーシャルネットワーキングシステム660は、オンラインソーシャルネットワークをホストできるネットワークアドレス可能なコンピューティングシステムであってよい。ソーシャルネットワーキングシステム660は、例えば、ユーザプロフィールデータ、コンセプトプロフィールデータ、ソーシャルグラフ情報、またはオンラインソーシャルネットワークに関連した他の適切なデータなどのソーシャルネットワーキングデータを生成すること、格納すること、受け取ること、および送付することができる。ソーシャルネットワーキングシステム660は、ネットワーク環境600の他の構成要素によって、直接的に、またはネットワーク610を介してアクセスされることが可能である。例として、しかし限定のためではなく、クライアントシステム630は、直接的に、またはネットワーク610を介して、ウェブブラウザ632、またはソーシャルネットワーキングシステム660と関連付けられたネイティブアプリケーション(例えば、モバイルソーシャルネットワーキングアプリケーション、メッセージングアプリケーション、別の適切なアプリケーション、またはこれらの任意の組合せ)を使用して、ソーシャルネットワーキングシステム660にアクセスすることができる。特定の実施形態において、ソーシャルネットワーキングシステム660は、1つまたは複数のサーバ662を含むことができる。各サーバ662は、単一のサーバ、または複数のコンピュータもしくは複数のデータセンタに及ぶ分散型サーバであってよい。サーバ662は、限定ではなく、例として、ウェブサーバ、ニュースサーバ、メールサーバ、メッセージサーバ、広告サーバ、ファイルサーバ、アプリケーションサーバ、交換サーバ(exchange server)、データベースサーバ、プロキシサーバ、本明細書で説明される機能もしくは処理を行うのに適した別のサーバ、またはこれらの任意の組合せなどの様々なタイプのものでよい。特定の実施形態において、各サーバ662は、ハードウェア、ソフトウェア、あるいは埋め込み式ロジックコンポーネント、またはサーバ662によって実装もしくはサポートされる適正な機能を実行するための2つ以上のこのようなコンポーネントの組合せを含むことができる。特定の実施形態において、ソーシャルネットワーキングシステム660は、1つまたは複数のデータストア664を含むことができる。データストア664は、様々なタイプの情報を格納するために使用されてよい。特定の実施形態において、データストア664に格納された情報は、固有のデータ構造に従って編成されてよい。特定の実施形態において、各データストア664は、リレーショナルデータベース、カラムナデータベース、相互関係データベース、または他の適切なデータベースであってよい。本開示は、データベースの特定のタイプを説明または図示しているが、本開示は、データベースの任意の適切なタイプを想定する。特定の実施形態は、クライアントシステム630、ソーシャルネットワーキングシステム660、またはサードパーティシステム670が、データストア664に格納された情報を管理、取得、修正、追加、または削除することを可能にするインターフェースを提供することができる。
【0055】
特定の実施形態において、ソーシャルネットワーキングシステム660は、1つまたは複数のデータストア664に1つまたは複数のソーシャルグラフを格納することができる。特定の実施形態において、ソーシャルグラフは、((それぞれが特定のユーザに対応する)複数のユーザノード、または(それぞれが特定のコンセプトに対応する)複数のコンセプトノードを含むことができる)複数のノードと、ノードに接続する複数のエッジとを含むことができる。ソーシャルネットワーキングシステム660は、オンラインソーシャルネットワークのユーザに、他のユーザと通信および対話する能力を提供することができる。特定の実施形態において、ユーザは、ソーシャルネットワーキングシステム660を介してオンラインソーシャルネットワークに参加し、彼らがつなげられたいと思うソーシャルネットワーキングシステム660の他の何人かのユーザへのつながり(例えば関係)を追加することができる。本明細書で、用語「友達(friend)」は、ソーシャルネットワーキングシステム660を介してユーザがつながり、関連付け、または関係を形成した、ソーシャルネットワーキングシステム660の他の任意のユーザを指すことができる。
【0056】
特定の実施形態において、ソーシャルネットワーキングシステム660は、ソーシャルネットワーキングシステム660によってサポートされる様々なタイプのアイテムまたはオブジェクトに対するアクションを行う能力をユーザに提供することができる。限定ではなく、例として、アイテムおよびオブジェクトは、ソーシャルネットワーキングシステム660のユーザが属する可能性があるグループもしくはソーシャルネットワーク、ユーザが興味をもつ可能性があるイベントもしくはカレンダエントリ、ユーザが使用する可能性があるコンピュータベースのアプリケーション、サービスを介してユーザがアイテムを売買することを可能にするトランザクション、ユーザが行う可能性がある広告との対話、または他の適切なアイテムもしくはオブジェクトを含むことができる。ユーザは、ソーシャルネットワーキングシステム660内で表されることが可能な、またはソーシャルネットワーキングシステム660とは別のものであり、ネットワーク610を介してソーシャルネットワーキングシステム660に接続された、サードパーティシステム670の外部システムによって表されることが可能な、どのようなものとでも対話することができる。
【0057】
特定の実施形態において、ソーシャルネットワーキングシステム660は、様々なエンティティをリンクできることが可能である。限定ではなく、例として、ソーシャルネットワーキングシステム660は、ユーザが互いに対話すること、ならびにサードパーティシステム670または他のエンティティからコンテンツを受け取ることを可能にすることができ、また、アプリケーションプログラミングインターフェース(API)または他の通信チャネルを通じて、ユーザがこれらのエンティティと対話することを可能にすることができる。
【0058】
特定の実施形態において、サードパーティシステム670は、サーバの1つもしくは複数のタイプ、1つもしくは複数のデータストア、APIを含むが限定されない1つもしくは複数のインターフェース、1つもしくは複数のウェブサービス、1つもしくは複数のコンテンツソース、1つもしくは複数のネットワーク、または例えば、サーバが通信できる他の任意の適切な構成要素を含むことができる。サードパーティシステム670は、ソーシャルネットワーキングシステム660を運用するエンティティとは異なるエンティティによって運用されることが可能である。特定の実施形態において、しかし、ソーシャルネットワーキングシステム660およびサードパーティシステム670は、ソーシャルネットワーキングシステム660またはサードパーティシステム670のユーザにソーシャルネットワーキングサービスを提供するために、互いに協力して動作することができる。この意味では、ソーシャルネットワーキングシステム660は、ソーシャルネットワーキングサービスおよび機能をインターネット中のユーザに提供するために、サードパーティシステム670などの他のシステムが使用できるプラットフォームまたはバックボーンを提供することができる。
【0059】
特定の実施形態において、サードパーティシステム670は、サードパーティコンテンツオブジェクトプロバイダを含むことができる。サードパーティコンテンツオブジェクトプロバイダは、クライアントシステム630に通信されることが可能なコンテンツオブジェクトの1つまたは複数のソースを含むことができる。限定ではなく、例として、コンテンツオブジェクトは、例えば、映画の上映時間、映画の批評、レストランの批評、レストランのメニュー、製品情報および批評、または他の適切な情報など、ユーザにとって関心のあるもの、またはアクティビティに関する情報を含むことができる。限定ではなく、別の例として、コンテンツオブジェクトは、クーポン、割引チケット、商品券、または他の適切なインセンティブオブジェクトなどの、インセンティブコンテンツオブジェクトを含むことができる。
【0060】
特定の実施形態において、ソーシャルネットワーキングシステム660は、ソーシャルネットワーキングシステム660とのユーザの対話を拡張できる、ユーザが生成したコンテンツオブジェクトも含む。ユーザが生成したコンテンツは、ソーシャルネットワーキングシステム660にユーザが、追加、アップロード、送付、または「ポスト」することができるどのようなものでも含むことができる。限定ではなく、例として、ユーザは、クライアントシステム630からソーシャルネットワーキングシステム660にポストを通信する。ポストは、ステータスアップデートもしくは他のテキストデータ、ロケーション情報、写真、ビデオ、リンク、音楽、または他の類似のデータもしくは媒体などのデータを含むことができる。コンテンツは、ニュースフィードまたはストリームなど、「通信チャネル」を通じてサードパーティによってソーシャルネットワーキングシステム660に追加されてもよい。
【0061】
特定の実施形態において、ソーシャルネットワーキングシステム660は、様々なサーバ、サブシステム、プログラム、モジュール、ログ、およびデータストアを含むことができる。特定の実施形態において、ソーシャルネットワーキングシステム660は、ウェブサーバ、アクションロガー、API要求サーバ、関連性ランキングエンジン、コンテンツオブジェクト分類子、通知コントローラ、アクションログ、サードパーティコンテンツオブジェクト公開ログ、推測モジュール、認可/プライバシサーバ、検索モジュール、広告ターゲットモジュール、ユーザインターフェースモジュール、ユーザプロフィールストア、つながりストア、サードパーティコンテンツストア、またはロケーションストアのうちの1つまたは複数を含むことができる。ソーシャルネットワーキングシステム660は、ネットワークインターフェース、セキュリティメカニズム、ロードバランサ、フェイルオーバサーバ、管理およびネットワーク動作コンソール、他の適切な構成要素、またはこれらの任意の適切な組合せなどの、適切な構成要素を含むこともできる。特定の実施形態において、ソーシャルネットワーキングシステム660は、ユーザプロフィールを格納するための1つまたは複数のユーザプロフィールストアを含むことができる。ユーザプロフィールは、例えば、経歴情報、人口統計学情報、行動情報、ソーシャル情報、あるいは職業経験、教育履歴、趣味もしくは好み、興味、親近感、またはロケーションなどの他のタイプの記述情報を含むことができる。興味情報は、1つまたは複数のカテゴリに関連した興味含むことができる。カテゴリは、一般的または固有のものであってよい。限定ではなく、例として、靴のブランドについての記事にユーザが「いいね!」と表明する場合、カテゴリは、このブランド、すなわち「靴」または「衣類」に関する一般的なカテゴリであってよい。つながりストアは、ユーザについてのつながり情報を格納するために使用されることが可能である。つながり情報は、類似もしくは共通の職業経験、グループメンバシップ、趣味、教育履歴を有しているか、または何らかの形で関連しているか、もしくは共通の属性を共有しているユーザを示すことができる。つながり情報は、(内部と外部両方の)様々なユーザとコンテンツの間にあるユーザが定義したつながりを含むこともできる。ウェブサーバは、ネットワーク610を介して、1つもしくは複数のクライアントシステム630、または1つもしくは複数のサードパーティシステム670にソーシャルネットワーキングシステム660をリンクするために使用されることが可能である。ウェブサーバは、メールサーバ、またはソーシャルネットワーキングシステム660と1つまたは複数のクライアントシステム630との間のメッセージを受け取るため、およびルーティングするための他のメッセージ機能を含むことができる。API要求サーバは、1つまたは複数のAPIをコールすることによって、ソーシャルネットワーキングシステム660からの情報に、サードパーティシステム670がアクセスすることを可能にすることができる。アクションロガーは、ソーシャルネットワーキングシステム660上、または外でのユーザのアクションについての、ウェブサーバからの通信を受け取るために使用されることが可能である。アクションログと共に、サードパーティコンテンツオブジェクトへのユーザ公開に関する、サードパーティコンテンツオブジェクトログが維持されてよい。通知コントローラは、コンテンツオブジェクトに関する情報をクライアントシステム630に提供することができる。情報は、クライアントシステム630に通知としてプッシュされることが可能であり、また情報は、クライアントシステム630から要求が受け取られたことに応答してクライアントシステム630からプルされることが可能である。認可サーバは、ソーシャルネットワーキングシステム660のユーザの1つまたは複数のプライバシ設定を実施するために使用されることが可能である。ユーザのプライバシ設定は、ユーザと関連付けられた特定の情報がどのように共有されることが可能であるかを判断する。認可サーバは、ユーザのアクションが、ソーシャルネットワーキングシステム660によってログに記録されること、または例えば適正なプライバシ設定を設定することなどによって、他のシステム(例えばサードパーティシステム670)と共有されることについて、ユーザがオプトインまたはオプトアウトすることを可能にすることができる。サードパーティコンテンツオブジェクトストアは、サードパーティシステム670などのサードパーティから受け取られたコンテンツオブジェクトを格納するために使用されることが可能である。ロケーションストアは、ユーザと関連付けられたクライアントシステム630から受け取られたロケーション情報を格納するために使用されることが可能である。広告価格設定モジュールは、通知の形で関連広告をユーザに提供するために、ソーシャル情報、現在時刻、ロケーション情報、または他の適切な情報を組み合わせることができる。
【0062】
ソーシャルグラフ
図7は、例示的なソーシャルグラフ700を示す。特定の実施形態において、ソーシャルネットワーキングシステム660は、1つまたは複数のソーシャルグラフ700を1つまたは複数のデータストアに格納することができる。特定の実施形態において、ソーシャルグラフ700は、(複数のユーザノード702または複数のコンセプトノード704を含むことができる)複数のノードと、ノードを接続する複数のエッジ706とを含むことができる。説明のために、2次元の視覚マップ表現で、
図7に示される例示的なソーシャルグラフ700が示される。特定の実施形態において、ソーシャルネットワーキングシステム660、クライアントシステム630、またはサードパーティシステム670は、適切なアプリケーションに対するソーシャルグラフ700および関連ソーシャルグラフ情報にアクセスすることができる。ソーシャルグラフ700のノードおよびエッジは、例えば(ソーシャルグラフデータベースなどの)データストアに、データオブジェクトとして格納されてよい。このようなデータストアは、ソーシャルグラフ700のノードまたはエッジの1つまたは複数の検索可能またはクエリ可能なインデックスを含むことができる。
【0063】
特定の実施形態において、ユーザノード702は、ソーシャルネットワーキングシステム660のユーザに対応することが可能である。限定ではなく、例として、ユーザは、ソーシャルネットワーキングシステム660と、またはソーシャルネットワーキングシステム660上で、対話または通信する個人(人間ユーザ)、エンティティ(例えば、企業、ビジネス、もしくはサードパーティアプリケーション)、または(例えば、個人もしくはエンティティの)グループであってよい。特定の実施形態において、ソーシャルネットワーキングシステム660にユーザがアカウントを登録すると、ソーシャルネットワーキングシステム660は、ユーザに対応するユーザノード702を作り出し、1つまたは複数のデータストアにユーザノード702を格納することができる。本明細書で説明されるユーザおよびユーザノード702は、適正な場合、登録済ユーザおよび登録済ユーザと関連付けられたユーザノード702を指すことができる。さらに、または代替として、本明細書で説明されるユーザおよびユーザノード702は、適正な場合、ソーシャルネットワーキングシステム660に登録されていないユーザを指すことができる。特定の実施形態において、ユーザノード702は、ユーザによってもたらされた情報、またはソーシャルネットワーキングシステム660を含む様々なシステムによって集められた情報と関連付けられることが可能である。限定ではなく、例として、ユーザは、自分の名前、プロフィール画像、連絡先情報、生年月日、性、配偶者の有無、家族状況、勤務先、学歴、好み、興味、または他の人口統計学情報を提供することができる。特定の実施形態において、ユーザノード702は、ユーザと関連付けられた情報に対応する1つまたは複数のデータオブジェクトと関連付けられることが可能である。特定の実施形態において、ユーザノード702は、1つまたは複数のウェブページに対応することが可能である。
【0064】
特定の実施形態において、コンセプトノード704は、コンセプトに対応することが可能である。限定ではなく、例として、コンセプトは、(例えば、映画館、レストラン、ランドマーク、または都市などの)場所、(例えば、ソーシャルネットワークシステム460と関連付けられたウェブサイト、もしくはウェブアプリケーションサーバと関連付けられたサードパーティのウェブサイトなどの)ウェブサイト、(例えば、人、ビジネス、グループ、スポーツチーム、もしくは有名人などの)エンティティ、ソーシャルネットワーキングシステム660内、もしくはウェブアプリケーションサーバなどの外部サーバ上に置かれることがある(例えば、オーディオファイル、ビデオファイル、デジタル写真、テキストファイル、構造化文書、もしくはアプリケーションなどの)リソース、(例えば、彫刻、絵画、映画、ゲーム、歌、アイデア、写真、もしくは書かれた作品などの)物的財産もしくは知的財産、ゲーム、アクティビティ、アイデアもしくは理論、拡張現実環境/仮想現実環境におけるオブジェクト、別の適切なコンセプト、または2つ以上のこのようなコンセプトに対応することが可能である。コンセプトノード704は、ユーザによってもたらされたコンセプトについての情報、またはソーシャルネットワーキングシステム660を含む様々なシステムによって集められた情報と関連付けられることが可能である。限定ではなく、例として、コンセプトの情報は、名前もしくはタイトル、1つもしくは複数の画像(例えば、本のカバーページの画像)、ロケーション(例えば、住所もしくは地理的な位置)、(URLと関連付けられることが可能な)ウェブサイト、連絡先情報(例えば、電話番号もしくは電子メールアドレス)、他の適切なコンセプト情報、またはこのような情報の任意の適切な組合せを含むことができる。特定の実施形態において、コンセプトノード704は、コンセプトノード704と関連付けられた情報に対応する1つまたは複数のデータオブジェクトと関連付けられてよい。特定の実施形態において、コンセプトノード704は、1つまたは複数のウェブページに対応することが可能である。
【0065】
特定の実施形態において、ソーシャルグラフ700内のノードは、(「プロフィールページ」と呼ばれることがある)ウェブページを表すことができ、またウェブページによって表されることができる。プロフィールページは、ソーシャルネットワーキングシステム660によってホストされてよく、またソーシャルネットワーキングシステム660にとってアクセス可能であってよい。プロフィールページは、サードパーティシステム670と関連付けられたサードパーティのウェブサイト上でホストされてもよい。限定ではなく、例として、特定の外部のウェブページに対応するプロフィールページは、特定の外部のウェブページであってよく、プロフィールページは、特定のコンセプトノード704に対応することが可能である。プロフィールページは、他のユーザの全ての、または選択されたサブセットによって閲覧可能であってよい。限定ではなく、例として、ユーザノード702は、対応するユーザが、コンテンツを追加すること、発表すること、またはそうでなければ自分自身を表現することができる、対応するユーザプロフィールページを有することができる。限定ではなく、別の例として、コンセプトノード704は、特に、コンセプトノード704に対応するコンセプトに関連して、1人または複数のユーザがコンテンツを追加すること、発表すること、または自分自身を表現することができる、対応するコンセプトプロフィールページを有することができる。
【0066】
特定の実施形態において、コンセプトノード704は、サードパーティシステム670によってホストされるサードパーティのウェブページまたはリソースを表すことができる。サードパーティのウェブページまたはリソースは、他の要素の中でも、コンテンツ、選択可能なアイコンもしくは他のアイコン、またはアクションもしくはアクティビティを表す(例えば、JavaScript、AJAX、もしくはPHPコードで実装されることが可能な)他の対話可能オブジェクトを含むことができる。限定ではなく、例として、サードパーティのウェブページは、「いいね!」、「チェックイン」、「食べる」、「推奨」、または別の適切なアクションまたはアクティビティなどの選択可能アイコンを含むことができる。サードパーティのウェブページを閲覧しているユーザは、アイコンのうちの1つ(例えば「チェックイン」)を選択することによってアクションを行うことができ、このことにより、クライアントシステム630は、ユーザのアクションを示すメッセージをソーシャルネットワーキングシステム660に送る。メッセージに応答して、ソーシャルネットワーキングシステム660は、ユーザに対応するユーザノード702と、サードパーティのウェブページまたはリソースに対応するコンセプトノード704との間のエッジ(例えば、チェックインタイプのエッジ)を作り出し、1つまたは複数のデータストアにエッジ706を格納することができる。
【0067】
特定の実施形態において、ソーシャルグラフ700内の1対のノードは、1つまたは複数のエッジ706によって互いに接続されることが可能である。1対のノードを接続するエッジ706は、1対のノード間の関係を表すことができる。特定の実施形態において、エッジ706は、1対のノード間の関係に対応する1つまたは複数のデータオブジェクトまたは属性を含むことができ、また表すことができる。限定ではなく、例として、第1のユーザは、第2のユーザが第1のユーザの「友達」であるということを示すことができる。この表示に応答して、ソーシャルネットワーキングシステム660は、「友達要求」を第2のユーザに送ることができる。第2のユーザが「友達要求」を承認すると、ソーシャルネットワーキングシステム660は、ソーシャルグラフ700内で、第1のユーザのユーザノード702を第2のユーザのユーザノード702に接続するエッジ706を作り出し、データストア664の1つまたは複数にソーシャルグラフ情報としてエッジ706を格納することができる。
図7の例において、ソーシャルグラフ700は、ユーザ「A」のユーザノード702と、ユーザ「B」のユーザノード702との間の友達関係を示すエッジ706、およびユーザ「C」のユーザノード702と、ユーザ「B」のユーザノード702との間の友達関係を示すエッジを含む。本開示は、特定の属性を有する特定のエッジ706が特定のユーザノード702を接続することを説明または図示しているが、本開示は、任意の適切な属性を有する任意の適切なエッジ706がユーザノード702を接続することを想定する。限定ではなく、例として、エッジ706は、友人関係、家族関係、ビジネスもしくは雇用関係、(例えば、いいね!と表明すること、等を含む)ファン関係、フォロワ関係、(例えば、アクセスすること、閲覧すること、チェックインすること、共有すること、等を含む)ビジタ関係、加入者関係、上下関係、互恵関係、非互恵関係、別の適切なタイプの関係、または2つ以上のこのような関係を表すことができる。さらに、本開示は全体的に、ノードを接続されているものとして説明しているが、本開示は、ユーザまたはコンセプトも接続されているものとして説明する。本明細書において、接続されているユーザまたはコンセプトへの言及は、適正な場合、1つまたは複数のエッジ706によってソーシャルグラフ700に接続されているこれらのユーザまたはコンセプトに対応するノードを指すことができる。
【0068】
特定の実施形態において、ユーザノード702とコンセプトノード704との間のエッジ706は、コンセプトノード704と関連付けられたコンセプトに対する、ユーザノード702と関連付けられたユーザによって行われる特定のアクションまたはアクティビティを表すことができる。限定ではなく、例として、
図7に示されるように、ユーザは、コンセプトに対して「いいね!と表明した」、「通った」、「プレイした」、「聴いた」、「料理した」、「勤務した」、または「観た」可能性があり、これらのそれぞれが、エッジのタイプまたはサブタイプに対応することが可能である。コンセプトノード704に対応するコンセプトプロフィールページは、例えば、(例えば、クリック可能な「チェックイン」アイコンなどの)選択可能な「チェックイン」アイコン、または選択可能な「お気に入りに追加」アイコンを含むことができる。同様に、ユーザがこれらのアイコンをクリックした後、ソーシャルネットワーキングシステム660は、個々のアクションに対応するユーザのアクションに応答して、「お気に入り」エッジ、または「チェックイン」エッジを作り出すことができる。限定ではなく、別の例として、ユーザ(ユーザ「C」)は、特定のアプリケーション(オンラインミュージックアプリケーションであるSPOTIFY)を使用して、特定の歌(「Imagine」)を聴くことができる。この場合、ソーシャルネットワーキングシステム660は、歌およびアプリケーションに対応するユーザに対応するユーザノード702と、コンセプトノード704との間の(
図7に示すような)「聴いた」エッジ706、および「使用した」エッジを作り出し、ユーザが歌を聴き、アプリケーションを使用したということを示すことができる。さらに、ソーシャルネットワーキングシステム660は、歌に対応するコンセプトノード704と、アプリケーションに対応するコンセプトノード704との間の(
図7に示すような)「プレイした」エッジ706を作り出し、特定の歌が特定のアプリケーションによってプレイされたということを示すことができる。この場合、「プレイした」エッジ706は、外部オーディオファイル(歌「imagine」)に対して外部アプリケーション(SPOTIFY)によって行われたアクションに対応する。本開示は、特定の属性を有する特定のエッジ706が、ユーザノード702とコンセプトノード704を接続することを説明しているが、本開示は、任意の適切な属性を有する任意の適切なエッジ706が、ユーザノード702とコンセプトノード704を接続することを想定する。さらに、本開示は、ユーザノード702とコンセプトノード704との間のエッジが、単一の関係を表すことを説明しているが、本開示は、ユーザノード702とコンセプトノード704との間のエッジが、1つまたは複数の関係を表すことを想定する。限定ではなく、例として、エッジ706は、ユーザが、特定のコンセプトに対して、いいね!と表明すること、および特定のコンセプトを使用したことの両方を表すことができる。一方、別のエッジ706は、(ユーザ「E」のユーザノード702と、「SPOTIFY」のコンセプトノード704との間の、
図7に示すような)ユーザノード702とコンセプトノード704との間の関係(または多様な単一の関係)のそれぞれのタイプを表すことができる。
【0069】
特定の実施形態において、ソーシャルネットワーキングシステム660は、ソーシャルグラフ700内にユーザノード702とコンセプトノード704との間のエッジ706を作り出すことができる。限定ではなく、例として、(例えば、ウェブブラウザ、またはユーザのクライアントシステム630によってホストされる専用アプリケーションを使用することなどによって)コンセプトプロフィールページを閲覧するユーザは、「いいね!」アイコンをクリックまたは選択することによってコンセプトノード704によって表されるコンセプトに自分がいいね!と表明したことを示すことができ、これにより、ユーザのクライアントシステム630に、コンセプトプロフィールページと関連付けられたコンセプトについてのユーザのいいね!を示すメッセージをソーシャルネットワーキングシステム660へ送らせることができる。メッセージに応答して、ソーシャルネットワーキングシステム660は、ユーザとコンセプトノード704との間の「いいね!」エッジ706によって示されるような、ユーザと関連付けられたユーザノード702と、コンセプトノード704との間のエッジ706を作り出すことができる。特定の実施形態において、ソーシャルネットワーキングシステム660は、1つまたは複数のデータストアにエッジ706を格納することができる。特定の実施形態において、エッジ706は、特定のユーザアクションに応答して、ソーシャルネットワーキングシステム660によって自動的に形成されることが可能である。限定ではなく、例として、第1のユーザが画像をアップロードすること、映画を観ること、または歌を聴くことを行うと、第1のユーザに対応するユーザノード702と、これらのコンセプトに対応するコンセプトノード704との間にエッジ706が形成されることが可能である。本開示は、特定の手法で特定のエッジ706を形成することを説明しているが、本開示は、任意の適切な手法で任意の適切なエッジ706を形成することを想定する。
【0070】
システムおよび方法
図8は、例示的なコンピュータシステム800を示す。特定の実施形態において、1つまたは複数のコンピュータシステム800は、本明細書で説明されるか、示される1つまたは複数の方法の1つまたは複数のステップを行う。特定の実施形態において、1つまたは複数のコンピュータシステム800は、本明細書で説明されるか、示される機能を行う。特定の実施形態において、1つまたは複数のコンピュータシステム800上で動くソフトウェアは、本明細書で説明されるか、示される1つまたは複数の方法の1つまたは複数のステップを行うか、本明細書で説明されるか、示される機能を提供する。特定の実施形態は、1つまたは複数のコンピュータシステム800の1つまたは複数の部分を含む。本明細書で、コンピュータシステムへの言及は、コンピューティングデバイスを包含することができ、適正な場合、逆もまた同様である。さらに、コンピュータシステムへの言及は、適正な場合、1つまたは複数のコンピュータシステムを包含することができる。
【0071】
本開示は、任意の適切な数のコンピュータシステム800を想定する。本開示は、コンピュータシステム800が、任意の適切な物理的形状をしていることを想定する。限定ではなく、例として、コンピュータシステム800は、埋め込み式コンピュータシステム、システムオンチップ(SOC)、シングルボードコンピュータシステム(SBC)(例えば、コンピュータオンモジュール(COM)もしくはシステムオンモジュール(SOM)など)、デスクトップコンピュータシステム、ラップトップコンピュータシステムもしくはノートブックコンピュータシステム、インタラクティブキオスク、メインフレーム、コンピュータシステムのメッシュ、携帯電話、パーソナルデジタルアシスタント(PDA)、サーバ、タブレット型コンピュータシステム、拡張現実デバイス/仮想現実デバイス、またはこれらのうちの2つ以上の組合せであってよい。適正な場合、コンピュータシステム800は、1つもしくは複数のコンピュータシステム800を含むこと、単一もしくは分散型であること、複数のロケーションに及ぶこと、複数の機械に及ぶこと、複数のデータセンタに及ぶこと、または1つもしくは複数のネットワーク内の1つもしくは複数のクラウド構成要素を含み得るクラウドの中にあることが可能である。適正な場合、1つまたは複数のコンピュータシステム800は、実質的に空間的な制限も一時的な制限もなく、本明細書で説明されるか、示される1つまたは複数の方法の1つまたは複数のステップを行うことができる。限定ではなく、例として、1つまたは複数のコンピュータシステム800は、本明細書で説明されるか、示される1つまたは複数の方法の1つまたは複数のステップを、リアルタイムモードまたはバッチモードで行うことができる。1つまたは複数のコンピュータシステム800は、適正な場合、様々な時間に、または様々なロケーションで、本明細書で説明されるか、示される1つまたは複数の方法の1つまたは複数のステップを行うことができる。
【0072】
特定の実施形態において、コンピュータシステム800は、プロセッサ802、メモリ804、ストレージ806、入出力(I/O)インターフェース808、通信インターフェース810、およびバス812を含む。本開示は、特定のコンピュータシステムが、特定の配置の中に特定の数の特定の構成要素を有することを説明し、示しているが、本開示は、任意の適切なコンピュータシステムが、任意の適切な配置の中に任意の適切な数の任意の適切な構成要素を有することを想定する。
【0073】
特定の実施形態において、プロセッサ802は、コンピュータプログラムを作り上げる命令などの命令を実行するためのハードウェアを含む。限定ではなく、例として、命令を実行するために、プロセッサ802は、内部レジスタ、内部キャッシュ、メモリ804、またはストレージ806から命令を取得(またはフェッチ)すること、これらをデコードして実行すること、および1つまたは複数の結果を内部レジスタ、内部キャッシュ、メモリ804、またはストレージ806に書き込むことができる。特定の実施形態において、プロセッサ802は、データ、命令、またはアドレスのための1つまたは複数の内部キャッシュを含むことができる。本開示は、プロセッサ802が、適正な場合、任意の適切な数の任意の適切な内部キャッシュを含むことを想定する。限定ではなく、例として、プロセッサ802は、1つまたは複数の命令キャッシュ、1つまたは複数のデータキャッシュ、および1つまたは複数のトランスレーションルックアサイドバッファ(TLB)を含むことができる。命令キャッシュ内の命令は、メモリ804またはストレージ806内の命令のコピーであってよく、命令キャッシュは、プロセッサ802によるこれらの命令の取得を高速化することができる。データキャッシュ内のデータは、動作するためにプロセッサ802において実行する命令、プロセッサ802において実行するその後の命令によるアクセスのため、またはメモリ804もしくはストレージ806に書き込むための、プロセッサ802において実行された以前の命令の結果、あるいは他の適切なデータのためのメモリ804またはストレージ806内のデータのコピーであってよい。データキャッシュは、プロセッサ802による読込み動作または書込み動作を高速化することができる。TLBは、プロセッサ802のための仮想アドレス変換を高速化することができる。特定の実施形態において、プロセッサ802は、データ、命令、またはアドレスのための1つまたは複数の内部レジスタを含むことができる。本開示は、プロセッサ802が、適正な場合、任意の適切な数の任意の適切な内部レジスタを含むことを想定する。適正な場合、プロセッサ802は、1つもしくは複数の算術論理演算装置(ALU)を含むこと、マルチコアプロセッサであること、または1つもしくは複数のプロセッサ802を含むことが可能である。本開示は、特定のプロセッサを説明し、示しているが、本開示は、任意の適切なプロセッサを想定する。
【0074】
特定の実施形態において、メモリ804は、プロセッサ802が実行するための命令、またはプロセッサ802が動作させるデータを格納するためのメインメモリを含む。限定ではなく、例として、コンピュータシステム800は、ストレージ806または別のソース(例えば、別のコンピュータシステム800など)からメモリ804に命令をロードすることができる。プロセッサ802は次に、メモリ804から内部レジスタまたは内部キャッシュに命令をロードすることができる。命令を実行するために、プロセッサ802は、内部レジスタまたは内部キャッシュから命令を取得し、これらをデコードすることができる。命令の実行中または実行後、プロセッサ802は、(中間結果または最終結果である可能性のある)1つまたは複数の結果を内部レジスタまたは内部キャッシュに書き込むことができる。プロセッサ802は次に、これらの結果の1つまたは複数をメモリ804に書き込むことができる。特定の実施形態において、プロセッサ802は、(ストレージ806または他の場所とは対照的に)1つもしくは複数の内部レジスタもしくは内部キャッシュ内の命令、またはメモリ804内の命令だけを実行し、(ストレージ806または他の場所とは対照的に)1つもしくは複数の内部レジスタもしくは内部キャッシュ内のデータ、またはメモリ804内のデータに対してのみ動作する。(アドレスバスおよびデータバスをそれぞれ含む可能性がある)1つまたは複数のメモリバスは、プロセッサ802をメモリ804に接続することができる。バス812は、下記で説明されるような1つまたは複数のメモリバスを含むことができる。特定の実施形態において、1つまたは複数のメモリ管理ユニット(MMU)がプロセッサ802とメモリ804の間にあり、プロセッサ802によって要求されるメモリ804へのアクセスを容易にする。特定の実施形態において、メモリ804は、ランダムアクセスメモリ(RAM)を含む。このRAMは、適正な場合、揮発性メモリであってよい。適正な場合、このRAMは、ダイナミックRAM(DRAM)またはスタティックRAM(SRAM)であってよい。さらに、適正な場合、このRAMは、シングルポートRAMまたはマルチポートRAMであってよい。本開示は、任意の適切なRAMを想定する。メモリ804は、適正な場合、1つまたは複数のメモリ804を含むことができる。本開示は、特定のメモリを説明し、示しているが、本開示は、任意の適切なメモリ想定する。
【0075】
特定の実施形態において、ストレージ806は、データまたは命令のためのマスストレージを含む。限定ではなく、例として、ストレージ806は、ハードディスクドライブ(HDD)、フロッピーディスクドライブ、フラッシュメモリ、光ディスク、光磁気ディスク、磁気テープ、もしくはユニバーサルシリアルバス(USB)ドライブ、またはこれらのうちの2つ以上の組合せを含むことができる。ストレージ806は、適正な場合、取外し可能な媒体または取外し不能な(もしくは固定された)媒体を含むことができる。ストレージ806は、適正な場合、コンピュータシステム800の内部または外部にあってよい。特定の実施形態において、ストレージ806は、不揮発性の固体メモリであってよい。特定の実施形態において、ストレージ806は、リードオンリメモリ(ROM)を含む。適正な場合、このROMは、マスクプログラムROM、プログラマブルROM(PROM)、消去可能PROM(EPROM)、電気的消去可能PROM(EEPROM)、電気的消去再書込ROM(EAROM)、もしくはフラッシュメモリ、またはこれらのうちの2つ以上の組合せであってよい。本開示は、マスストレージ806が任意の適切な物理的形状をしていることを想定する。ストレージ806は、適正な場合、プロセッサ802とストレージ806との間の通信を容易にする1つまたは複数のストレージ制御ユニットを含むことができる。適正な場合、ストレージ806は、1つまたは複数のストレージ806を含むことができる。本開示は、特定のストレージ説明し、示しているが、本開示は、任意の適切なストレージを想定する。
【0076】
特定の実施形態において、I/Oインターフェース808は、コンピュータシステム800と1つまたは複数のI/Oデバイスとの間の通信のための1つまたは複数のインターフェースを提供するハードウェア、ソフトウェア、または両方を含む。コンピュータシステム800は、適正な場合、これらのI/Oデバイスの1つまたは複数を含むことができる。これらのI/Oデバイスの1つまたは複数は、人とコンピュータシステム800との間の通信を可能にすることができる。限定ではなく、例として、I/Oデバイスは、キーボード、キーパッド、マイクロフォン、モニタ、マウス、プリンタ、スキャナ、スピーカ、スチルカメラ、スタイラス、タブレット、タッチスクリーン、トラックボール、ビデオカメラ、別の適切なI/Oデバイス、またはこれらのうちの2つ以上の組合せを含むことができる。I/Oデバイスは、1つまたは複数のセンサを含むことができる。本開示は、任意の適切なI/Oデバイス、およびこれらのデバイスための任意の適切なI/Oインターフェース808を想定する。適正な場合、I/Oインターフェース808は、これらのI/Oデバイスの1つまたは複数をプロセッサ802が駆動させることを可能にする、1つまたは複数のデバイスまたはソフトウェアドライバを含むことができる。I/Oインターフェース808は、適正な場合、1つまたは複数のI/Oインターフェース808を含むことができる。本開示は、特定のI/Oインターフェースを説明し、示しているが、本開示は、任意の適切なI/Oインターフェースを想定する。
【0077】
特定の実施形態において、通信インターフェース810は、コンピュータシステム800と、1つもしくは複数の他のコンピュータシステム800、または1つもしくは複数のネットワークとの間の通信(例えば、パケットベースの通信など)のための、1つまたは複数のインターフェースを提供するハードウェア、ソフトウェア、または両方を含む。限定ではなく、例として、通信インターフェース810は、イーサネットもしくは他の有線ベースのネットワークと通信するためのネットワークインターフェースコントローラ(NIC)もしくはネットワークアダプタ、またはWI-FIネットワークなどのワイヤレスネットワークと通信するためのワイヤレスNIC(WNIC)もしくはワイヤレスアダプタを含むことができる。本開示は、任意の適切なネットワーク、およびネットワークのための任意の適切な通信インターフェース810を想定する。限定ではなく、例として、コンピュータシステム800は、アドホックネットワーク、パーソナルエリアネットワーク(PAN)、ローカルエリアネットワーク(LAN)、広域ネットワーク(WAN)、メトロポリタンエリアネットワーク(MAN)、またはインターネットの1つもしくは複数の部分、あるいはこれらのうちの2つ以上の組合せと通信することができる。これらのネットワークの1つまたは複数の1つまたは複数の部分は、有線またはワイヤレスであってよい。例として、コンピュータシステム800は、ワイヤレスPAN(WPAN)(例えば、BLUETOOTH WPANなど)、WI-FIネットワーク、WI-MAXネットワーク、セルラー電話ネットワーク(例えば、グローバルシステムフォーモバイルコミュニケーションズ(GSM)ネットワークなど)、もしくは他の適切なワイヤレスネットワーク、またはこれらのうちの2つ以上の組合せと通信することができる。コンピュータシステム800は、適正な場合、これらのネットワークのいずれかに対する任意の適切な通信インターフェース810を含むことができる。通信インターフェース810は、適正な場合、1つまたは複数の通信インターフェース810を含むことができる。本開示は、特定の通信インターフェースを説明し、示しているが、本開示は、任意の適切な通信インターフェースを想定する。
【0078】
特定の実施形態において、バス812は、コンピュータシステム800の構成要素を互いに接続するハードウェア、ソフトウェア、または両方を含む。限定ではなく、例として、バス812は、アクセラレイティッドグラフィックスポート(AGP)もしくは他のグラフィックスバス、拡張インダストリスタンダードアーキテクチャ(EISA)バス、フロントサイドバス(FSB)、HYPERTRANSPORT(HT)インターコネクト、インダストリスタンダードアーキテクチャ(ISA)バス、INFINIBANDインターコネクト、ローピンカウント(LPC)バス、メモリバス、マイクロチャネルアーキテクチャ(MCA)バス、ペリフェラルコンポーネントインターコネクト(PCI)バス、PCI-Express(PCIe)バス、シリアルアドバンスドテクノロジアタッチメント(SATA)バス、ビデオエレクトロニクススタンダーズアソシエーションローカル(VLB)バス、もしくは別の適切なバス、またはこれらのうちの2つ以上の組合せを含むことができる。バス812は、適正な場合、1つまたは複数のバス812を含むことができる。本開示は、特定のバスを説明し、示しているが、本開示は、任意の適切なバスまたは相互接続を想定する。
【0079】
本明細書で、1つまたは複数のコンピュータ可読非一時的ストレージ媒体は、適正な場合、1つもしくは複数の半導体ベースの集積回路(IC)もしくは他の集積回路(例えば、フィールドプログラマブルゲートアレイ(FPGA)もしくは特定用途向けIC(ASIC))、ハードディスクドライブ(HDD)、複合ハードドライブ(HHD)、光ディスク、光ディスクドライブ(ODD)、光磁気ディスク、光磁気ドライブ、フロッピーディスケット、フロッピーディスクドライブ(FDD)、磁気テープ、ソリッドステートドライブ(SSD)、RAMドライブ、セキュアデジタルカードもしくはドライブ、他の任意の適切なコンピュータ可読非一時的ストレージ媒体、またはこれらの2つ以上の任意の適切な組合せを含むことができる。コンピュータ可読非一時的ストレージ媒体は、適正な場合、揮発性、不揮発性、または揮発性と不揮発性の組合せであってよい。
【0080】
本明細書で、「または」は、別途明確に示されない限り、または文脈によって別途示されない限り、包括的であるが、排他的ではない。したがって、本明細書において、「AまたはB」は、別途明確に示されない限り、または文脈によって別途示されない限り、「A、B、または両方」を意味する。さらに、「および」は、別途明確に示されない限り、または文脈によって別途示されない限り、協同(joint)、および個々(several)の両方である。したがって、本明細書において、「AおよびB」は、別途明確に示されない限り、または文脈によって別途示されない限り、「協同してまたは個々に、AおよびB」を意味する。
【0081】
本開示の範囲は、当業者が理解するであろう本明細書で説明されるか、示される例示的な実施形態への全ての変更、代用、変形、代替、および修正を包含する。本開示の範囲は、本明細書で説明されるか、示される例示的な実施形態に限定されない。さらに、本開示は、特定の構成要素、要素、特徴、機能、動作、またはステップを含むものとして本明細書の個々の実施形態を説明し、示しているが、これらの実施形態のいずれかは、当業者が理解するであろう本明細書のどこかで説明されるか、示される構成要素、要素、特徴、機能、動作、またはステップのいずれかの任意の組合せまたは並べ替えを含むことができる。さらに、特定の機能を行うように適応される、特定の機能を行うように配置される、特定の機能を行うことができる、特定の機能を行うように構成される、特定の機能を行うこと可能にする、特定の機能を行うように動作可能な、または特定の機能を行うように動作する、装置もしくはシステム、または装置もしくはシステムの構成要素に対する添付の特許請求の範囲における言及は、その特定の機能またはこの特定の機能が、活性化されるか、電源オンされるか、開錠されるかにかかわらず、この装置、システム、または構成要素が、そのように適応されるか、配置されるか、行うことができるか、構成されるか、可能にされるか、動作可能か、動作する限り、この装置、システム、構成要素を包含する。追加として、本開示は、特定の利点をもたらすものとして特定の実施形態を説明するか図示するが、特定の実施形態は、これらの利点のいずれも提供しないか、これらの利点のいくつかまたは全てを提供することができる。