(57)【要約】  一実施形態において、方法は、コネクテッド・デバイスに関連付けられているイベントの通知を受信する工程と、特定の期間内に発生する２つ以上のイベントを含む複数のイベント・シーケンスを評価する工程と、評価されたイベント・シーケンスに基づいて複数のルールを生成する工程とを備える。方法は、ネットワーク上で第１のコネクテッド・デバイスに関連付けられている第１のイベントの通知を受信する工程と、複数のルールのうちの第１のルールが第１のイベントに基づいていると決定する工程と、第１のルールに従って１以上の命令をコネクテッド・デバイスに送信する工程とをさらに備える。
2018528529.tif 000002
【特許請求の範囲】
【請求項１】
１以上のコンピューティング・デバイスが、ネットワーク上の１以上のコネクテッド・デバイスから、前記１以上のコネクテッド・デバイスに関連付けられているイベントの通知を受信する工程と、
前記１以上のコンピューティング・デバイスが、複数のイベント・シーケンスを評価する工程であって、各イベント・シーケンスは、特定の期間内に発生する２つ以上のイベントを含む、工程と、
前記１以上のコンピューティング・デバイスが、評価された前記イベント・シーケンスに基づいて、複数のルールを生成する工程と、
前記１以上のコンピューティング・デバイスが、前記ネットワーク上の第１のコネクテッド・デバイスに関連付けられている第１のイベントの通知を受信する工程と、
前記１以上のコンピューティング・デバイスが、前記複数のルールのうちの第１のルールが前記第１のイベントに基づいていると決定する工程と、
前記１以上のコンピューティング・デバイスが、前記第１のルールに従って１以上の命令をコネクテッド・デバイスに送信する工程と、
を備える、方法。
【請求項２】
複数のイベント・シーケンスを評価する前記工程は、各イベント・シーケンスに関連付けられているスコアを決定する工程を含む、請求項１に記載の方法。
【請求項３】
各イベント・シーケンスの前記スコアは、前記イベント・シーケンスにおける前記２つ以上のイベント間の時間差に基づいて決定される、請求項２に記載の方法。
【請求項４】
前記スコアは、次の式、
スコア＝１−Π（Ｄｍａｘ−ｍｉｎ（ｄｅｌｔａＮ，Ｄｍａｘ））／Ｄｍａｘ
を用いて決定され、
Ｄｍａｘは前記特定の期間を表し、
ｄｅｌｔａＮは前記イベント・シーケンスにおけるＮ番目のイベントと前記イベント・シーケンスにおける時系列で最初のイベントとの間の時間量を表す、請求項３に記載の方法。
【請求項５】
各イベント・シーケンスについて、
前記１以上のコンピューティング・デバイスが、前記イベント・シーケンスが別のイベント・シーケンスと実質的に同様であると決定する工程と、
前記１以上のコンピューティング・デバイスが、前記イベント・シーケンスに関連付けられている前記スコアを修正する工程と、
をさらに備える、請求項２に記載の方法。
【請求項６】
前記複数のイベント・シーケンスに基づいて前記複数のルールを生成する前記工程は、少なくとも１つのイベント・シーケンスに関連付けられているスコアが閾値を超えたと決定する工程を含む、請求項２に記載の方法。
【請求項７】
前記特定の期間は履歴データを用いて決定される、請求項１に記載の方法。
【請求項８】
履歴データを用いて前記特定の期間を決定する前記工程は、生成されたルールに関連付けられているイベント・シーケンスにおける２つのイベントの最大時間差を決定する工程を含む、請求項７に記載の方法。
【請求項９】
少なくとも１つのイベントは、前記１以上のコネクテッド・デバイスのうちの１つのコネクテッド・デバイスにおけるユーザ入力を含む、請求項１に記載の方法。
【請求項１０】
前記複数のルールのうちの少なくとも１つのルールに関連付けられている例外を生成する工程をさらに備える、請求項１に記載の方法。
【請求項１１】
前記複数のルールを生成する工程は、評価された前記イベント・シーケンス中に存在する１以上の環境条件にさらに基づく、請求項１に記載の方法。
【請求項１２】
前記１以上の環境条件は、時刻、曜日、外気温、および周囲温度のうちの１以上を含む、請求項１１に記載の方法。
【請求項１３】
前記第１のルールは、第１の環境条件にさらに基づく、請求項１１に記載の方法。
【請求項１４】
前記第１のイベントに関連付けられている検知された環境条件を受信する工程をさらに備え、前記第１のルールが前記第１のイベントに基づくと決定する前記工程は、前記第１のルールが検知された前記環境条件にさらに基づくと決定する工程を含む、請求項１１に記載の方法。
【請求項１５】
前記複数のルールを生成する前記工程は、評価された前記イベント・シーケンスが始まるときのコネクテッド・デバイスのステータスにさらに基づく、請求項１に記載の方法。
【請求項１６】
ソフトウェアを具現化している１以上の非一時的なコンピュータ可読記憶媒体であって、前記ソフトウェアは、実行されたとき、
ネットワーク上の１以上のコネクテッド・デバイスから、前記１以上のコネクテッド・デバイスに関連付けられているイベントの通知を受信する工程と、
複数のイベント・シーケンスを評価する工程であって、各イベント・シーケンスは、特定の期間内に発生する２つ以上のイベントを含む、工程と、
評価された前記イベント・シーケンスに基づいて、複数のルールを生成する工程と、
前記ネットワーク上の第１のコネクテッド・デバイスに関連付けられている第１のイベントの通知を受信する工程と、
前記複数のルールのうちの第１のルールが前記第１のイベントに基づいていると決定する工程と、
前記第１のルールに従って１以上の命令をコネクテッド・デバイスに送信する工程と、
が行われるように構成される、媒体。
【請求項１７】
前記ソフトウェアは、実行されたとき、
各イベント・シーケンスに関連付けられているスコアを決定することによって、前記複数のイベント・シーケンスを評価する工程が行われるようにさらに構成される、請求項１６に記載の媒体。
【請求項１８】
前記ソフトウェアは、実行されたとき、
前記イベント・シーケンスが別のイベント・シーケンスと実質的に同様であると決定する工程と、
前記イベント・シーケンスに関連付けられている前記スコアを修正する工程と、
が行われるようにさらに構成される、請求項１７に記載の媒体。
【請求項１９】
前記ソフトウェアは、実行されたとき、
評価された前記イベント・シーケンス中に存在する１以上の環境条件に基づいて、前記複数のルールを生成する工程が行われるようにさらに構成される、請求項１６に記載の媒体。
【請求項２０】
１以上のプロセッサと、前記プロセッサに結合され、前記プロセッサによって実行可能な命令を含むメモリとを備えるシステムであって、前記プロセッサは、前記命令を実行するとき、
ネットワーク上の１以上のコネクテッド・デバイスから、前記１以上のコネクテッド・デバイスに関連付けられているイベントの通知を受信する工程と、
複数のイベント・シーケンスを評価する工程であって、各イベント・シーケンスは、特定の期間内に発生する２つ以上のイベントを含む、工程と、
評価された前記イベント・シーケンスに基づいて、複数のルールを生成する工程と、
前記ネットワーク上の第１のコネクテッド・デバイスに関連付けられている第１のイベントの通知を受信する工程と、
前記複数のルールのうちの第１のルールが前記第１のイベントに基づいていると決定する工程と、
前記第１のルールに従って１以上の命令をコネクテッド・デバイスに送信する工程と、
が行われるように構成される、システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は一般に、オブジェクトがシステムとデータを交換できるように電子機器およびソフトウェアに埋め込まれているオブジェクトのネットワークに関する。
【背景技術】
【０００２】
ソーシャル・ネットワーキング・システム（ソーシャルネットワーキング・ウェブサイトを含むことができる）は、そのソーシャル・ネットワーキング・システムのユーザ（人または組織など）がそのソーシャル・ネットワーキング・システムと、およびそのソーシャル・ネットワーキング・システムを通じて互いに対話することを可能にすることができる。ソーシャル・ネットワーキング・システムは、ユーザからの入力を用いて、そのユーザに関連付けられているユーザ・プロフィールを作成して、ソーシャル・ネットワーキング・システム内に記憶することができる。ユーザ・プロフィールは、人口統計学的情報、通信チャネル情報、およびユーザの個人的な関心に関する情報を含むことができる。ソーシャル・ネットワーキング・システムは、ユーザからの入力を用いて、そのユーザと、ソーシャル・ネットワーキング・システムのその他のユーザとの関係のレコードを作成および記憶すること、ならびにサービス（たとえば、ウォール投稿、写真共有、イベント編成、メッセージング、ゲーム、または広告）を提供して、ユーザ同士の間における社会的な交流を容易にすることも可能である。
【０００３】
ソーシャル・ネットワーキング・システムは、そのサービスに関連したコンテンツまたはメッセージを、１つまたは複数のネットワークを通じて、ユーザのモバイルまたはその他のコンピューティング・デバイスへ送信することができる。ユーザは、自分のユーザ・プロフィールおよびソーシャル・ネットワーキング・システム内のその他のデータにアクセスするためにソフトウェア・アプリケーションを自分のモバイルまたはその他のコンピューティング・デバイス上にインストールすることもできる。ソーシャル・ネットワーキング・システムは、ユーザにつながっているその他のユーザの集約されたストーリのニュース・フィードなど、ユーザに表示するためのコンテンツ・オブジェクトのパーソナライズされたセットを生成することができる。
【０００４】
スマートフォン、タブレット・コンピュータ、またはラップトップ・コンピュータなどのモバイル・コンピューティング・デバイスは、ＧＰＳ受信機、コンパス、ジャイロスコープ、または加速度計など、そのロケーション、方向または向きを決定するための機能を含むことができる。このようなデバイスは、ＢＬＵＥＴＯＯＴＨ（登録商標）通信、近距離無線通信（ＮＦＣ）、もしくは赤外線（ＩＲ）通信などの無線通信、または無線ローカル・エリア・ネットワーク（ＷＬＡＮ）もしくはセルラー電話ネットワークとの通信のための機能も含むことができる。このようなデバイスは、１つまたは複数のカメラ、スキャナ、タッチ・スクリーン、マイクロフォン、またはスピーカも含むことができる。モバイル・コンピューティング・デバイスは、ゲーム、ウェブ・ブラウザ、またはソーシャル・ネットワーキング・アプリケーションなどのソフトウェア・アプリケーションも実行することができる。ソーシャル・ネットワーキング・アプリケーションを用いて、ユーザは、そのソーシャル・ネットワーク内の他のユーザと、つながり、通信し、また、情報を共有することができる。
【図面の簡単な説明】
【０００５】
【図１】ソーシャル・ネットワーキング・システムに関連付けられている例示的ネットワーク環境を示す図。
【図２】例示的ソーシャル・グラフを示す図。
【図３】デバイス・クラウドを管理するための例示的アーキテクチャを示す図。
【図４】ネットワーク上でコネクテッド・デバイスに関する挙動ベースのルールを生成して実行するための例示的方法を示す図。
【図５】例示的コンピュータ・システムを示す図。
【発明を実施するための形態】
【０００６】
特定の実施形態においては、システムは、ネットワーク上のコネクテッド・デバイスについて、イベント通知を受信する。イベントは、コネクテッド・デバイスに関連付けられている出来事とすることができる。システムは、特定の期間内に発生する２つ以上のイベントを含むイベント・シーケンスを評価し、評価されたシーケンスに基づいてルールを生成する。イベント・シーケンスの特定の期間は予め決められていてもよいし、または履歴データを使用して決定してもよい。一定の実施形態においては、イベント・シーケンスはスコアを付けられてもよく、そのスコアに基づいてイベント・シーケンスのルールを生成することができる。いくつかの実施形態においては、閾値よりも大きいスコアを有するイベント・シーケンスについてのみ、ルールを生成することができる。ルールが生成されると、新たなイベント通知は、その新たなイベントに基づいて特定のルールがトリガされたかどうかを決定するために、ルールと比較される。トリガされていた場合、トリガされたルールに従ってコネクテッド・デバイスに命令が送信される。
【０００７】
以下に開示する実施形態は単なる例であり、本開示の範囲はこれに限定されるものではない。特定の実施形態は、上記開示した実施形態のコンポーネント、要素、特徴、機能、動作、または工程の全部もしくは一部を含んでもよく、または含まなくてもよい。本発明による実施形態は、方法、記憶媒体、システムおよびコンピュータ・プログラム製品に向けられた添付の請求項で特に開示され、ある請求項のカテゴリ、たとえば方法、で述べられた任意の特徴は、別の請求項のカテゴリ、たとえばシステム、でも同様に請求されることができる。添付の請求項の従属性または後方参照は、形式上の理由でのみ選択されている。しかし、任意の先行請求項への意図的な後方参照から生じる任意の主題（特に多項従属）は同様に請求されることができるので、添付の請求項で選ばれた従属性に関係なく、請求項およびその特徴の任意の組合せが開示され、請求されることができる。請求することのできる主題は、添付の請求項に記載される特徴の組合せだけでなく、請求項の特徴の任意の他の組合せも含み、請求項で述べられる各特徴は請求項の任意の他の特徴または他の特徴の組合せと組み合わせることができる。さらに、本明細書で記述または示される実施形態および特徴のいずれも、個別の請求項で、および／または、本明細書で記述もしくは示される任意の実施形態もしくは特徴または添付の請求項の特徴のいずれかとの任意の組合せで請求することができる。
【０００８】
図１は、ソーシャル・ネットワーキング・システムに関連付けられている例示的なネットワーク環境１００を示している。ネットワーク環境１００は、ネットワーク１１０によって互いにつながっているクライアント・システム１３０、ソーシャル・ネットワーキング・システム１６０、およびサードパーティ・システム１７０を含む。図１は、クライアント・システム１３０、ソーシャル・ネットワーキング・システム１６０、サードパーティ・システム１７０、およびネットワーク１１０の特定の構成を示しているが、本開示は、クライアント・システム１３０、ソーシャル・ネットワーキング・システム１６０、サードパーティ・システム１７０、およびネットワーク１１０の任意の適切な構成を想定している。クライアント・システム１３０、ソーシャル・ネットワーキング・システム１６０、およびサードパーティ・システム１７０のうちの複数は、ネットワーク１１０を迂回して、互いに直接つながることが可能である。別の例として、クライアント・システム１３０、ソーシャル・ネットワーキング・システム１６０、およびサードパーティ・システム１７０のうちの複数は、物理的にまたは論理的に、全体としてまたは部分的に互いに同一場所に配置されることが可能である。その上、図１は、特定の数のクライアント・システム１３０、ソーシャル・ネットワーキング・システム１６０、サードパーティ・システム１７０、およびネットワーク１１０を示しているが、本開示は、任意の適切な数のクライアント・システム１３０、ソーシャル・ネットワーキング・システム１６０、サードパーティ・システム１７０、およびネットワーク１１０を想定している。ネットワーク環境１００は、複数のクライアント・システム１３０、ソーシャル・ネットワーキング・システム１６０、サードパーティ・システム１７０、およびネットワーク１１０を含むことができる。
【０００９】
本開示は、任意の適切なネットワーク１１０を想定している。ネットワーク１１０の１つまたは複数の部分は、アド・ホック・ネットワーク、イントラネット、エクストラネット、仮想プライベート・ネットワーク（ＶＰＮ）、ローカル・エリア・ネットワーク（ＬＡＮ）、無線ＬＡＮ（ＷＬＡＮ）、ワイド・エリア・ネットワーク（ＷＡＮ）、無線ＷＡＮ（ＷＷＡＮ）、メトロポリタン・エリア・ネットワーク（ＭＡＮ）、インターネットの一部分、公衆交換電話網（ＰＳＴＮ）の一部分、セルラー電話ネットワーク、またはこれらのうちの複数の組合せを含むことができる。ネットワーク１１０は、１つまたは複数のネットワーク１１０を含むことができる。
【００１０】
リンク１５０は、クライアント・システム１３０、ソーシャル・ネットワーキング・システム１６０、およびサードパーティ・システム１７０を通信ネットワーク１１０に、または互いに接続することができる。本開示は、任意の適切なリンク１５０を想定している。特定の実施形態においては、１つまたは複数のリンク１５０は、１つもしくは複数の有線リンク（たとえば、デジタル・サブスクライバ・ライン（ＤＳＬ）もしくはデータ・オーバ・ケーブル・サービス・インタフェース仕様（ＤＯＣＳＩＳ）など）、無線リンク（たとえば、Ｗｉ−Ｆｉもしくはワールドワイド・インターオペラビリティー・フォー・マイクロウェーブ・アクセス（ＷｉＭＡＸ）など）、または光リンク（たとえば、同期光ネットワーク（ＳＯＮＥＴ）もしくは同期デジタル階層（ＳＤＨ）など）を含む。特定の実施形態においては、１つまたは複数のリンク１５０はそれぞれ、アド・ホック・ネットワーク、イントラネット、エクストラネット、ＶＰＮ、ＬＡＮ、ＷＬＡＮ、ＷＡＮ、ＷＷＡＮ、ＭＡＮ、インターネットの一部分、ＰＳＴＮの一部分、セルラー・テクノロジーベースのネットワーク、衛星通信テクノロジーベースのネットワーク、別のリンク１５０、または複数のそのようなリンク１５０の組合せを含む。リンク１５０は、ネットワーク環境１００の全体を通じて必ずしも同じである必要はない。１つまたは複数の第１のリンク１５０は、１つまたは複数の点において１つまたは複数の第２のリンク１５０とは異なることが可能である。
【００１１】
特定の実施形態においては、クライアント・システム１３０は、クライアント・システム１３０によって実装またはサポートされる適切な機能を実行することができる、ハードウェア、ソフトウェア、もしくは組み込みロジック・コンポーネント、または複数のそのようなコンポーネントの組合せを含む電子デバイスであることが可能である。クライアント・システム１３０は、デスクトップ・コンピュータ、ノートブック・コンピュータもしくはラップトップ・コンピュータ、ネットブック、タブレット・コンピュータなどのコンピュータ・システム、ｅブック・リーダ、ＧＰＳデバイス、カメラ、携帯情報端末（ＰＤＡ）、ハンドヘルド電子デバイス、セルラー電話、スマートフォン、強化された／仮想現実デバイス、その他の適切な電子デバイス、またはそれらの任意の適切な組合せを含むことができる。本開示は、任意の適切なクライアント・システム１３０を想定している。クライアント・システム１３０は、クライアント・システム１３０のネットワーク・ユーザがネットワーク１１０にアクセスすることを可能にすることができる。クライアント・システム１３０は、自分のユーザがその他のクライアント・システム１３０のその他のユーザと通信することを可能にすることができる。
【００１２】
特定の実施形態においては、クライアント１３０は、ＭＩＣＲＯＳＯＦＴ  ＩＮＴＥＲＮＥＴ  ＥＸＰＬＯＲＥＲ、ＧＯＯＧＬＥ  ＣＨＲＯＭＥ、またはＭＯＺＩＬＬＡ  ＦＩＲＥＦＯＸなどのウェブ・ブラウザ１３２を含むことができ、１つまたは複数のアドオン、プラグイン、またはＴＯＯＬＢＡＲもしくはＹＡＨＯＯ  ＴＯＯＬＢＡＲなどのその他の拡張を有することができる。クライアント・システム１３０のユーザは、ウェブ・ブラウザ１３２を特定のサーバ（サーバ１６２、またはサードパーティ・システム１７０に関連付けられているサーバなど）へ導くユニフォーム・リソース・ロケータ（ＵＲＬ）またはその他のアドレスを入力することができ、ウェブ・ブラウザ１３２は、ハイパー・テキスト転送プロトコル（ＨＴＴＰ）要求を生成して、そのＨＴＴＰ要求をサーバに通信することができる。サーバは、そのＨＴＴＰ要求を受け入れて、そのＨＴＴＰ要求に応答して１つまたは複数のハイパー・テキスト・マークアップ言語（ＨＴＭＬ）ファイルをクライアント・システム１３０に通信することができる。クライアント・システム１３０は、ユーザに提示するためにサーバからのＨＴＭＬファイルに基づいてウェブページをレンダリングすることができる。本開示は、任意の適切なウェブページ・ファイルを想定している。ウェブページは、特定のニーズに従って、ＨＴＭＬファイル、拡張可能ハイパー・テキスト・マークアップ言語（ＸＨＴＭＬ）ファイル、または拡張可能マークアップ言語（ＸＭＬ）ファイルからレンダリングすることができる。そのようなページは、ＪＡＶＡＳＣＲＩＰＴ（登録商標）、ＪＡＶＡ（登録商標）、ＭＩＣＲＯＳＯＦＴ  ＳＩＬＶＥＲＬＩＧＨＴで書かれたスクリプトなどのスクリプト、ＡＪＡＸ（Ａｓｙｎｃｈｒｏｎｏｕｓ  ＪＡＶＡＳＣＲＩＰＴ（登録商標）ａｎｄ  ＸＭＬ）などのマークアップ言語とスクリプトの組合せなどを実行することもできる。本明細書においては、ウェブページへの参照は、適切な場合には、（そのウェブページをレンダリングするためにブラウザが使用することができる）１つまたは複数の対応するウェブページ・ファイルを含み、その逆もまた同様である。
【００１３】
特定の実施形態においては、ソーシャル・ネットワーキング・システム１６０は、オンライン・ソーシャル・ネットワークをホストすることができるネットワークアドレス可能なコンピューティング・システムであることが可能である。ソーシャル・ネットワーキング・システム１６０は、たとえば、ユーザプロフィール・データ、コンセプトプロフィール・データ、ソーシャル・グラフ情報、またはオンライン・ソーシャル・ネットワークに関連したその他の適切なデータなどのソーシャルネットワーキング・データを生成すること、記憶すること、受け取ること、および送信することが可能である。ソーシャル・ネットワーキング・システム１６０は、ネットワーク環境１００のその他のコンポーネントによって直接、またはネットワーク１１０を通じてアクセスされることが可能である。限定するものではないが例として、クライアント・システム１３０は、直接的またはネットワーク１１０を通じて、ウェブ・ブラウザ１３２またはソーシャル・ネットワーキング・システム１６０に関連付けられているネイティブ・アプリケーション（たとえば、モバイル・ソーシャル・ネットワーキング・アプリケーション、メッセージング・アプリケーション、別の適切なアプリケーション、またはこれらの組み合わせ）を使用してソーシャル・ネットワーキング・システム１６０にアクセスしてもよい。特定の実施形態においては、ソーシャル・ネットワーキング・システム１６０は、１つまたは複数のサーバ１６２を含むことができる。それぞれのサーバ１６２は、単一のサーバ、または複数のコンピュータもしくは複数のデータセンターにわたる分散サーバであることが可能である。サーバ１６２は、ウェブ・サーバ、ニュース・サーバ、メール・サーバ、メッセージ・サーバ、広告サーバ、ファイル・サーバ、アプリケーション・サーバ、Ｅｘｃｈａｎｇｅサーバ、データベース・サーバ、プロキシ・サーバ、本明細書において記述されている機能もしくはプロセスを実行するのに適している別のサーバ、またはそれらの任意の組合せなど、さまざまなタイプのものであることが可能である。特定の実施形態においては、それぞれのサーバ１６２は、サーバ１６２によって実装またはサポートされる適切な機能を実行するためのハードウェア、ソフトウェア、もしくは組み込みロジック・コンポーネント、または複数のそのようなコンポーネントの組合せを含むことができる。特定の実施形態においては、ソーシャル・ネットワーキング・システム１６０は、１つまたは複数のデータ・ストア１６４を含むことができる。データ・ストア１６４は、さまざまなタイプの情報を記憶するために使用されることが可能である。特定の実施形態においては、データ・ストア１６４内に記憶されている情報は、特定のデータ構造に従って編成されることが可能である。特定の実施形態においては、それぞれのデータ・ストア１６４は、リレーショナル・データベースであることが可能である。特定の実施形態は、クライアント・システム１３０、ソーシャル・ネットワーキング・システム１６０、またはサードパーティ・システム１７０が、データ・ストア１６４内に記憶されている情報を管理すること、取り出すこと、修正すること、追加すること、または削除することを可能にするインタフェースを提供することができる。
【００１４】
特定の実施形態においては、ソーシャル・ネットワーキング・システム１６０は、１つまたは複数のソーシャル・グラフを１つまたは複数のデータ・ストア１６４内に記憶することができる。特定の実施形態においては、ソーシャル・グラフは、複数のノード（複数のユーザ・ノード（それぞれが、特定のユーザに対応している）、または複数のコンセプト・ノード（それぞれが、特定のコンセプトに対応している）を含むことができる）と、ノード同士をつなげる複数のエッジとを含むことができる。ソーシャル・ネットワーキング・システム１６０は、オンライン・ソーシャル・ネットワークのユーザに、その他のユーザと通信および対話する能力を提供することができる。特定の実施形態においては、ユーザたちは、ソーシャル・ネットワーキング・システム１６０を通じてオンライン・ソーシャル・ネットワークに参加し、次いで、自分たちがつながりたいと望むソーシャル・ネットワーキング・システム１６０のその他の複数のユーザにつながり（すなわち、関係）を付加することができる。本明細書においては、「友達」という用語は、ユーザがソーシャル・ネットワーキング・システム１６０を通じて、つながり、関連付け、または関係を形成しているソーシャル・ネットワーキング・システム１６０のその他の任意のユーザを示すことができる。
【００１５】
特定の実施形態においては、ソーシャル・ネットワーキング・システム１６０は、ソーシャル・ネットワーキング・システム１６０によってサポートされるさまざまなタイプのアイテムまたはオブジェクトに関してアクションを取る能力をユーザに提供することができる。それらのアイテムおよびオブジェクトは、ソーシャル・ネットワーキング・システム１６０のユーザが属することが可能であるグループもしくはソーシャル・ネットワーク、ユーザが関心を抱く可能性があるイベントもしくはカレンダー・エントリー、ユーザが使用することができるコンピュータベースのアプリケーション、ユーザがサービスを通じてアイテムを購入もしくは販売することを可能にするトランザクション、ユーザが実行することができる広告との対話、またはその他の適切なアイテムもしくはオブジェクトを含むことができる。ユーザは、ソーシャル・ネットワーキング・システム１６０において、またはサードパーティ・システム１７０の外部システム（ソーシャル・ネットワーキング・システム１６０とは別個のものであって、ネットワーク１１０を通じてソーシャル・ネットワーキング・システム１６０に結合されている）によって表されることが可能である任意のものと対話することができる。
【００１６】
特定の実施形態においては、ソーシャル・ネットワーキング・システム１６０は、さまざまなエンティティ同士をリンクできることが可能である。ソーシャル・ネットワーキング・システム１６０は、ユーザたちが互いに対話すること、ならびにサードパーティ・システム１７０もしくはその他のエンティティからのコンテンツを受け取ることを可能にすることができ、またはユーザたちがアプリケーション・プログラミング・インタフェース（ＡＰＩ）もしくはその他の通信チャネルを通じてこれらのエンティティと対話することを可能にすることができる。
【００１７】
特定の実施形態においては、サードパーティ・システム１７０は、１つもしくは複数のタイプのサーバ、１つもしくは複数のデータ・ストア、１つもしくは複数のインタフェース（ＡＰＩを含む）、１つもしくは複数のウェブ・サービス、１つもしくは複数のコンテンツ・ソース、１つもしくは複数のネットワーク、または（たとえば、サーバが通信することができる）その他の任意の適切なコンポーネントを含むことができる。サードパーティ・システム１７０は、ソーシャル・ネットワーキング・システム１６０を運営しているエンティティとは異なるエンティティによって運営されることが可能である。しかしながら、特定の実施形態においては、ソーシャル・ネットワーキング・システム１６０およびサードパーティ・システム１７０は、ソーシャル・ネットワーキング・システム１６０またはサードパーティ・システム１７０のユーザにソーシャル・ネットワーキング・サービスを提供するために互いに連携して機能することができる。この意味において、ソーシャル・ネットワーキング・システム１６０は、サードパーティ・システム１７０などのその他のシステムがインターネットを通じてソーシャル・ネットワーキング・サービスおよび機能をユーザに提供するために使用することができるプラットフォーム、またはバックボーンを提供することができる。
【００１８】
特定の実施形態においては、サードパーティ・システム１７０は、サードパーティ・コンテンツ・オブジェクト・プロバイダを含むことができる。サードパーティ・コンテンツ・オブジェクト・プロバイダは、コンテンツ・オブジェクトの１つまたは複数のソースを含むことができ、それらのソースは、クライアント・システム１３０に通信されることが可能である。コンテンツ・オブジェクトは、ユーザにとって関心がある物またはアクティビティに関する情報、たとえば、映画の開始時刻、映画のレビュー、レストランのレビュー、レストランのメニュー、製品の情報およびレビュー、またはその他の適切な情報などを含むことができる。コンテンツ・オブジェクトは、インセンティブ・コンテンツ・オブジェクト、たとえば、クーポン、ディスカウント・チケット、ギフト券、またはその他の適切なインセンティブ・オブジェクトを含むことができる。
【００１９】
特定の実施形態においては、ソーシャル・ネットワーキング・システム１６０はまた、ユーザによって生成されたコンテンツ・オブジェクトを含み、それらのコンテンツ・オブジェクトは、ソーシャル・ネットワーキング・システム１６０とのユーザの対話を高めることができる。ユーザによって生成されたコンテンツは、ユーザがソーシャル・ネットワーキング・システム１６０に付加、アップロード、送信、または「投稿」することができる任意のものを含むことができる。ユーザは、クライアント・システム１３０からソーシャル・ネットワーキング・システム１６０へ投稿を通信する。投稿は、ステータス更新もしくはその他のテキスト・データ、ロケーション情報、写真、映像、リンク、音楽、またはその他の類似したデータもしくはメディアなどのデータを含むことができる。コンテンツは、ニュース・フィードまたはストリームなどの「通信チャネル」を通じてサードパーティによってソーシャル・ネットワーキング・システム１６０に付加されることも可能である。
【００２０】
特定の実施形態においては、ソーシャル・ネットワーキング・システム１６０は、さまざまなサーバ、サブシステム、プログラム、モジュール、ログ、およびデータ・ストアを含むことができる。特定の実施形態においては、ソーシャル・ネットワーキング・システム１６０は、ウェブ・サーバ、アクション・ロガー、ＡＰＩ要求サーバ、関連性およびランキング・エンジン、コンテンツ・オブジェクト分類子、通知コントローラ、アクション・ログ、サードパーティ・コンテンツ・オブジェクト露出ログ、推測モジュール、認可／プライバシ・サーバ、検索モジュール、広告ターゲティング・モジュール、ユーザインタフェース・モジュール、ユーザプロフィール・ストア、つながりストア、サードパーティ・コンテンツ・ストア、またはロケーション・ストアのうちの１つまたは複数を含むことができる。ソーシャル・ネットワーキング・システム１６０は、適切なコンポーネント、たとえば、ネットワーク・インタフェース、セキュリティー・メカニズム、ロード・バランサ、フェイルオーバ・サーバ、管理およびネットワークオペレーション・コンソール、その他の適切なコンポーネント、またはそれらの任意の適切な組合せを含むこともできる。特定の実施形態においては、ソーシャル・ネットワーキング・システム１６０は、ユーザ・プロフィールを記憶するための１つまたは複数のユーザプロフィール・ストアを含むことができる。ユーザ・プロフィールは、たとえば、経歴情報、人口統計学的情報、挙動情報、ソーシャルな情報、またはその他のタイプの記述的情報、たとえば、職業経験、学歴、趣味もしくは好み、関心、親近感、またはロケーションを含むことができる。関心情報は、１つまたは複数のカテゴリに関連した関心を含むことができる。カテゴリは、一般的または具体的であることが可能である。ユーザが、あるブランドの靴に関するストーリに対して「いいね！」の表明をした場合には、カテゴリは、そのブランド、または「靴」もしくは「衣類」という一般的なカテゴリであることが可能である。ユーザに関するつながり情報を記憶するために、つながりストアが使用されることが可能である。つながり情報は、類似のもしくは共通の職業経験、グループ・メンバーシップ、趣味、学歴を有しているか、または何らかの形で関連しているか、もしくは共通の属性を共有しているユーザ同士を示すことができる。つながり情報は、さまざまなユーザおよびコンテンツ（内部および外部の両方）の間におけるユーザ定義のつながりを含むこともできる。ネットワーク１１０を通じてソーシャル・ネットワーキング・システム１６０を１つもしくは複数のクライアント・システム１３０または１つもしくは複数のサードパーティ・システム１７０にリンクさせるために、ウェブ・サーバが使用されることが可能である。ウェブ・サーバは、ソーシャル・ネットワーキング・システム１６０と、１つまたは複数のクライアント・システム１３０との間においてメッセージを受け取って回送するためにメール・サーバまたはその他のメッセージング機能を含むことができる。ＡＰＩ要求サーバは、サードパーティ・システム１７０が、１つまたは複数のＡＰＩを呼び出すことによってソーシャル・ネットワーキング・システム１６０からの情報にアクセスすることを可能にすることができる。ソーシャル・ネットワーキング・システム１６０の上のまたは外のユーザのアクションに関してウェブ・サーバから通信を受け取るために、アクション・ロガーが使用されることが可能である。アクション・ログとともに、サードパーティコンテンツ・オブジェクトへのユーザの露出についてのサードパーティコンテンツオブジェクト・ログが保持されることが可能である。通知コントローラは、コンテンツ・オブジェクトに関する情報をクライアント・システム１３０に提供することができる。情報は、通知としてクライアント・システム１３０へプッシュされることが可能であり、または情報は、クライアント・システム１３０から受け取られた要求に応答してクライアント・システム１３０からプルされることが可能である。ソーシャル・ネットワーキング・システム１６０のユーザの１つまたは複数のプライバシ設定を実施するために、認可サーバが使用されることが可能である。ユーザのプライバシ設定は、ユーザに関連付けられている特定の情報がどのように共有されることが可能であるかを特定する。認可サーバは、ユーザが、たとえば、適切なプライバシ設定を設定することなどによって、自分のアクションをソーシャル・ネットワーキング・システム１６０によって記録されること、またはその他のシステム（たとえば、サードパーティ・システム１７０）と共有されることのオプト・インまたはオプト・アウトを行うことを可能にすることができる。サードパーティ・システム１７０などのサードパーティから受け取られたコンテンツ・オブジェクトを記憶するために、サードパーティコンテンツオブジェクト・ストアが使用されることが可能である。ユーザに関連付けられているクライアント・システム１３０から受け取られたロケーション情報を記憶するために、ロケーション・ストアが使用されることが可能である。広告価格設定モジュールが、ソーシャルな情報、現在時刻、ロケーション情報、またはその他の適切な情報を組み合わせて、関連がある広告を、通知の形式でユーザに提供することができる。
【００２１】
図２は、例示的なソーシャル・グラフ２００を示している。特定の実施形態においては、ソーシャル・ネットワーキング・システム１６０は、１つまたは複数のソーシャル・グラフ２００を１つまたは複数のデータ・ストア内に記憶することができる。特定の実施形態においては、ソーシャル・グラフ２００は、複数のノード（複数のユーザ・ノード２０２、または複数のコンセプト・ノード２０４を含むことができる）と、ノード同士をつなげる複数のエッジ２０６とを含むことができる。図２において示されている例示的なソーシャル・グラフ２００は、教示上の目的から、二次元の視覚的マップ表示で示されている。特定の実施形態においては、ソーシャル・ネットワーキング・システム１６０、クライアント・システム１３０、またはサードパーティ・システム１７０は、適切なアプリケーションに関してソーシャル・グラフ２００および関連したソーシャル・グラフ情報にアクセスすることができる。ソーシャル・グラフ２００のノードおよびエッジは、データ・オブジェクトとして、たとえば（ソーシャル・グラフ・データベースなどの）データ・ストア内に記憶されることが可能である。そのようなデータ・ストアは、ソーシャル・グラフ２００のノードまたはエッジの１つまたは複数の検索可能なまたはクエリ可能なインデックスを含むことができる。
【００２２】
特定の実施形態においては、ユーザ・ノード２０２は、ソーシャル・ネットワーキング・システム１６０のユーザに対応することができる。ユーザは、ソーシャル・ネットワーキング・システム１６０と、またはソーシャル・ネットワーキング・システム１６０を通じて対話または通信する個人（人間のユーザ）、エンティティ（たとえば、企業、ビジネス、もしくはサードパーティ・アプリケーション）、または（たとえば、個人もしくはエンティティの）グループであることが可能である。特定の実施形態においては、あるユーザがソーシャル・ネットワーキング・システム１６０とのアカウントに登録した場合には、ソーシャル・ネットワーキング・システム１６０は、そのユーザに対応するユーザ・ノード２０２を作成し、そのユーザ・ノード２０２を１つまたは複数のデータ・ストア内に記憶することができる。本明細書において記述されているユーザおよびユーザ・ノード２０２は、適切な場合には、登録されているユーザ、および登録されているユーザに関連付けられているユーザ・ノード２０２を示すことができる。追加として、または代替として、本明細書において記述されているユーザおよびユーザ・ノード２０２は、適切な場合には、ソーシャル・ネットワーキング・システム１６０に登録されていないユーザを示すことができる。特定の実施形態においては、ユーザ・ノード２０２は、ユーザによって提供された情報、またはソーシャル・ネットワーキング・システム１６０を含むさまざまなシステムによって収集された情報に関連付けられることが可能である。ユーザは、自分の名前、プロフィール画像、連絡先情報、生年月日、性別、婚姻状況、家族状況、勤務先、学歴、好み、関心、またはその他の人口統計学的情報を提供することができる。特定の実施形態においては、ユーザ・ノード２０２は、ユーザに関連付けられている情報に対応する１つまたは複数のデータ・オブジェクトに関連付けられることが可能である。特定の実施形態においては、ユーザ・ノード２０２は、１つまたは複数のウェブページに対応することができる。
【００２３】
特定の実施形態においては、コンセプト・ノード２０４は、コンセプトに対応することができる。コンセプトは、場所（たとえば、映画館、レストラン、ランドマーク、もしくは都市など）、ウェブサイト（たとえば、ソーシャルネットワーク・システム１６０に関連付けられているウェブサイト、もしくはウェブアプリケーション・サーバに関連付けられているサードパーティ・ウェブサイトなど）、エンティティ（たとえば、人、企業、グループ、スポーツ・チーム、もしくは有名人など）、ソーシャル・ネットワーキング・システム１６０内に、もしくはウェブアプリケーション・サーバなどの外部サーバ上に配置されることが可能であるリソース（たとえば、オーディオ・ファイル、営業ファイル、デジタル写真、テキスト・ファイル、構造化文書、もしくはアプリケーションなど）、物的もしくは知的財産（たとえば、彫塑、絵画、映画、ゲーム、曲、着想、写真、もしくは執筆作品など）、ゲーム、アクティビティ、着想もしくは理論、強化された／仮想現実環境におけるオブジェクト、別の適切なコンセプト、または複数のそのようなコンセプトに対応することができる。コンセプト・ノード２０４は、ユーザによって提供されたコンセプトの情報、またはソーシャル・ネットワーキング・システム１６０を含むさまざまなシステムによって収集された情報に関連付けられることが可能である。コンセプトの情報は、名前もしくはタイトル、１つもしくは複数のイメージ（たとえば、本の表紙のイメージ）、ロケーション（たとえば、住所もしくは地理的ロケーション）、（ＵＲＬに関連付けられることが可能である）ウェブサイト、連絡先情報（たとえば、電話番号もしくは電子メール・アドレス）、その他の適切なコンセプト情報、またはそのような情報の任意の適切な組合せを含むことができる。特定の実施形態においては、コンセプト・ノード２０４は、コンセプト・ノード２０４に関連付けられている情報に対応する１つまたは複数のデータ・オブジェクトに関連付けられることが可能である。特定の実施形態においては、コンセプト・ノード２０４は、１つまたは複数のウェブページに対応することができる。
【００２４】
特定の実施形態においては、ソーシャル・グラフ２００内のノードは、ウェブページ（「プロフィール・ページ」と呼ばれる場合もある）を表すこと、またはウェブページによって表されることが可能である。プロフィール・ページは、ソーシャル・ネットワーキング・システム１６０によってホストされること、またはソーシャル・ネットワーキング・システム１６０にとってアクセス可能であることが可能である。プロフィール・ページは、サードパーティ・サーバ１７０に関連付けられているサードパーティ・ウェブサイト上にホストされることも可能である。特定の外部ウェブページに対応するプロフィール・ページは、その特定の外部ウェブページであることが可能であり、そのプロフィール・ページは、特定のコンセプト・ノード２０４に対応することができる。プロフィール・ページは、その他のユーザのうちのすべてまたは選択されたサブセットによって閲覧できることが可能である。ユーザ・ノード２０２は、対応するユーザ・プロフィール・ページを有することができ、そのユーザ・プロフィール・ページにおいては、対応するユーザが、コンテンツを付加すること、言明を行うこと、またはその他の形で自分自身を表現することが可能である。コンセプト・ノード２０４は、対応するコンセプトプロフィール・ページを有することができ、そのコンセプトプロフィール・ページにおいては、１人または複数のユーザが、特にコンセプト・ノード２０４に対応するコンセプトに関連して、コンテンツを付加すること、言明を行うこと、または自分自身を表現することが可能である。
【００２５】
特定の実施形態においては、コンセプト・ノード２０４は、サードパーティ・システム１７０によってホストされているサードパーティ・ウェブページまたはリソースを表すことができる。サードパーティ・ウェブページまたはリソースは、数ある要素の中でも、コンテンツ、選択可能なもしくはその他のアイコン、または、アクションもしくはアクティビティを表す（たとえば、ＪＡＶＡＳＣＲＩＰＴ（登録商標）、ＡＪＡＸ、もしくはＰＨＰコードで実装されることが可能である）その他の対話可能なオブジェクトを含むことができる。サードパーティ・ウェブページは、「いいね！」、「チェックイン」、「食べる」、「推奨する」、または別の適切なアクションもしくはアクティビティなどの選択可能なアイコンを含むことができる。サードパーティ・ウェブページを閲覧しているユーザは、それらのアイコンのうちの１つ（たとえば、「チェックイン」）を選択することによってアクションを実行して、クライアント・システム１３０に、そのユーザのアクションを示すメッセージをソーシャル・ネットワーキング・システム１６０へ送信させることができる。そのメッセージに応答して、ソーシャル・ネットワーキング・システム１６０は、ユーザに対応するユーザ・ノード２０２と、サードパーティ・ウェブページまたはリソースに対応するコンセプト・ノード２０４との間においてエッジ（たとえば、「チェックイン」のタイプのエッジ）を作成して、エッジ２０６を１つまたは複数のデータ・ストア内に記憶することができる。
【００２６】
特定の実施形態においては、ソーシャル・グラフ２００内の１対のノードが、１つまたは複数のエッジ２０６によって互いにつながることが可能である。１対のノードをつなげるエッジ２０６は、それらの１対のノードの間における関係を表すことができる。特定の実施形態においては、エッジ２０６は、１対のノードの間における関係に対応する１つまたは複数のデータ・オブジェクトまたは属性を含むことまたは表すことが可能である。第１のユーザは、第２のユーザが第１のユーザの「友達」であるということを示すことができる。この表示に応答して、ソーシャル・ネットワーキング・システム１６０は、「友達要求」を第２のユーザに送信することができる。第２のユーザがその「友達要求」を承認した場合には、ソーシャル・ネットワーキング・システム１６０は、ソーシャル・グラフ２００内で第１のユーザのユーザ・ノード２０２を第２のユーザのユーザ・ノード２０２につなげるエッジ２０６を作成して、エッジ２０６をソーシャル・グラフ情報としてデータ・ストア１６４のうちの１つまたは複数の中に記憶することができる。図２の例においては、ソーシャル・グラフ２００は、ユーザ「Ａ」のユーザ・ノード２０２と、ユーザ「Ｂ」のユーザ・ノード２０２との間における友達関係を示すエッジ２０６と、ユーザ「Ｃ」のユーザ・ノード２０２と、ユーザ「Ｂ」のユーザ・ノード２０２との間における友達関係を示すエッジとを含む。本開示は、特定のユーザ・ノード２０２同士をつなげる特定の属性を伴う特定のエッジ２０６を記述している、または示しているが、本開示は、ユーザ・ノード２０２同士をつなげる任意の適切な属性を伴う任意の適切なエッジ２０６を想定している。エッジ２０６は、友達関係、家族関係、ビジネスもしくは雇用関係、ファン関係（たとえば、「いいね」と表明することなどを含む）、フォロワー関係、ビジター関係（たとえば、アクセスすること、閲覧すること、チェックインをすること、共有することなどを含む）、サブスクライバ関係、上下関係、互恵的関係、非互恵的関係、別の適切なタイプの関係、または複数のそのような関係を表すことができる。その上、本開示は一般に、ノード同士をつながっているものとして記述しているが、本開示はまた、ユーザ同士またはコンセプト同士をつながっているものとして記述している。本明細書においては、つながっているユーザ同士またはコンセプト同士への言及は、適切な場合には、１つまたは複数のエッジ２０６によってソーシャル・グラフ２００内でつながっているそれらのユーザ同士またはコンセプト同士に対応するノード同士を示すことができる。
【００２７】
特定の実施形態においては、ユーザ・ノード２０２とコンセプト・ノード２０４との間におけるエッジ２０６は、ユーザ・ノード２０２に関連付けられているユーザによって、コンセプト・ノード２０４に関連付けられているコンセプトに対して実行された特定のアクションまたはアクティビティを表すことができる。図２において示されているように、ユーザは、コンセプトに対して「いいね！を表明すること」、「通うこと」、「プレイすること」、「聴くこと」、「料理すること」、「勤務すること」、または「観ること」を行った可能性があり、それらの各々は、エッジ・タイプまたはサブタイプに対応することができる。コンセプト・ノード２０４に対応するコンセプトプロフィール・ページは、たとえば、選択可能な「チェックイン」アイコン（たとえば、クリック可能な「チェックイン」アイコンなど）、または選択可能な「お気に入りに追加」アイコンを含むことができる。同様に、ユーザがこれらのアイコンをクリックした後に、ソーシャル・ネットワーキング・システム１６０は、それぞれのアクションに対応するユーザのアクションに応答して「お気に入り」エッジまたは「チェックイン」エッジを作成することができる。限定ではなく、別の例として、あるユーザ（ユーザ「Ｃ」）が、特定のアプリケーション（オンライン音楽アプリケーションであるＳＰＯＴＩＦＹ）を使用して特定の曲（「イマジン」）を聴く場合がある。このケースにおいては、ソーシャル・ネットワーキング・システム１６０は、そのユーザに対応するユーザ・ノード２０２と、その曲およびアプリケーションに対応するコンセプト・ノード２０４との間において、（図２に示されているような）「聴いた」エッジ２０６および「使用した」エッジを作成して、そのユーザがその曲を聴いてそのアプリケーションを使用したということを示すことができる。その上、ソーシャル・ネットワーキング・システム１６０は、その曲に対応するコンセプト・ノード２０４と、そのアプリケーションに対応するコンセプト・ノード２０４との間において、（図２に示されているような）「再生した」エッジ２０６を作成して、その特定の曲がその特定のアプリケーションによって再生されたということを示すことができる。このケースにおいては、「再生した」エッジ２０６は、外部アプリケーション（ＳＰＯＴＩＦＹ）によって外部オーディオ・ファイル（「イマジン」という曲）に関して実行されたアクションに対応する。本開示は、ユーザ・ノード２０２とコンセプト・ノード２０４とをつなげる特定の属性を伴う特定のエッジ２０６について記述しているが、本開示は、ユーザ・ノード２０２とコンセプト・ノード２０４とをつなげる任意の適切な属性を伴う任意の適切なエッジ２０６を想定している。その上、本開示は、単一の関係を表すユーザ・ノード２０２とコンセプト・ノード２０４との間におけるエッジについて記述しているが、本開示は、１つまたは複数の関係を表すユーザ・ノード２０２とコンセプト・ノード２０４との間におけるエッジを想定している。エッジ２０６は、ユーザが特定のコンセプトに対して「いいね！」の表明をしているということ、およびその特定のコンセプトを使用したということの両方を表すことができる。あるいは、別のエッジ２０６は、（図２において、ユーザ「Ｅ」を表すユーザ・ノード２０２と、「ＳＰＯＴＩＦＹ」を表すコンセプト・ノード２０４との間において示されているような）ユーザ・ノード２０２とコンセプト・ノード２０４との間におけるそれぞれのタイプの関係（または、単一の関係が複数集まったもの）を表すことができる。
【００２８】
特定の実施形態においては、ソーシャル・ネットワーキング・システム１６０は、ソーシャル・グラフ２００内でユーザ・ノード２０２とコンセプト・ノード２０４との間においてエッジ２０６を作成することができる。（たとえば、ユーザのクライアント・システム１３０によってホストされているウェブ・ブラウザまたは専用のアプリケーションを使用することなどによって）コンセプトプロフィール・ページを閲覧しているユーザは、「いいね！」アイコンをクリックまたは選択することにより、コンセプト・ノード２０４によって表されているコンセプトを自分が気に入っているということを示すことができ、その「いいね！」アイコンをクリックまたは選択することは、ユーザのクライアント・システム１３０に、そのコンセプトプロフィール・ページに関連付けられているそのコンセプトをそのユーザが気に入っているということを示すメッセージをソーシャル・ネットワーキング・システム１６０へ送信させることができる。そのメッセージに応答して、ソーシャル・ネットワーキング・システム１６０は、そのユーザとコンセプト・ノード２０４との間における「いいね！」エッジ２０６によって示されているように、そのユーザに関連付けられているユーザ・ノード２０２とコンセプト・ノード２０４との間においてエッジ２０６を作成することができる。特定の実施形態においては、ソーシャル・ネットワーキング・システム１６０は、エッジ２０６を１つまたは複数のデータ・ストア内に記憶することができる。特定の実施形態においては、エッジ２０６は、特定のユーザ・アクションに応答してソーシャル・ネットワーキング・システム１６０によって自動的に形成されることが可能である。第１のユーザが、画像をアップロードすること、映画を観ること、または曲を聴くことを行った場合には、エッジ２０６は、第１のユーザに対応するユーザ・ノード２０２と、それらのコンセプトに対応するコンセプト・ノード２０４との間において形成されることが可能である。本開示は、特定の様式で特定のエッジ２０６を形成することについて記述しているが、本開示は、任意の適切な様式で任意の適切なエッジ２０６を形成することを想定している。
【００２９】
特定の実施形態においては、広告は、１つもしくは複数のウェブページ上に提示されるか、１つもしくは複数の電子メールに提示されるか、またはユーザが要求した検索結果に関係して提示される、テキスト（ＨＴＭＬリンク付けすることができる）、１つもしくは複数の画像（ＨＴＭＬリンク付けすることができる）、１つもしくは複数の動画、音声、他の適切なデジタル・オブジェクト・ファイル、これらの適切な組合せ、または任意の適切なデジタル・フォーマットの任意の他の適切な広告とすることができる。追加として、または代替として、広告は、１つもしくは複数のスポンサー付きストーリ（たとえば、ソーシャル・ネットワーキング・システム１６０上のニュース・フィードまたはティッカ・アイテム）とすることができる。スポンサー付きストーリは、たとえば、社会的活動をユーザのプロフィール・ページもしくは他のページの所定の領域内に提示させ、広告主に関連付けられている追加情報とともに提示させ、他のユーザのニュース・フィードもしくはティッカ内で上方に移動もしくはその他の形で強調表示させるか、またはその他の形で促進させることによって、広告主が促進する、ユーザによる社会的活動とすることができる（あるページに「いいね！」を表明すること、もしくはあるページ上の投稿にコメントすること、あるページに関連付けられているイベントに出欠の返事をすること、あるページに投稿されている質問に投票すること、ある場所にチェックインすること、アプリケーションを使用するかもしくはゲームをすること、またはウェブサイトに「いいね！」を表明するかもしくは共有すること）。広告主は代金を払って社会的活動を促進してもらうことができる。社会的活動は、ソーシャル・ネットワーキング・システム１６０内またはその上で促進することができる。追加として、または代替として、社会的活動は、適切な場合、ソーシャル・ネットワーキング・システム１６０の外部、つまりその外で促進することができる。特定の実施形態においては、ページは、ストーリの共有および人々とのつながりを促進する企業、組織またはブランドのオンライン・プレゼンス（ソーシャル・ネットワーキング・システム１６０内または外のウェブページまたはウェブサイトなど）とすることができる。ページは、たとえば、アプリケーションを追加するか、ストーリを投稿するか、またはイベントを主催することによってカスタマイズされる。
【００３０】
スポンサー付きストーリは、ユーザのニュース・フィード内のストーリから生成され、ソーシャル・ネットワーキング・システム１６０に関連付けられているウェブページを閲覧するときに、ユーザのウェブ・ブラウザのディスプレイ内の特定の領域に促進することができる。スポンサー付きストーリは、少なくとも部分的には、スポンサー付きストーリが一般にユーザの友達、ファン・ページまたは他のつながりによる対話または提案を伴うため、ユーザから閲覧される可能性がより高い。スポンサー付きストーリに関連して、特定の実施形態は、「有機的アクティビティ・ストリームからのスポンサー付きストーリユニット生成（Ｓｐｏｎｓｏｒｅｄ  Ｓｔｏｒｉｅｓ  Ｕｎｉｔ  Ｃｒｅａｔｉｏｎ  ｆｒｏｍ  Ｏｒｇａｎｉｃ  Ａｃｔｉｖｉｔｙ  Ｓｔｒｅａｍ）」と題され、２０１１年１２月１５日に出願された米国特許出願第１３／３２７５５７号明細書、「有機的アクティビティ・ストリームからのスポンサー付きストーリユニット生成（Ｓｐｏｎｓｏｒｅｄ  Ｓｔｏｒｉｅｓ  Ｕｎｉｔ  Ｃｒｅａｔｉｏｎ  ｆｒｏｍ  Ｏｒｇａｎｉｃ  Ａｃｔｉｖｉｔｙ  Ｓｔｒｅａｍ）」と題され、２０１２年２月３日に米国特許出願第１３／０２０７４５号として出願された米国特許出願公開第２０１２／０２０３８３１号明細書、または「スポンサー付きストーリの推薦購読（Ｅｎｄｏｒｓｅｍｅｎｔ  Ｓｕｂｓｃｒｉｐｔｉｏｎｓ  ｆｏｒ  Ｓｐｏｎｓｏｒｅｄ  Ｓｔｏｒｉｅｓ）」と題され、２０１１年３月９日に米国特許出願第１３／０４４５０６号として出願された米国特許出願公開第２０１２／０２３３００９号明細書に開示される１つもしくは複数のシステム、コンポーネント、要素、機能、方法、動作または工程を利用することができ、これらはすべて例として本願明細書に援用される。特定の実施形態においては、スポンサー付きストーリは、「スポンサー付きストーリのためのコンピュータ・ビジョン・コンテンツ検知（Ｃｏｍｐｕｔｅｒ‐Ｖｉｓｉｏｎ  Ｃｏｎｔｅｎｔ  Ｄｅｔｅｃｔｉｏｎ  ｆｏｒ  Ｓｐｏｎｓｏｒｅｄ  Ｓｔｏｒｉｅｓ）」と題され、２０１１年８月１８日に出願された米国特許出願第１３／２１２３５６号明細書に開示されるように、アップロードされた画像または写真内の、広告主と明示的なつながりのない製品を検知するために、コンピュータ・ビジョン・アルゴリズムを利用することができ、これは例として本願明細書に援用される。
【００３１】
前述したように、広告は、テキスト（ＨＴＭＬリンク付けすることができる）、１つもしくは複数の画像（ＨＴＭＬリンク付けすることができる）、１つもしくは複数の動画、音声、１つもしくは複数のＡＤＯＢＥ  ＦＬＡＳＨファイル、これらの適切な組合せ、または任意の適切なデジタル・フォーマットの任意の他の適切な広告とすることができる。特定の実施形態においては、広告は、サードパーティのウェブページ、ソーシャル・ネットワーキング・システムのウェブページ、または他のページ内への表示を要求することができる。広告は、ページ最上部のバナー領域、ページのサイドの欄、ページのＧＵＩ、ポップアップ・ウィンドウ、ページのコンテンツの上に重ねて、またはページに関する他の場所など、ページの専用部分に表示することができる。追加として、または代替として、広告は、アプリケーション内またはゲーム内に表示することができる。広告は、専用ページ内に表示することができ、ユーザがページにアクセスするか、アプリケーションを利用するか、またはゲームをする前に、ユーザに、広告と対話するかまたは広告を見ることを要求する。ユーザは、たとえば、ウェブ・ブラウザを通じて広告を閲覧することができる。
【００３２】
ユーザは、任意の適切な様式で広告と対話することができる。ユーザは、広告をクリックするかまたはその他の形で選択することができ、広告は、ユーザ（またはユーザが使用しているブラウザもしくは他のアプリケーション）を、広告に関連付けられているページに導くことができる。広告に関連付けられているページで、ユーザは、広告に関連付けられている製品もしくはサービスを購入するか、広告に関連付けられている情報を受け取るか、または広告に関連付けられているニュースレターを購読するなど、追加のアクションを取ることができる。音声または動画付きの広告は、広告の構成要素（「再生ボタン」など）を選択することによって再生することができる。特定の実施形態においては、広告は、１つまたは複数のゲームを含むことができ、ユーザまたは他のアプリケーションは、そのゲームを、広告に関連してプレイすることができる。広告は、広告内に世論調査または質問に応答する機能を含むことができる。
【００３３】
広告は、ユーザが対話できるソーシャル・ネットワーキング・システム機能を含むことができる。たとえば、広告は、推薦に関連付けられているアイコンまたはリンクを選択することによって、ユーザが広告に「いいね！」を表明するか、またはその他の形で広告を推薦できるようにすることができる。同様に、ユーザは、別のユーザと（たとえば、ソーシャル・ネットワーキング・システム１６０を通じて）広告を共有するか、または広告に関連付けられているイベントへの出欠の返事をすることができる（たとえば、ソーシャル・ネットワーキング・システム１６０を通じて）。追加として、または代替として、広告は、ユーザに向けられるソーシャル・ネットワーキング・システムのコンテンツを含むことができる。たとえば、広告は、ユーザの、広告の主題に関連付けられているアクションを取ったことのあるソーシャル・ネットワーキング・システム１６０内の友達に関する情報を表示することができる。
【００３４】
ソーシャル・ネットワーキング・システムの機能またはコンテンツは、任意の適切な様式で広告に関連付けることができる。たとえば、（広告の入札を受け取り、応答して広告を選択するためのハードウェア、ソフトウェア、またはその両方を含むことができる）広告システムは、広告をユーザに配信する前に、ソーシャル・ネットワーキング・システム１６０からソーシャル・ネットワーキングの機能またはコンテンツを引き出して、引き出したソーシャル・ネットワーキングの機能またはコンテンツを広告に組み込むことができる。ソーシャル・ネットワーキング・システムの機能またはコンテンツを選択し、広告とともに提供する例は、「オンライン広告と共にソーシャル・エンドースメントを提供すること（Ｐｒｏｖｉｄｉｎｇ  Ｓｏｃｉａｌ  Ｅｎｄｏｒｓｅｍｅｎｔｓ  ｗｉｔｈ  Ｏｎｌｉｎｅ  Ａｄｖｅｒｔｉｓｉｎｇ）」と題され、２０１０年１０月５日に米国特許出願第１２／８９８６６２号として出願された米国特許出願公開第２０１２／００８４１６０号明細書、および「視聴ユーザに表示する広告のためのソーシャル・エンドースメント情報の選択（Ｓｅｌｅｃｔｉｎｇ  Ｓｏｃｉａｌ  Ｅｎｄｏｒｓｅｍｅｎｔ  Ｉｎｆｏｒｍａｔｉｏｎ  ｆｏｒ  ａｎ  Ａｄｖｅｒｔｉｓｅｍｅｎｔ  ｆｏｒ  Ｄｉｓｐｌａｙ  ｔｏ  ａ  Ｖｉｅｗｉｎｇ  Ｕｓｅｒ）」と題され、２０１１年３月８日に米国特許出願第１３／０４３４２４号として出願された米国特許出願公開第２０１２／０２３２９９８号明細書に開示されており、これらはともに例としてのみ本願明細書に援用される。ソーシャル・ネットワーキング・システムの機能またはコンテンツに関連付けられている広告との対話は、対話に関する情報をソーシャル・ネットワーキング・システム１６０のユーザのプロフィール・ページに表示させることができる。
【００３５】
特定の実施形態は、広告をより関連性があるかまたは有用だと思う可能性のより高いユーザへの広告の配信を促進することができる。たとえば、広告主は、自社広告がより関連性があるかまたは有用だと思う可能性ののより高いユーザを識別してターゲットにすることによって、より高い転換率（そのため、より高い投資利益率（ＲＯＩ））を実現することができる。広告主は、ソーシャル・ネットワーキング・システム１６０内のユーザ・プロフィール情報を使用して、ユーザを識別することができる。追加として、または代替として、ソーシャル・ネットワーキング・システム１６０は、ソーシャル・ネットワーキング・システム１６０内のユーザ・プロフィール情報を使用して、広告主のためのユーザを識別することができる。例として、特定の実施形態は、イベントの招待状もしくは提案、クーポンに関する提案、取引、または欲しいものリストの品物、友達のライフ・イベントに関する提案、グループに関する提案、広告、またはソーシャル広告を用いて、ユーザをターゲットにすることができる。このようなターゲティングは、適切な場合、ソーシャル・ネットワーキング・システム１６０上もしくは内、ソーシャル・ネットワーキング・システム１６０の外もしくは外部、またはユーザのモバイル・コンピューティング・デバイス上で発生することができる。ソーシャル・ネットワーキング・システム１６０上または内の場合、該ターゲティングは、ユーザのニュース・フィード、検索結果、電子メールもしくは他の受信トレイ、もしくは通知チャネルに向けることができ、またはコンシェルジュもしくはグルーパ領域（これは同じコンセプト、ノードもしくはオブジェクトに関連付けられている広告を右側のレールに沿ってグループ化することができる）またはネットワーク・エゴ領域（ユーザがウェブページで閲覧しているものとユーザの現在のニュース・フィードに基づくことができる）のウェブページの右側サイドなど、ソーシャル・ネットワーキング・システム１６０のウェブページの特定の領域に現れることができる。ソーシャル・ネットワーキング・システム１６０の外または外部の場合、該ターゲティングは、サードパーティ・ウェブサイトを通じて、たとえばアド・エクスチェンジまたはソーシャル・プラグインを含むことによって、提供することができる。ユーザのモバイル・コンピューティング・デバイス上にあるとき、該ターゲティングは、モバイル・コンピューティング・デバイスへのプッシュ通知を通じて提供することができる。
【００３６】
ユーザを識別してターゲットにするために使用されるターゲティング基準は、ソーシャル・ネットワーキング・システム１６０上で明示的に述べられたユーザの関心、またはソーシャル・ネットワーキング・システム１６０上でのノード、オブジェクト、エンティティ、ブランドもしくはページとのユーザの明示的なつながりを含むことができる。追加として、または代替として、該ターゲティング基準は、暗黙的または推定されたユーザの関心またはつながりを含むことができる（これは、ユーザの経歴、人口統計学的情報、社会的もしくは他の活動、友達の社会的もしくは他の活動、購読、またはユーザに似た他のユーザの前記事項のいずれか（たとえば、共有される関心、つながり、またはイベントに基づく）を含むことができる）。特定の実施形態は、プラットフォーム・ターゲティングを利用することができ、これには、プラットフォームおよび「いいね！」インプレッション・データ、コンテキスト信号（たとえば、「コカ・コーラのページを誰が今閲覧しているか、または最近閲覧したか」）、弱いつながり（たとえば、「チェックイン」）、つながりの似たもの、ファン、抽出されたキーワード、ＥＭＵ広告、推定による広告、係数、アフィニティもしくは他のソーシャル・グラフ情報、友達の友達つながり、ピン留めもしくはブースティング、取引、世論調査、世帯所得、ソーシャル・クラスタもしくはグループ、画像もしくは他の媒体で検知された製品、ソーシャル・グラフもしくはオープン・グラフのエッジ・タイプ、地理的な予測、プロフィールもしくはページの閲覧数、ステータスの更新もしくは他のユーザの投稿（その分析は自然言語処理もしくはキーワード抽出に関わる）、イベント情報、または協調フィルタリングを含むことができる。ユーザを識別してターゲットにすることは、適切な場合、プライバシ設定（ユーザのオプト・アウトなど）、データ・ハッシング、またはデータ匿名化も含むことができる。
【００３７】
ユーザを広告のターゲットにするために、特定の実施形態は、以下に開示される１つまたは複数のシステム、コンポーネント、要素、機能、方法、動作または工程を利用することができ、これらはすべて例として本願明細書に援用される。すなわち、「ソーシャル・ネットワーキング・ウェブサイト上の社交的広告および他の情報メッセージ、ならびにその広告モデル（Ｓｏｃｉａｌ  Ａｄｖｅｒｔｉｓｅｍｅｎｔｓ  ａｎｄ  Ｏｔｈｅｒ  Ｉｎｆｏｒｍａｔｉｏｎａｌ  Ｍｅｓｓａｇｅｓ  ｏｎ  ａ  Ｓｏｃｉａｌ  Ｎｅｔｗｏｒｋｉｎｇ  Ｗｅｂｓｉｔｅ  ａｎｄ  Ａｄｖｅｒｔｉｓｉｎｇ  Ｍｏｄｅｌ  ｆｏｒ  Ｓａｍｅ）」と題され、２００８年８月１８日に米国特許出願第１２／１９３７０２号として出願された米国特許出願公開第２００９／０１１９１６７号明細書、「ソーシャル・ネットワークにおける広告のターゲット設定（Ｔａｒｇｅｔｉｎｇ  Ａｄｖｅｒｔｉｓｅｍｅｎｔｓ  ｉｎ  ａ  Ｓｏｃｉａｌ  Ｎｅｔｗｏｒｋ）」と題され、２００８年８月２０日に米国特許出願第１２／１９５３２１号として出願された米国特許出願公開第２００９／００７０２１９号明細書、「広告に関連付けられたオブジェクトとやり取りしたユーザの友人に対するターゲット型ソーシャル広告（Ｔａｒｇｅｔｉｎｇ  Ｓｏｃｉａｌ  Ａｄｖｅｒｔｉｓｉｎｇ  ｔｏ  Ｆｒｉｅｎｄｓ  ｏｆ  Ｕｓｅｒｓ  Ｗｈｏ  Ｈａｖｅ  Ｉｎｔｅｒａｃｔｅｄ  Ｗｉｔｈ  ａｎ  Ｏｂｊｅｃｔ  Ａｓｓｏｃｉａｔｅｄ  ｗｉｔｈ  ｔｈｅ  Ａｄｖｅｒｔｉｓｉｎｇ）」と題され、２０１０年１２月１５日に米国特許出願第１２／９６８７８６号として出願された米国特許出願公開第２０１２／０１５８５０１号明細書、または「ソーシャル・ネットワーキング・システムにおけるコンテキスト上関連のあるアフィニティ予測（Ｃｏｎｔｅｘｔｕａｌｌｙ  Ｒｅｌｅｖａｎｔ  Ａｆｆｉｎｉｔｙ  Ｐｒｅｄｉｃｔｉｏｎ  ｉｎ  ａ  Ｓｏｃｉａｌ‐Ｎｅｔｗｏｒｋｉｎｇ  Ｓｙｓｔｅｍ）」と題され、２０１０年１２月２３日に米国特許出願第１２／９７８２６５号として出願された米国特許出願公開第２０１２／０１６６５３２号明細書である。
【００３８】
広告は、ウェブ・ブラウザもしくは他のアプリケーションのプラグイン、インラインフレーム要素、ニュース・フィード、ティッカ、通知（たとえば、電子メール、ショート・メッセージ・サービス（ＳＭＳ）メッセージ、もしくは通知を含むことができる）、または他の手段を使用して提示またはその他の形で配信することができる。広告は、ユーザのモバイル・コンピューティング・デバイスまたは他のコンピューティング・デバイス上で、ユーザに提示またはその他の形で配信することができる。広告の配信に関連して、特定の実施形態は、以下に開示される１つまたは複数のシステム、コンポーネント、要素、機能、方法、動作または工程を利用することができ、これらはすべて例として本願明細書に援用される。すなわち、「サードパーティ・システムのためのコメント・プラグイン（Ｃｏｍｍｅｎｔ  Ｐｌｕｇ‐Ｉｎ  ｆｏｒ  Ｔｈｉｒｄ‐Ｐａｒｔｙ  Ｓｙｓｔｅｍ）」と題され、２０１０年１２月１５日に米国特許出願第１２／９６９３６８号として出願された米国特許出願公開第２０１２／０１５９６３５号明細書、「コメント・オーダリング・システム（Ｃｏｍｍｅｎｔ  Ｏｒｄｅｒｉｎｇ  Ｓｙｓｔｅｍ）」と題され、２０１０年１２月１５日に米国特許出願第１２／９６９４０８号として出願された米国特許出願公開第２０１２／０１５８７５３号明細書、「ソーシャル・ネットワークのユーザについてのニュース・フィードを動的に提供すること（Ｄｙｎａｍｉｃａｌｌｙ  Ｐｒｏｖｉｄｉｎｇ  ａ  Ｎｅｗｓ  Ｆｅｅｄ  Ａｂｏｕｔ  ａ  Ｕｓｅｒ  ｏｆ  ａ  Ｓｏｃｉａｌ  Ｎｅｔｗｏｒｋ）」と題され、２００６年８月１１日に米国特許出願第１１／５０３２４２号として出願された米国特許第７６６９１２３号明細書、「ソーシャル・ネットワーク環境においてエンティティに対するユーザのアフィニティおよび監視されるアクションに基づいてニュース・フィードを提供すること（Ｐｒｏｖｉｄｉｎｇ  ａ  Ｎｅｗｓｆｅｅｄ  Ｂａｓｅｄ  ｏｎ  Ｕｓｅｒ  Ａｆｆｉｎｉｔｙ  ｆｏｒ  Ｅｎｔｉｔｉｅｓ  ａｎｄ  Ｍｏｎｉｔｏｒｅｄ  Ａｃｔｉｏｎｓ  ｉｎ  ａ  Ｓｏｃｉａｌ  Ｎｅｔｗｏｒｋ  Ｅｎｖｉｒｏｎｍｅｎｔ）」と題され、２００６年８月１１日に米国特許出願第１１／５０３０９３号として出願された米国特許第８４０２０９４号明細書、「ニュース・フィードのためのアクション・クラスタリング（Ａｃｔｉｏｎ  Ｃｌｕｓｔｅｒｉｎｇ  ｆｏｒ  Ｎｅｗｓ  Ｆｅｅｄｓ）」と題され、２０１０年９月１６日に米国特許出願第１２／８８４０１０号として出願された米国特許出願公開第２０１２／００７２４２８号明細書、「ソーシャル・ネットワーキング・サービスにおけるつながりについての情報の収集（Ｇａｔｈｅｒｉｎｇ  Ｉｎｆｏｒｍａｔｉｏｎ  ａｂｏｕｔ  Ｃｏｎｎｅｃｔｉｏｎｓ  ｉｎ  ａ  Ｓｏｃｉａｌ  Ｎｅｔｗｏｒｋｉｎｇ  Ｓｅｒｖｉｃｅ）」と題され、２００９年７月１日に米国特許出願第１２／４９６６０６号として出願された米国特許出願公開第２０１１／０００４６９２号明細書、「オンライン・ソーシャル・ネットワークにおけるユーザ・コンテンツの変更を追跡するための方法およびシステム（Ｍｅｔｈｏｄ  ａｎｄ  Ｓｙｓｔｅｍ  ｆｏｒ  Ｔｒａｃｋｉｎｇ  Ｃｈ��ｎｇｅｓ  ｔｏ  Ｕｓｅｒ  Ｃｏｎｔｅｎｔ  ｉｎ  ａｎ  Ｏｎｌｉｎｅ  Ｓｏｃｉａｌ  Ｎｅｔｗｏｒｋ）」と題され、２００６年９月１２日に米国特許出願第１１／５３１１５４号として出願された米国特許出願公開第２００８／００６５７０１号明細書、「外部ソースからオンライン・ソーシャル・ネットワークのユーザのランディング・ページに対して更新を配信すること（Ｆｅｅｄｉｎｇ  Ｕｐｄａｔｅｓ  ｔｏ  Ｌａｎｄｉｎｇ  Ｐａｇｅｓ  ｏｆ  Ｕｓｅｒｓ  ｏｆ  ａｎ  Ｏｎｌｉｎｅ  Ｓｏｃｉａｌ  Ｎｅｔｗｏｒｋ  ｆｒｏｍ  Ｅｘｔｅｒｎａｌ  Ｓｏｕｒｃｅｓ）」と題され、２００７年１月１７日に米国特許出願第１１／６２４０８８号として出願された米国特許出願公開第２００８／００６５６０４号明細書、「統合型ソーシャル・ネットワーク環境（Ｉｎｔｅｇｒａｔｅｄ  Ｓｏｃｉａｌ‐Ｎｅｔｗｏｒｋ  Ｅｎｖｉｒｏｎｍｅｎｔ）」と題され、２０１０年４月１９日に米国特許出願第１２／７６３１７１号として出願された米国特許第８２４４８４８号明細書、「ソーシャル・ネットワーキング・サービスにおけるロケーションベースのコンテンツ・アイテムの共有（Ｓｈａｒｉｎｇ  ｏｆ  Ｌｏｃａｔｉｏｎ‐Ｂａｓｅｄ  Ｃｏｎｔｅｎｔ  Ｉｔｅｍ  ｉｎ  Ｓｏｃｉａｌ‐Ｎｅｔｗｏｒｋｉｎｇ  Ｓｅｒｖｉｃｅ）」と題され、２００９年１０月６日に米国特許出願第１２／５７４６１４号として出願された米国特許出願公開第２０１１／００８３１０１号明細書、「ソーシャル・グラフ情報を用いるロケーション・ランキング（Ｌｏｃａｔｉｏｎ  Ｒａｎｋｉｎｇ  Ｕｓｉｎｇ  Ｓｏｃｉａｌ‐Ｇｒａｐｈ  Ｉｎｆｏｒｍａｔｉｏｎ）」と題され、２０１０年８月１８日に米国特許出願第１２／８５８７１８号として出願された米国特許第８１５０８４４号明細書、「ユーザの通知許容レベルに基づいたユーザへの通知の送信（Ｓｅｎｄｉｎｇ  Ｎｏｔｉｆｉｃａｔｉｏｎｓ  ｔｏ  Ｕｓｅｒｓ  Ｂａｓｅｄ  ｏｎ  Ｕｓｅｒｓ’  Ｎｏｔｉｆｉｃａｔｉｏｎ  Ｔｏｌｅｒａｎｃｅ  Ｌｅｖｅｌｓ）」と題され、２０１１年３月１８日に出願された米国特許出願第１３／０５１２８６号明細書、「ユーザ・デバイスにプッシュされる通知の管理（Ｍａｎａｇｉｎｇ  Ｎｏｔｉｆｉｃａｔｉｏｎｓ  Ｐｕｓｈｅｄ  ｔｏ  Ｕｓｅｒ  Ｄｅｖｉｃｅｓ）」と題され、２０１１年４月２８日に出願された米国特許出願第１３／０９６１８４号明細書、「プラットフォーム固有の通知配信チャネル（Ｐｌａｔｆｏｒｍ‐Ｓｐｅｃｉｆｉｃ  Ｎｏｔｉｆｉｃａｔｉｏｎ  Ｄｅｌｉｖｅｒｙ  Ｃｈａｎｎｅｌ）」と題され、２０１１年１０月１８日に出願された米国特許出願第１３／２７６２４８号明細書、または「ジオソーシャル・ネットワーキング・システムにおけるソーシャル要素を用いるモバイル広告（Ｍｏｂｉｌｅ  Ａｄｖｅｒｔｉｓｅｍｅｎｔ  ｗｉｔｈ  Ｓｏｃｉａｌ  Ｃｏｍｐｏｎｅｎｔ  ｆｏｒ  Ｇｅｏ‐Ｓｏｃｉａｌ  Ｎｅｔｗｏｒｋｉｎｇ  Ｓｙｓｔｅｍ）」と題され、２０１１年２月１日に米国特許出願第１３／０１９０６１号として出願された米国特許出願公開第２０１２／０１９７７０９号明細書である。本開示は、特定の広告が特定の方法で、特定のコンテンツに関連して配信されることを説明し、または示してい��が、本開示は、任意の適切な広告が任意の適切な方法で、任意の適切なコンテンツに関連して配信されることを企図する。
【００３９】
特定の実施形態においては、ソーシャル・ネットワーキング・システム１６０は、アフィニティ係数（本明細書では「係数」ということもある）を使用して、ソーシャル・グラフ・アフィニティを測定または定量化することができる。係数は、オンライン・ソーシャル・ネットワークに関連付けられている特定のオブジェクト間の関係の強度を表すか、または定量化することができる。係数は、また、ユーザの特定のアクションへの関心に基づいて、ユーザがそのアクションを実行する確率を表すか、または予測される確率を測定する関数を表すことができる。このように、ユーザの将来のアクションはユーザの過去のアクションに基づいて予測されることができ、その係数は少なくとも部分的にユーザのアクションの履歴で計算されることができる。係数を使用して、オンライン・ソーシャル・ネットワーク内または外の任意の数のアクションを予測することができる。これらのアクションは、メッセージの送信、コンテンツの投稿もしくはコンテンツに対するコメントなどの様々なタイプの通信、プロフィール・ページ、メディアもしくは他の適切なコンテンツへのアクセスもしくはそれらの視聴などの様々なタイプの観察アクション、同じグループであること、同じ写真にタグ付けされること、同じロケーションにチェックインすること、もしくは同じイベントに出席することなど、２つ以上のソーシャル・グラフ・エンティティに関する様々なタイプの同時発生情報、または他の適切なアクションを含むことができる。本開示は、特定の様式でアフィニティを測定することを説明しているが、本開示は、任意の適切な様式でアフィニティを測定することを企図する。
【００４０】
特定の実施形態においては、ソーシャル・ネットワーキング・システム１６０は、係数を計算するために多様な因子を使用することができる。これらの因子には、たとえば、ユーザ・アクション、オブジェクト間の関係のタイプ、ロケーション情報、他の適切な因子、またはその任意の組合せを含むことができる。特定の実施形態においては、係数を計算するときに、異なる因子に異なる重みを付けることができる。各因子の重みは静的であってもよく、または、たとえば、ユーザ、関係のタイプ、アクションのタイプ、ユーザのロケーションなどに応じて、重みを変えてもよい。ユーザの総合的な係数を決定するために、因子のレーティングをその重みに応じて組み合わせることができる。特定のユーザ・アクションには、レーティングおよび重みの両方を割り当てることができるが、特定のユーザ・アクションに関連付けられている関係には、レーティングおよび相関する重み（たとえば、そのため、重みの合計は１００％）が割り当てられる。特定のオブジェクトに対するユーザの係数を計算するには、ユーザのアクションに割り当てられるレーティングが、たとえば、総合的な係数の６０％を占めることができ、ユーザとオブジェクトとの関係が、総合的な係数の４０％を占めることができる。特定の実施形態においては、ソーシャル・ネットワーキング・システム１６０は、係数を計算するために使用される様々な因子の重みを決定するとき、たとえば、情報にアクセスされてからの時間、減衰因子、アクセスの頻度、情報との関係もしくは情報がアクセスされたオブジェクトとの関係、オブジェクトとつながりのあるソーシャル・グラフ・エンティティとの関係、ユーザ・アクションの短期的もしくは長期的な平均、ユーザ・フィードバック、他の適切な変数、またはその任意の組合せなど、多様な変数を考慮することができる。係数は、特定のアクションが提供する信号の強度を時間の経過とともに減衰させる減衰因子を含むことができ、係数を計算するときに、より最近のアクションをより関連性があるようにする。レーティングおよび重みは、係数が根拠とするアクションの継続的な追跡に基づいて、継続的に更新することができる。各因子のレーティングと因子に割り当てられる重みとの割当て、組合せ、平均化などを行うために、任意のタイプのプロセスまたはアルゴリズムを採用することができる。特定の実施形態においては、ソーシャル・ネットワーキング・システム１６０は、履歴アクションおよび過去のユーザの応答に基づいて訓練された機械学習アルゴリズム、またはユーザに様々なオプションを提示して応答を測定することによってユーザから集められたデータを使用して、係数を決定することができる。本開示は、特定の様式で係数を計算することを説明しているが、本開示は、任意の適切な様式で係数を計算することを企図する。
【００４１】
特定の実施形態では、ソーシャル・ネットワーキング・システム１６０は、ユーザのアクションに基づいて係数を計算することができる。ソーシャル・ネットワーキング・システム１６０は、オンライン・ソーシャル・ネットワーク、サードパーティ・システム１７０、他の適切なシステム、またはその任意の組合せ上で、該アクションを監視することができる。任意の適切なタイプのユーザ・アクションを追跡または監視することができる。典型的なユーザ・アクションは、プロフィール・ページを閲覧すること、コンテンツを作成もしくは投稿すること、コンテンツと対話すること、画像をタグ付けするもしくは画像にタグ付けされること、グループに参加すること、イベントへの参加をリスト化し確認すること、ロケーションでチェックインすること、特定のページに「いいね！」を表明すること、ページを作成すること、および社会的活動を促す他のタスクを行うことを含む。特定の実施形態においては、ソーシャル・ネットワーキング・システム１６０は、特定のタイプのコンテンツを伴うユーザのアクションに基づいて係数を計算することができる。コンテンツは、オンライン・ソーシャル・ネットワーク、サードパーティ・システム１７０、または別の適切なシステムに関連付けられてもよい。コンテンツは、ユーザ、プロフィール・ページ、投稿、ニュース・ストーリ、ヘッドライン、インスタント・メッセージ、チャットルームの会話、電子メール、広告、写真、動画、音楽、他の適切なオブジェクト、またはその任意の組合せを含むことができる。ソーシャル・ネットワーキング・システム１６０はユーザのアクションを分析して、アクションのうちの１つまたは複数が、主題、コンテンツ、他のユーザなどに関するアフィニティを示すかどうかを決定することができる。ユーザが「コーヒー」またはその変異形に関係するコンテンツを頻繁に投稿する場合、ソーシャル・ネットワーキング・システム１６０は、ユーザが「コーヒー」コンセプトに対して高い係数を有すると決定することができる。特定のアクションまたは特定のタイプのアクションに、他のアクションよりも高い重みおよび／またはレーティングを割り当てることができ、それで総合的な係数の算出値に影響を与えることができる。第１のユーザが第２のユーザに電子メールを送信する場合、そのアクションに関する重みまたはレーティングは、第１のユーザが第２のユーザのユーザ・プロフィール・ページを単に閲覧するだけの場合よりも高くすることができる。
【００４２】
特定の実施形態においては、ソーシャル・ネットワーキング・システム１６０は、特定のオブジェクト間の関係のタイプに基づいて、係数を計算することができる。ソーシャル・グラフ２００を参照して、ソーシャル・ネットワーキング・システム１６０は、係数を計算するときに、特定のユーザ・ノード２０２とコンセプト・ノード２０４とをつなげるエッジ２０６の数および／またはタイプを分析することができる。配偶者タイプのエッジ（２名のユーザが結婚していることを表す）によってつながっているユーザ・ノード２０２には、友達タイプのエッジによってつながっているユーザ・ノード２０２よりも高い係数を割り当てることができる。言い換えれば、特定のユーザのアクションと関係とに割り当てられる重みに応じて、総合アフィニティは、ユーザの友達に関するコンテンツよりもユーザの配偶者に関するコンテンツに対して高いと決定されることができる。特定の実施形態においては、ユーザが他のオブジェクトに対して有する関係が、そのオブジェクトの係数を計算することに関して、ユーザのアクションの重みおよび／またはレーティングに影響することができる。ユーザが第１の写真でタグ付けされるが、第２の写真には「いいね！」を表明しただけの場合、コンテンツに対してタグ付けタイプの関係を有することは、コンテンツに対して「いいね！」表明タイプの関係をもつよりも、高い重みおよび／またはレーティングを割り当てられることができるので、ソーシャル・ネットワーキング・システム１６０は、ユーザが第２の写真よりも第１の写真に関して高い係数を有すると決定することができる。特定の実施形態においては、ソーシャル・ネットワーキング・システム１６０は、１人または複数の第２のユーザが特定のオブジェクトに対して有する関係に基づいて、第１のユーザの係数を計算することができる。言い換えれば、他のユーザがオブジェクトに対して有するつながりおよび係数が、そのオブジェクトに関する第１のユーザの係数に影響することができる。第１のユーザが１人または複数の第２のユーザとつながりがあるかまたはそれに関する係数が高く、その第２のユーザが特定のオブジェクトとつながりがあるかまたはそれに関する係数が高い場合、ソーシャル・ネットワーキング・システム１６０は、第１のユーザもその特定のオブジェクトに関して比較的高い係数を有するはずだと決定することができる。特定の実施形態においては、係数は、特定のオブジェクト間の分離度に基づくことができる。係数が低いほど、ソーシャル・グラフ２００において第１のユーザと間接的につながりのあるユーザのコンテンツ・オブジェクトに対して、第１のユーザが関心を共有する見込みが低いことを表すことができる。ソーシャル・グラフ２００においてより近くにある（たとえば、分離度が小さい）ソーシャル・グラフ・エンティティ同士は、ソーシャル・グラフ２００でより離れたエンティティ同士よりも、高い係数を有することができる。
【００４３】
特定の実施形態においては、ソーシャル・ネットワーキング・システム１６０は、ロケーション情報に基づいて係数を計算することができる。互いに地理的により近くにあるオブジェクトは、より遠くにあるオブジェクトよりも、互いにより関係があるかまたはより関心があると考えることができる。特定の実施形態において、特定のオブジェクトに対するユーザの係数は、ユーザに関連付けられている現在のロケーション（またはユーザのクライアント・システム１３０のロケーション）とオブジェクトのロケーションとの近さに基づくことができる。第１のユーザは、第１のユーザのより近くにある他のユーザまたはコンセプトに、より関心を抱くかもしれない。ユーザが空港から１．６１ｋｍ（１マイル）、給油所から３．２２ｋｍ（２マイル）のところにいる場合、ソーシャル・ネットワーキング・システム１６０は、ユーザに対する空港の近さに基づいて、ユーザは給油所よりも空港に関する係数が高いと決定することができる。
【００４４】
特定の実施形態においては、ソーシャル・ネットワーキング・システム１６０は、係数情報に基づいてユーザに関して特定のアクションを実行することができる。係数を使用して、ユーザが特定のアクションを行うかどうかを、ユーザのそのアクションへの関心に基づいて予測することができる。広告、検索結果、ニュース・ストーリ、メディア、メッセージ、通知、または他の適切なオブジェクトなど、任意のタイプのオブジェクトを生成するかまたはユーザに提示するときに、係数を使用することができる。係数はまた、該オブジェクトを、適切な場合、ランク付けまたは順位付けするために利用することができる。このように、ソーシャル・ネットワーキング・システム１６０は、ユーザの関心および現在の状況に関連する情報を提供することができるので、ユーザがそのように関心をもつ情報を見つける見込みが高まる。特定の実施形態においては、ソーシャル・ネットワーキング・システム１６０は、係数情報に基づいてコンテンツを生成することができる。コンテンツ・オブジェクトは、ユーザに固有の係数に基づいて提供または選択されることができる。ユーザのためのメディアを生成するために係数を使用することができ、その場合、メディア・オブジェクトに関してユーザが高い総合的な係数を有するメディアをユーザに提示することができる。限定ではなく、別の例として、ユーザのための広告を生成するために係数を使用することができ、その場合、広告されるオブジェクトに関してユーザが高い総合的な係数を有する広告をユーザに提示することができる。特定の実施形態においては、ソーシャル・ネットワーキング・システム１６０は、係数情報に基づいて検索結果を生成することができる。特定のユーザのための検索結果は、クエリ・ユーザに関する検索結果に関連付けられている係数に基づいて、スコアまたはランク付けすることができる。より高い係数を有するオブジェクトに対応する検索結果は、より低い係数を有するオブジェクトに対応する結果よりも、検索結果のページ上で高いランク付けをすることができる。
【００４５】
特定の実施形態においては、ソーシャル・ネットワーキング・システム１６０は、特定のシステムまたはプロセスからの係数の要求に応答して、係数を計算することができる。ある所与の状況でユーザが取り得る（または対象になり得る）可能性の高いアクションを予測するために、任意のプロセスが、ユーザについての算出係数を要求することができる。要求は、係数を計算するために使用される様々な因子について使用する、１セットの重みも含むことができる。この要求は、オンライン・ソーシャル・ネットワーク上で実行しているプロセスから、サードパーティ・システム１７０（たとえば、ＡＰＩもしくは他の通信チャネルを経由して）から、または別の適切なシステムから来ることができる。要求に応答して、ソーシャル・ネットワーキング・システム１６０は係数を計算する（または、以前に計算されて記憶されている場合には、係数情報にアクセスする）ことができる。特定の実施形態においては、ソーシャル・ネットワーキング・システム１６０は、特定のプロセスに関するアフィニティを測定することができる。異なるプロセス（オンライン・ソーシャル・ネットワーク内および外の両方）が、特定のオブジェクトまたはオブジェクトのセットに関する係数を要求することができる。ソーシャル・ネットワーキング・システム１６０は、アフィニティの尺度を要求したその特定のプロセスに関連するアフィニティの尺度を提供することができる。このように、各プロセスは、プロセスがアフィニティの尺度を使用する異なる状況に合わせられたアフィニティの尺度を受け取る。
【００４６】
ソーシャル・グラフ・アフィニティおよびアフィニティ係数に関連して、特定の実施形態では、それぞれを本願明細書に援用する２００６年８月１１日に出願された米国特許出願第１１／５０３０９３号明細書、２０１０年１２月２２日に出願された米国特許出願第１２／９７７０２７号明細書、２０１０年１２月２３日に出願された米国特許出願第１２／９７８２６５号明細書、および２０１２年１０月１日に出願された米国特許出願第１３／６３２８６９号明細書に開示された１つまたは複数のシステム、コンポーネント、要素、機能、方法、動作、または工程を利用することができる。
【００４７】
特定の実施形態では、オンライン・ソーシャル・ネットワークのコンテンツ・オブジェクトのうちの１つまたは複数が、プライバシ設定に関連付けられ得る。オブジェクトに対するプライバシ設定（または「アクセス設定」）は、任意の適切な様式で、たとえば、オブジェクトに関連付けて、認可サーバ上のインデックスで、別の適切な様式で、または任意のそれらの組合せなどで、記憶され得る。オブジェクトのプライバシ設定は、オブジェクトまたはオブジェクトに関連付けられている特定の情報がオンライン・ソーシャル・ネットワークを使用してどのようにアクセス（たとえば、閲覧、または共有）され得るかを指定することができる。オブジェクトに対するプライバシ設定により、そのオブジェクトについて特定のユーザがアクセス、閲覧、または共有することが可能になる場合、オブジェクトは、そのユーザに対して「可視」であると説明され得る。一例として、限定としてではなく、オンライン・ソーシャル・ネットワークのユーザは、ユーザ・プロフィール・ページ上の職務経験情報にアクセスすることができるユーザのセットを識別する、ユーザ・プロフィール・ページに対するプライバシ設定を指定することができ、したがって、他のユーザがその情報にアクセスすることを排除することができる。特定の実施形態では、プライバシ設定は、オブジェクトに関連付けられている特定の情報についてアクセスを許可されるべきでないユーザの「ブロック・リスト（ｂｌｏｃｋｅｄ  ｌｉｓｔ）」を指定することができる。言い換えれば、ブロック・リストは、オブジェクトが可視にされない１つまたは複数のユーザまたはエンティティを指定することができる。一例として、限定としてではなく、ユーザは、ユーザに関連付けられているフォト・アルバムにアクセスできないユーザのセットを指定することができ、したがって、それらのユーザがフォト・アルバムにアクセスすることを排除する（それとともに、場合によっては、そのユーザのセットの範囲外の特定のユーザがフォト・アルバムにアクセスすることを可能にする）。特定の実施形態では、プライバシ設定が特定のソーシャル・グラフ要素に関連付けられてよい。ノードまたはエッジのようなソーシャル・グラフ要素のプライバシ設定は、ソーシャル・グラフ要素、ソーシャル・グラフ要素に関連付けられている情報、またはソーシャル・グラフ要素に関連付けられているコンテンツ・オブジェクトが、オンライン・ソーシャル・ネットワークを使用してどのようにアクセス可能とされ得るかを指定することができる。一例として、限定としてではなく、特定の写真に対応する特定のコンセプト・ノード２０４は、写真においてタグ付けされたユーザおよびその友達によってのみ写真がアクセスされてよいことを指定する、プライバシ設定を有することができる。特定の実施形態では、プライバシ設定は、ユーザのアクションをソーシャル・ネットワーキング・システム１６０によってログを記録させること、または他のシステム（たとえばサードパーティ・システム１７０）によって共有させることに関して、ユーザがオプト・インまたはオプト・アウトすることを可能にすることができる。特定の実施形態では、オブジェクトに関連付けられてい���プライバシ設定は、許可されるアクセスまたはアクセスの拒否の任意の適切な粒度を指定することができる。一例として、限定としてではなく、アクセス、またはアクセスの拒否は、特定のユーザ（たとえば、私のみ（ｏｎｌｙ  ｍｅ）、私のルームメイト、および私の上司）、特定の分離度の範囲内のユーザ（たとえば、友達（ｆｒｉｅｎｄｓ）、友達の友達（ｆｒｉｅｎｄｓ＿ｏｆ＿ｆｒｉｅｎｄｓ））、ユーザ・グループ（たとえば、ゲーム・クラブ、私の家族）、ユーザ・ネットワーク（たとえば、特定の雇用主の従業員、特定の大学の学生もしくは卒業生）、すべてのユーザ（「パブリック（ｐｕｂｌｉｃ）」）、ユーザ無し（「プライベート（ｐｒｉｖａｔｅ）」）、サードパーティ・システム１７０のユーザ、特定のアプリケーション（たとえば、サードパーティ・アプリケーション、外部ウェブサイト）、他の適切なユーザもしくはエンティティ、またはこれらの組合せに対して指定されてよい。本開示では特定のプライバシ設定を特定の様式で使用して説明しているが、本開示は任意の適切なプライバシ設定を任意の適切な様式で使用することを企図する。
【００４８】
特定の実施形態では、１つまたは複数の認可／プライバシ・サーバが、オンライン・ソーシャル・ネットワークに関連付けられているオブジェクトに対する１つまたは複数のプライバシ設定を実施するために使用されてよい。認可サーバは、ソーシャル・ネットワーキング・システム１６０の１つまたは複数のサーバ１６２であってよい。データ・ストア１６４に記憶された特定のオブジェクトを求めるユーザから（または他のエンティティ）の要求に応答して、ソーシャル・ネットワーキング・システム１６０は、データ・ストア１６４にオブジェクトを求める要求を送ることができる。要求は、要求に関連付けられているユーザを識別することができ、認可サーバが、オブジェクトに関連付けられているプライバシ設定に基づいて、ユーザがオブジェクトにアクセスすることを認可されることを決定した場合、そのユーザ（またはユーザのクライアント・システム１３０）にのみ送られることが可能である。要求しているユーザがオブジェクトにアクセスすることを認可されない場合、認可サーバは、要求されたオブジェクトがデータ・ストア１６４から取り出されるのを防止することができ、または要求されたオブジェクトがユーザに送られるのを防止することができる。検索クエリのコンテキストにおいて、クエリ・ユーザがオブジェクトを閲覧またはアクセスすることを認可されない場合、オブジェクトは単に検索結果として生成されることが可能である。言い換えれば、オブジェクトは、クエリ・ユーザに可視である可視性を有しなければならない。オブジェクトがユーザに可視でない可視性を有する場合、オブジェクトは検索結果から除外されることが可能である。特定の実施形態では、ソーシャル・グラフ要素に対するプライバシ設定は、いくつかのノードおよびエッジを有するプライバシ・グラフとして表され得るデータ構造で記憶されてよい。プライバシ・グラフは、特定のソーシャル・グラフ要素の互いに対する可視性を、互いに対するそれらのつながりに基づいて表すことができる。データ・ストア１６４に記憶された特定の情報をユーザが要求したとき、プライバシ・グラフに関して動的に（たとえばリアルタイムで）フィルタリングを行うことにより、ソーシャル・グラフ要素のアクセス・コントロールが、要求しているユーザまたはエンティティに対して検証され認証され得る。本開示ではプライバシ設定を特定の様式で実施することを説明しているが、本開示はプライバシ設定を任意の適切な様式で実施することを企図する。
【００４９】
特定の実施形態では、１つまたは複数のサーバ１６２は、プライバシ設定を実施する認可／プライバシ・サーバであってもよい。データ・ストア１６４に記憶された特定のオブジェクトを求めるユーザから（または他のエンティティ）の要求に応答して、ソーシャル・ネットワーキング・システム１６０は、データ・ストア１６４にオブジェクトを求める要求を送ることができる。要求は、要求に関連付けられているユーザを識別することができ、認可サーバが、オブジェクトに関連付けられているプライバシ設定に基づいて、ユーザがオブジェクトにアクセスすることを認可されることを決定した場合、そのユーザ（またはユーザのクライアント・システム１３０）にのみ送られることが可能である。要求しているユーザがオブジェクトにアクセスすることを認可されない場合、認可サーバは、要求されたオブジェクトがデータ・ストア１６４から取り出されるのを防止することができ、または要求されたオブジェクトがユーザに送られるのを防止することができる。検索クエリのコンテキストにおいて、クエリ・ユーザがオブジェクトをアクセスすることを認可されない場合、オブジェクトは単に検索結果として生成されることが可能である。言い換えれば、オブジェクトは、クエリ・ユーザに可視である可視性を有してもよい。オブジェクトがユーザに可視でない可視性を有する場合、オブジェクトは検索結果から除外されることが可能である。本開示ではプライバシ設定を特定の様式で実施することを説明しているが、本開示はプライバシ設定を任意の適切な様式で実施することを企図する。
【００５０】
図３は、ソーシャル・ネットワーキング・システム１６０に接続されている１セットのコネクテッド・デバイス３０５、ゲートウェイ・デバイス３１０、制御デバイス３１５およびバックエンド・システム３２０を備える例示的システム３００を示す。コネクテッド・デバイス３０５、ゲートウェイ・デバイス３１０、制御デバイス３１５およびバックエンド・システム３２０は、それぞれ、図５のコンピュータ・システム５００などの１つまたは複数のコンピュータ・システムを備えることができる。コネクテッド・デバイス３０５、ゲートウェイ・デバイス３１０、制御デバイス３１５およびバックエンド・システム３２０は、任意の適切な接続を備える任意の適切なネットワーク（たとえば、有線接続、無線接続、またはその組合せを用いた図１のネットワーク１１０）を通じて、互いに通信することができる。システム３００のアーキテクチャを、画定された物理的空間（たとえば、家、オフィスビル、もしくは公園）内に存在するデバイスのために、または特定のユーザもしくはエンティティに関わる１セットのデバイス（たとえば、ユーザに関連付けられているコネクテッド・デバイスであって、そのデバイスはユーザの自宅、自動車、および／もしくは小規模小売店舗にあるか、またはビル群のためのドア・ロックおよびアラーム・セキュリティを管理する不動産管理会社に属する）とともに使用することができる。単一の物理的ロケーションに関わる実施形態においては、コネクテッド・デバイス３０５を制御デバイス３１５および／またはバックエンド・システム３２０に接続するために、ゲートウェイ・デバイス３１０が１つしか必要ないことがある。しかし、一定の実施形態においては、複数のゲートウェイ・デバイス３１０を使用できることは理解されるであろう（たとえば、拡張無線カバレッジが必要な大きな空間）。複数の物理的なロケーションが関わる実施形態においては、物理的なロケーション（たとえば、家、自動車および企業）のそれぞれは、そのロケーションのコネクテッド・デバイス３０５を制御デバイス３１５および／またはバックエンド・システム３２０に接続するそれ自体のそれぞれのゲートウェイ・デバイス３１０をそれぞれ有することができる。単一のロケーションの実施例では、各物理的ロケーションに複数のゲートウェイ・デバイス３１０を使用できることは理解されるであろう（たとえば、拡張無線カバレッジが必要な大きな空間）。複数のゲートウェイ・デバイス３１０の実施形態においては、各ゲートウェイ・デバイス３１０は互いに通信することができる。
【００５１】
コネクテッド・デバイス３０５は、デバイス３０５に関連付けられている情報（たとえば、イベント通知）をゲートウェイ・デバイス３１０および／またはバックエンド・システム３２０に（ゲートウェイ・デバイス３１０によって）伝送するための任意の適切なデバイスを含むことができる。コネクテッド・デバイス３０５は、複雑な埋込型コンピューディング・デバイスから、スイッチ、単純なセンサまでの任意のものを含むことができる。たとえば、図３に図示されるコネクテッド・デバイスは、デスクトップ・コンピュータ、ラップトップ、冷蔵庫、ホーム・セキュリティ・システム、テレビ、自動車、およびＳＬＲカメラを含む。特定の実施形態においては、コネクテッド・デバイスのうちの１つまたは複数は、時刻、曜日、外が暗いか明るいか、外気温、周囲温度、または任意の適切な環境条件など、１つまたは複数の環境条件を検知するように動作可能にすることができる。環境条件は、コネクテッド・デバイス３０５によって、デバイスに配置されるかまたは連結されるセンサ（たとえば、サーモスタットに連結される温度計）を使用するか、コネクテッド・デバイス３０５に記憶されている情報（たとえば、デバイスにローカルに記憶されている時刻、曜日、または日付情報）にアクセスするか、別のコネクテッド・デバイス３０５、ゲートウェイ３１０またはバックエンド・システム３２０から情報（たとえば、センサ情報または時刻、曜日もしくは日付情報）を収集するか、他のソース（たとえば、インターネット）から情報を収集するか、または上記の任意の組合せから情報を収集して（たとえば、インターネットを使用して特定の日の午後５時４７分に外が暗かったか明るかったかおよび／または天気はどうだったかを判断する）、検知することができる。
【００５２】
ゲートウェイ・デバイス３１０は、コネクテッド・デバイス３０５、制御デバイス３１５および／またはバックエンド・システム３２０とインタフェースを取るために任意の適切なデバイスを含むことができる。特定の実施形態においては、ゲートウェイ・デバイス３１０は、コネクテッド・デバイス３０５のローカル・ネットワーク制御を容易にし、クラウドで実行できるサービスのために（たとえば、バックエンド・システム３２０上で）ローカル・ゲートウェイとして機能するために必要な機能をサポートすることを可能にすることができる。特定の実施形態においては、サービスは、（たとえば、制御デバイス３１５を介して）ユーザとの通信を容易にすることができる。特定の実施形態においては、サービスおよびユーザは、自然言語を使用して通信することができ、その自然言語はさらにシステム３００の１つまたは複数のコンポーネントによって（たとえば、制御デバイス３１５、ゲートウェイ・デバイス３１０、バックエンド・システム３２０、またはその組合せによって）構文解析することができる。特定の実施形態においては、ユーザは、制御デバイス３１５上のメッセージング・アプリケーションを使用して、ゲートウェイ・デバイス３１０および／またはコネクテッド・デバイス３０５の任意のものと（ゲートウェイ・デバイス３１０によって）通信することができる。特定の実施形態においては、ゲートウェイ・デバイス３１０は、ＲＡＳＰＩＡＮ  ＬＩＮＵＸ（登録商標）を稼働し、ＷＩＦＩ、ＢＬＵＥＴＯＯＴＨ（登録商標）、ＺＷＡＶＥおよびＺＩＧＢＥＥ（登録商標）ドングルをサポートするＲＡＳＰＢＥＲＲＹ  ＰＩプラットフォームに基づくことができる。ゲートウェイ・デバイス３１０は、システム３００のデバイス間のインタフェースを取るゲートウェイ・アプリケーションをホストするために使用することができる。
【００５３】
制御デバイス３１５は、ゲートウェイ・デバイス３１０および（ゲートウェイ・デバイス３１０によって）コネクテッド・デバイス３０５とインタフェースを取るためのユーザ・インタフェースを提示するために任意の適切なデバイスを含むことができる。たとえば、制御デバイス３１５は、インストールされたアプリケーション、ブラウザ、ＳＭＳテキスティング・インタフェース、またはデバイスのオペレーティング・システムが提供するインタフェースとして、ユーザ・インタフェースを提示し、それにより、制御デバイス３１５のユーザは、ゲートウェイ３１０および／もしくはコネクテッド・デバイス３０５を制御するか、またはそれらと情報を送受信することが可能になる。特定の実施形態においては、制御デバイス３１５は、メインＵＸポイントとして作用する１つまたは複数のＵＩクライアント（たとえば、メッセージング・サービス・アプリケーション）、ソーシャル・ネットワーキング・アプリケーションまたは他のモバイル・アプリケーション（初期プロビジョニング、ＢＬＵＥＴＯＯＴＨ（登録商標）および位置検出、ならびに一般的に、メッセージング・アプリケーションのサービス・アプリケーションができないあらゆる許可関連の任意のことに使用されるヘルパー・アプリケーション）を含むことができる。特定の実施形態においては、制御デバイス３１５上で稼働する制御アプリケーションは、ユーザがコネクテッド・デバイス３０５をプロビジョニングするために使用することができる。さらなる実施形態においては、制御アプリケーションは特定のシナリオに基づいて、ユーザに固有のユーザ体験を提供することができる。特定の実施形態においては、制御デバイス３１５上で稼働する制御アプリケーションは、コネクテッド・デバイス３０５に関係する情報の閲覧、システム３００によって自動生成されたルールのセットアップと管理（以下の方法４００を使用して生成されるルールなど）、およびコネクテッド・デバイス３０５から制御デバイス３１５上のメッセージング・アプリケーションへのステータス更新のプッシュを可能にすることができる。
【００５４】
バックエンド・システム３２０は、システム３００内のコネクテッド・デバイス３０５、ゲートウェイ・デバイス３１０および制御デバイス３１５、ならびにバックエンド・システム３２０と通信する他のシステム内のコネクテッド・デバイス、ゲートウェイ・デバイスおよび制御デバイスとインタフェースを取り、そこからデータを集計するために、任意の適切なサーバまたはサーバ群を含むことができる。バックエンド・システム３２０は、メッセージング・インフラストラクチャ３２５（たとえば、制御デバイス３１５と通信するため）、バックエンド・システム３２０の要素とゲートウェイ・デバイス３１０の要素との間で（および／もしくは制御デバイス３１５との間で、ならびに／または直接コネクテッド・デバイスと）インタフェースを取るための統合層３３０（たとえば、ＰＡＲＳＥなど、多種多様なコネクテッド・デバイスとインタフェースを取るためのプラットフォームおよび／またはＡＰＩ）を備えることができる。バックエンド・システム３２０は、ゲートウェイ・デバイス３１０および各コネクテッド・デバイス３０５から受信したデータ、ならびにそれから派生したデータを含む、デバイス・イベントのデータ・ストア３３２を維持することができる。バックエンド・システム３２０は１つまたは複数のデバイス・グラフに関するデータ・ストア３３４も維持することができ、そこで、ゲートウェイ・デバイス３１０および各コネクテッド・デバイス３０５は、デバイス・ノードによってそれぞれ表すことができ、エッジがデバイス・ノードをつなげる。バックエンド・システム３２０は、デバイス・イベントを処理して分析し、デバイス・グラフを更新し、フィードバックおよび／または命令をコネクテッド・デバイス３０５および／または制御デバイス３１５に提供するためのデバイス・グラフ・インテリジェンス・インフラストラクチャ３３５を含むことができる。特定の実施形態においては、一定の機能（たとえば、本開示に従いイベント・シーケンスを評価し、そのためのルールを生成すること）は、ゲートウェイ・デバイス３１０、バックエンド・システム３２０、またはその組合せによって提供することができる。
【００５５】
バックエンド・システム３２０は、ソーシャル・ネットワーキング・システム１６０とも通信することができる。特定の実施形態においては、バックエンド・システム３２０は、ソーシャル・ネットワーキング・システム１６０、ソーシャル・ネットワーキング・システム１６０に関連付けられているソーシャル・グラフ、このようなソーシャル・グラフの特定のアイデンティティ、ソーシャル・ネットワーキング・システム１６０のユーザに与えられる通知、またはその任意の組合せを活用することができる。たとえば、バックエンド・システム３２０は、ソーシャル・ネットワーキング・システム１６０からの情報に基づいて、１つまたは複数のコネクテッド・デバイス３０５のユーザに関する識別情報を利用して、特定のコネクテッド・デバイス３０５を用いてアクションを行ったユーザ（たとえば、コネクテッド・デバイス３０５に関係するユーザ入力を行うユーザを識別する）、またはコネクテッド・デバイス３０５で発生するイベントに関連付けられたユーザ（たとえば、ドアを開いたユーザまたは解錠したユーザを識別する）を決定することができる。
【００５６】
特定の実施形態においては、ゲートウェイ・デバイス３１０は、その上で稼働するアプリケーションを有することができ、その役割は、システム３００内の様々なコネクテッド・デバイス３０５を把握して、「物理的」レベルで処理することからなる。これには、たとえば、ＢＬＵＥＴＯＯＴＨ（登録商標）、ＺＩＧＢＥＥ（登録商標）、ＺＷＡＶＥ、ＷｉＦｉ上での（無線アクセスポイントまたは直接接続による）新たなコネクテッド・デバイス３０５の検出とプロビジョニング、デバイス・タイプおよび／またはデバイスＩＤへのコネクテッド・デバイス３０５のマッピング、利用できる能力および／または機能へのデバイス・タイプのマッピング、コネクテッド・デバイス３０５の垂直な（「照明」または「ドア・ロック」など、同じまたは類似の能力など）グループ化もしくは関連付け、様々な業界プロトコルを理解するためのサポート（たとえば、ＡＬＬＪＯＹＮ、ＴＨＲＥＡＤ、ＷＥＡＶＥ、ＺＩＧＢＥＥ（登録商標）など）、バックエンド・システム３２０から渡された特定の意思（たとえば、特定のデバイスＩＤに関連付けられているもの）を直接制御およびクエリ・メッセージに翻訳すること（たとえば、ゲートウェイ・デバイスから渡された「デバイスＩＤ  ＸＸＸオン」→「Ｐｈｉｌｌｉｐｓ  ＨｕｅデバイスＩＤ  ＸＸＸ点灯」）、特定のデバイスの通知を、バックエンド・システム３２０が解釈できる論理的な通知に翻訳すること（たとえば、「Ａｕｇｕｓｔ  ＳｍａｒｔＬｏｃｋデバイスＩＤ  ＸＸＸ解錠」→「デバイスＩＤ  ＸＸＸ解錠」）、または制御デバイス３１５に通信できる論理的な通知に翻訳することを含むことができる。特定の実施形態においては、ゲートウェイ・デバイス３０１は、物理的デバイスと論理的デバイスとの間のマッピングをある程度行えるとき、これらをマシン可読構造化フォーマットに変換することができる。
【００５７】
特定の実施形態においては、ゲートウェイ・デバイス３１０で稼働するゲートウェイ・アプリケーションは、多数の様々なベンダまたは製造業者のコネクテッド・デバイス３０５をサポートすることができる。たとえば、ゲートウェイ・アプリケーションは、複数のベンダから２つ以上のコネクテッド照明（たとえば、ＰＨＩＬＬＩＰＳ  ＨＵＥ、ＢＥＬＫＩＮ  ＷＥＭＯ  ＷｉＦｉスイッチ、ＺＩＧＢＥＥ（登録商標）またはＺＷＡＶＥスマート・スイッチ）の検出およびプロビジョニング、異なるベンダ（例、ＬＯＣＫＩＴＲＯＮ、ＡＵＧＵＳＴ）の予めプロビジョニングされている１つまたは複数のスマート・ロックの制御、ＷｉＦｉコネクテッド・スピーカおよび／またはスマートＴＶおよびゲートウェイ・デバイス自体で（たとえば、ＨＤＭＩ（登録商標）ポートを介して）複数のターゲットへの音楽および／または動画の制御およびストリーミングをサポートすることができる。
【００５８】
特定の実施形態においては、バックエンド・システム３２０は、ゲートウェイ・デバイス３１０と通信するアプリケーションまたはその上で（もしくはクラウドで）実行するサービスを含むことができる。メッセージング・アプリケーションおよび自然言語処理システム（ＮＬＰ：ｎａｔｕｒａｌ  ｌａｎｇｕａｇｅ  ｐｒｏｃｅｓｓｉｎｇ）との統合、ユーザの意思の、特定の論理デバイスの制御意思への翻訳（たとえば、ＮＬＰおよびコンテキスト・アウェアネスを使用して）、および複数のデバイスが関わる複雑な挙動ルールを推定するための機械学習（ＭＬ：ｍａｃｈｉｎｅ  ｌｅａｒｎｉｎｇ）を含むことができる。特定の実施形態においては、バックエンド・システム３２０は、ゲートウェイ・デバイス３１０によって、コネクテッド・デバイス３０５の個々のものとのみインタフェースを取ることができる。特定の実施形態においては、バックエンド・システム３２０は、論理デバイス（たとえば、「照明」対「ＰＨＩＬＬＩＰＳ  ＨＵＥ」）、ユーザによって割り当てられたエイリアス（たとえば、「玄関ポーチの照明」）およびデバイス群（たとえば、「全照明」）を処理することができる。このように、バックエンド・システム３２０は、以下のインタフェースおよび能力のうちの１つ以上を提供することができる。
【００５９】
１．人が付けたデバイスの名称とホーム・ゲートウェイが提供する論理ＩＤとの関連付け（たとえば、ユーザはデバイスＩＤに「玄関ドアの照明」という名称を選択する）、水平に沿ったデバイス（同じロケーション、たとえば「リビング・ルーム」または「玄関ドア」）のグループ化／関連付け
２．人による入出力コマンドへのデバイスの能力のマッピング
３．ユーザがデバイスに割り当てた特定の名称に関連付けられているユーザから渡される特定の意思を、デバイスＩＤベースのアクションに翻訳すること（たとえば、「玄関ポーチの照明を点灯」→「デバイスＩＤ  ＸＸＸオン」）
４．ホーム・ゲートウェイが転送する特定のデバイスの通知を人が読めるフォーマットに翻訳すること（たとえば、「デバイスＩＤ  ＸＸＸ解錠」→「玄関ドア解錠」）
特定の実施形態においては、システム３００が提供する追加の特徴は、メッセージング・アプリケーションによる１つまたは複数のコネクテッド・デバイス３０５のＮＬＰ制御および通知、ユーザによるデバイスの明示的なグループ化、ならびにマルチデバイス命令の作成と実行（たとえば、「玄関ドアが解錠されたら、照明を点灯する」）を含むことができる。
【００６０】
特定の実施形態においては、コンテキスト・アウェアでコマンドを解釈できるようになるために、論理は、ユーザＩＤ（アクションを行いたいユーザ）および／または（たとえば、ＧＰＳ座標による強局在に加えて、周辺のモバイル・ネットワークの基地局ＩＤ、ＷｉＦｉ地理的ロケーション、表示されるＳＳＩＤ等のような信号に基づく）ロケーション情報に基づいたデバイス・グラフの視点に依拠する。たとえば、ユーザは、複数のゲートウェイ・デバイス３１０（たとえば、本宅、週末用マンション、別宅）に関連付けられているかもしれないが、その場合、ロケーション情報は、特定のコマンドが適用されるべき特定のデバイスを決定することができる。特定の実施形態においては、システム３００は（バックエンド・システム３２０および／またはゲートウェイ・デバイス３１０によって）、デバイス・グラフにユーザ役割設定（ユーザ、コマンドおよびロケーションベース）の構成を提供することができる（たとえば、許可モデルは、完全制御のための管理者の役割と、許可が制限された限定ユーザ役割との構成を可能にすることができる）。たとえば、ユーザは、ホームオフィスで働いている間にユーザが現在楽しんでいる音楽を、（ステレオ・システムが置かれているリビング・ルームで遊んでいる）子供に変更してほしくないかもしれない。
【００６１】
特定の実施形態においては、システム３００は（たとえば、バックエンド・システム３２０および／またはゲートウェイ・デバイス３１０を使用して）、ユーザの習慣および挙動を学習することができ、その習慣および挙動に従って自動ルールを生成することができる。たとえば、ユーザが勤務後に帰宅すると、ユーザは通例、すぐにステレオの電源を入れるかもしれない。システム３００の１つまたは複数のコンポーネントはこの習慣を検知することができ、夜の特定の時刻よりも後にユーザがドアを解錠するかまたは開くとステレオの電源を入れる、というルールを生成することができる。
【００６２】
特定の実施形態においては、システム３００は、ユーザの挙動、傾向および習慣を、特定の期間内（たとえば、最大時間量内）に発生するイベント・シーケンスを分析することにより学習することができ、イベント・シーケンスについてスコアを決定することができる。スコアが一定の閾値に達すると、そのイベント・シーケンスに関するルールを生成することができ、システムによって採用することができる。特定の実施形態においては、システム３００は、イベント・シーケンスを評価し、および／またはそれに関するルールを生成するときに、環境条件（たとえば、何時か、何曜日か（たとえば、週末対平日）、外が明るいか暗いか、建物内もしくは建物外（またはその両方）の温度は何度か、など）を考慮することができる。さらなる実施形態においては、ルールは、各イベント・シーケンスに固有にすることができ、各シーケンスに例外が設けられる。たとえば、ユーザが帰宅すると自動的にステレオの電源を入れる上記の例を用いると、ルールは、午後５時を過ぎるまでステレオの電源を入れないという時間に基づく例外を設けることができ、またはユーザが週末に帰宅するときにはステレオの電源を入れないようにすることができる。
【００６３】
特定の実施形態においては、イベントは、コネクテッド・デバイス３０５によって生成される（たとえば、ドアを解錠または開閉する、バスルームの照明を点灯するなど）。イベントが発生した後、その後特定の期間（たとえば、１分、５分、または１０分）以内に発生するイベントを評価することができる。評価は、イベント・シーケンスおよび／または条件因子（たとえば、その時の環境条件またはコネクテッド・デバイス３０５のステータス）における各イベント間の差分（デルタ）、またはタイム・スライスに注目することができ、イベント・シーケンスが習慣的および／もしくは意図的なものかまたはその他かを決定することができる。たとえば、システム３００は、イベント・シーケンスが以前に発生したことがあるかどうかを決定することでき、それに応じて、イベント・シーケンスに関連付けられるスコアを決定または調整することができる。
【００６４】
たとえば、特定の実施形態においては、イベントが発生すると、特定の時間差分（本段落においてはＤｍａｘといい、これはいくつかの実施形態では１分とすることがあり、または他の実施形態では経験に基づいて決定することがある）内のイベントを評価する（たとえば、イベント１、イベント２、・・・）。それから、次の式に基づいて、シーケンスのスコアを生成する。
【００６５】
スコア＝１−Π（Ｄｍａｘ−ｍｉｎ（ｄｅｌｔａＮ，Ｄｍａｘ））／Ｄｍａｘ
スコアは、以前のイベント・シーケンスおよび／またはイベント・シーケンスを取り巻く条件に対して評価することができる。同じ条件のイベント・シーケンスが以前に発生したことがある場合、スコアを乗じるかまたはその他の形で修正することができる。スコア付けまたはスコア調整の後、スコアが一定の閾値を超えるかどうかを決定するために、後の計算を採用することができる。スコアが閾値を超える場合、特定のイベントおよび／または条件が将来発生すると考えて、イベント・シーケンスを自動的に実施するルールを生成する。上記の例を使用して、夜（たとえば、午後５時よりも後）にユーザがドアを解錠したことをシステム３００が検知すると、システム３００は、電源を入れるようステレオに命令を送ることができる（たとえば、以下に説明するプッシュ・コマンドを使用して）。検知したイベント・シーケンスに基づいてルールを生成するための例示的方法を、図４に関して以下説明する。
【００６６】
特定の実施形態において、ルール・ランタイム・インタープリタがバックエンド・システム３２０上で稼働し、ＪＡＶＡＳＣＲＩＰＴ（登録商標）アプリケーションを備えることができ、このＪＡＶＡＳＣＲＩＰＴ（登録商標）アプリケーションが、ローカルに記憶されているルールを読み込んで、メインプロセスをスポーンし（たとえば、コネクテッド・デバイス３０５に命令をプッシュする）、任意の出力を監視する。バックエンド・システムはさらに、（ａ）統合層３３０から受信した、プッシュされたデータを構文解析し、（ｂ）構文解析した情報に基づいて、次のアクションのうちの１つ以上を行うことができる。すなわち、ルールを更新すること、新ルールをローカルに記憶すること、デバイス制御を実行すること、クエリを実行すること、デバイスを検出すること、ルールを構文解析すること、ルールによって示されるトリガ（たとえば、時間またはセンサの測定）を待つこと、トリガ時にイベントを実行すること、デバイス制御を実行すること、ルールのトリガを可能にするローカル・ウェブサーバをローカル・ネットワーク経由で稼働すること。
【００６７】
例示的なプッシュ・プロトコル
【００６８】
【数１】
2018528529.tif 000003
【００６９】
例示的なデバイス命令
【００７０】
【数２】
2018528529.tif 000004
【００７１】
特定の実施形態においては、統合層３３０からのプッシュは、以下に示すｃｕｒｌフォーマットにすることができる。
【００７２】
【数３】
2018528529.tif 000005
【００７３】
特定の実施形態においては、アプリＩＤ（たとえば、デバイスＩＤ）およびＲＥＳＴキーを、使用する特定のデバイスから取得するべきである。現在のアプリのＩＤ／キーは、「ｒｏ２ｓｑＨｙｐＺＣＶｓ４ｑｅ６ｄｗｖｊ３１ｇＯＹＬａｕｘ６ｈＢＦＧｄ６Ｊ５４ｇ」、「ｄｌ５ｇＢｎＹｃｓｕｂｇＪｔＧ９１ｄＧＰＹｉ０ｘ４０ｒＦＷｕ２ＺｙＮｘＪ６ｉｎＺ」である。特定の実施形態においては、単一のコネクテッド・デバイス３０５または特定のコネクテッド・デバイス３０５にプッシュを誘導するときには、ｗｈｅｒｅ節を使用することができる。特定の実施形態においては、すべてのコネクテッド・デバイス３０５にプッシュを送信するには、ｗｈｅｒｅ節を省略することができる。特定の実施形態においては、ｇａｔｅｗａｙ  ｉｎｓｔａｌｌａｔｉｏｎ  ＩＤは、各コネクテッド・デバイス３０５について生成される固有識別子である。一定の実施形態においては、これも統合層３３０に記憶することができる。特定の実施形態においては、ｃｏｍｍａｎｄは、ルール、検出、クエリ、制御、または更新のうちのいずれかにすることができる。これらのコマンドのそれぞれは、固有のフィールドに、コマンド・キーに従うことを求める（これは以下に概説する）。
【００７４】
特定の実施形態においては、ルール・コマンドのプッシュ・データ・フィールドは、以下に示すフォーマットにすることができる。
【００７５】
【数４】
2018528529.tif 000006
【００７６】
特定の実施形態においては、ｃｏｍｍａｎｄは上記と同じである。この場合、これが、現在のプッシュがルールを処理することを指定する。特定の実施形態においては、ａｃｔｉｏｎフィールドは、ルールで何が起こることになるか、つまり「更新」または「削除」のいずれかを指定する。指定されていない場合、デフォルトで更新になる。更新は、ルールを作成または更新するために使用するべきで、削除は、ルールを削除する。特定の実施形態においては、ｒｕｌｅ＿ｉｄフィールドは、どのルールに基づいて行為するかを指定する。新たなルールを作成しようとするときであっても、これを必ず指定しなければならない（この場合、これが新ルールのｉｄとして使用される）。これは、固有のものにすることもできる。特定の実施形態においては、ｒｕｌｅ＿ｄａｔａフィールドはアクションの更新にのみ使用し、アクションの削除には使用しない。これは、ルールを更新／保存するために使用されるデータを含む。具体的なフィールドは下記の通りである。さらなる実施形態においては、ｎａｍｅフィールドがルールの名称を指定する。これは、通例、ユーザがそれを参照するために使用できる、より分かりやすいルール名称にするべきである。
【００７７】
さらなる実施形態においては、ｔｒｉｇｇｅｒフィールドは、ルールのトリガを指定するために使用される。デバイスが一定の状態に入るときに起動されるデバイスベースのトリガと、クーロンジョブを作動させるために使用される時刻に基づくトリガの、２タイプのトリガがサポートされる。特定の実施形態においては、トリガ・フィールドは、以下の例のように見えるかもしれない。ｅｖｅｎｔフィールドは、「時間」をサポートしないことを除き、ある条件では「状態」フィールドと同一に構成することができる。
【００７８】
【数５】
2018528529.tif 000007
【００７９】
特定の実施形態においては、ｃｒｏｎフィールドは、ルールのクーロンジョブを指定し、そのクーロンジョブは、指定時刻にルールを実行させる。トリガのイベント・フィールドが文字列「時刻」である場合にのみ、これが参照される。特定の実施形態においては、ｃｏｎｄｉｔｉｏｎｓフィールドは、ルールを実行する前に追加の条件を指定することを可能にする。これは、ＡＮＤ、ＯＲおよびＮＯＴ論理演算子をサポートするＪＳＯＮツリーとして形成される。これはさらに、現在の時刻をチェックするために、およびデバイスが指定の状態にあるかどうかをチェックするために使用することができる。ｃｏｎｄｉｔｉｏｎｓフィールドの例を以下に示す。
【００８０】
さらなる実施形態においては、ｔｙｐｅフィールドは、これが状態チェックか、または論理演算かを指定する。前述したように、サポートされる論理演算は、ＡＮＤ、ＯＲおよびＮＯＴである。値、範囲および時刻の３つの状態チェックがサポートされる。
【００８１】
さらなる実施形態においては、ｃｈｅｃｋ＿ｔｙｐｅフィールドは、定義される状態チェックのタイプを指定するために使用される。これは、論理演算については必要ない。値チェックを使用して、デバイスが指定状態にあることを確認する。範囲チェックは、値の範囲を指定できることを除き、値チェックと同じ機能を提供する。時刻チェックは、ルールを実行するべき時刻を指定するために使用される。特定の実施形態においては、範囲または時刻チェックが定数である場合、ｒａｎｇｅ＿ｍｉｎおよびｒａｎｇｅ＿ｍａｘフィールドを指定しなければならない。特定の実施形態においては、値チェックが定数である場合、ｖａｌｕｅを指定しなければならない。
【００８２】
さらなる実施形態においては、ｓｔａｔｅ＿ｎａｍｅフィールドを使用して、チェックする特定のパラメータを指定する。範囲および値のチェックの場合、これは、チェックされるデバイスの値である。時刻チェックの場合、これは、分、時、日または月のいずれかにすることができる。時刻チェックに厳密な値を指定するには（時刻以外は、値チェックと同様）、ｒａｎｇｅ＿ｍｉｎおよびｒａｎｇｅ＿ｍａｘフィールドに同じ数字を使用するべきである。
【００８３】
【数６】
2018528529.tif 000008
【００８４】
特定の実施形態においては、ａｃｔｉｏｎｓフィールドは、ルールがトリガされて条件が満たされると、厳密に何が起こるべきかをルールに伝える。例は以下の通りである。さらなる実施形態においては、ｄｅｖｉｃｅＩｄフィールドは、どのデバイスにアクションを実行するかを指定する。さらなる実施形態においては、ａｃｔｉｏｎｓフィールドは、デバイスのどのパラメータを変更するべきで、各パラメータをどのように設定するべきかを示す。注記：現在、これらは、アレイの単一要素にパラメータ１つのみを指定するべきであることを除き、制御コマンドが使用するのと同じフォーマットにするべきである。
【００８５】
【数７】
2018528529.tif 000009
【００８６】
特定の実施形態においては、完全なルールは、以下の例のようにすることができる。
【００８７】
【数８】
2018528529.tif 000010
【００８８】
2018528529.tif 000011
【００８９】
2018528529.tif 000012
【００９０】
特定の実施形態においては、検出コマンドは、追加の引数を必要としない。そのため、完全検出コマンドは、以下の例と同様にすることができる。
【００９１】
【数９】
2018528529.tif 000013
【００９２】
特定の実施形態においては、コマンドは、問い合わせられたデバイスのＩＤと、それがどのタイプのデバイスかを要求する。クエリ・コマンドは、以下の例と同様にすることができる。
【００９３】
【数１０】
2018528529.tif 000014
【００９４】
特定の実施形態においては、コマンドは、コマンドで渡されるパラメータがあれば、ゲートウェイ・デバイス３１０にコネクテッド・デバイス３０５の現在の状態を変更させる。パラメータは、制御されているコネクテッド・デバイス３０５のタイプに対応するので、コマンドは、コネクテッド・デバイス３０５のタイプに従ってフォーマット化することができる。例示的なコマンドを以下に示す。
【００９５】
【数１１】
2018528529.tif 000015
【００９６】
特定の実施形態においては、デバイス・クラウド（たとえば、自宅のシステム３００）は、クラウドにおいて対応するインスタンスを有することができる。各デバイス・アクション（ユーザ・コマンド、デバイス・イベントなど）が記録されて、デバイス・クラウド・インスタンスのメッセージング・キューで送られる。レシピは、１つまたは複数のルールを含むことができる。ルールは、デバイス・アクションを有することができ、そのデバイス・アクションは、タイミングで実行するか、または別のアクションでトリガすることができる。特定のデバイス・クラウド・インスタンスは、デバイス・アクションのメッセージング・キューを消化するためのルール実行エンジンを有し、ルールを実行することができる。一定の実施形態においては、許可、能力、イベントおよびアクションを組み込んだルールが存在することができる。
【００９７】
特定の実施形態においては、基本ルールは、以下のようにすることができる。
【００９８】
【数１２】
2018528529.tif 000016
【００９９】
特定の実施形態においては、スケジュール・ルールは、以下のようにすることができる。
【０１００】
【数１３】
2018528529.tif 000017
【０１０１】
【数１４】
2018528529.tif 000018
【０１０２】
特定の実施形態においては、トリガ・ルールは、以下のようにすることができる。
【０１０３】
【数１５】
2018528529.tif 000019
【０１０４】
【数１６】
2018528529.tif 000020
【０１０５】
特定の実施形態においては、実行エンジンは、以下のようにすることができる。
【０１０６】
【数１７】
2018528529.tif 000021
【０１０７】
図４は、ネットワーク上でコネクテッド・デバイスに関する挙動ベースのルールを生成して実行するための例示的方法４００を示す。参照しやすくするために、方法４００を、図３のシステム３００内の一定のデバイスに関して以下説明する。しかし、方法４００の工程は、本開示に従いデバイス・クラウド内の任意の適切なデバイスによって行えることは理解されるであろう。方法４００は、システムの１つまたは複数のコンピューティング・デバイス（たとえば、図５のコンピュータ・システムと同様なコンピュータ・システム）によって具現化される１つまたは複数のプロセッサを使用して、コンピュータ可読媒体内に具現化されるソフトウェアまたは他の命令を実行することにより行うことができる。
【０１０８】
方法４００は工程４１０で始まり、バックエンド・システム３２０が、１つまたは複数のコネクテッド・デバイス３０５に関連付けられているイベントの通知を受信する。イベントの通知は、１つまたは複数のコネクテッド・デバイス３０５から直接、またはゲートウェイ・デバイス３１０を介して受信することができる。イベントの通知は、プレーン・テキストまたはＸＭＬなど、任意の適切なフォーマットで送信することができる。特定の実施形態においては、イベントの通知は、通知を送信したコネクテッド・デバイス３０５に関して特定の出来事が起こった旨を示す標識を含むことができる。たとえば、ドアが解錠されると、ロック（つまり、システム３００のコネクテッド・デバイス３０５）はゲートウェイ・デバイス３１０に、解錠イベントを示す通知を送信することができる。ゲートウェイ・デバイス３１０は、さらに、ロック・デバイスによって送信されたものと同じフォーマットで、またはそれとは異なるフォーマットで、通知をバックエンド・システム３２０に転送することができる。特定の実施形態においては、イベントは、コネクテッド・デバイス３０５（または制御デバイス３１５）におけるユーザ入力とすることができる。たとえば、ユーザは、夜に仕事から帰宅した後に電源が入るようにステレオに命令することができる。このように、送信されるコマンドをイベントとすることができ、またはステレオの電源が入ることをイベントとすることができ、またはその両方とすることができる。
【０１０９】
工程４２０で、バックエンド・システム３２０は、コネクテッド・デバイス３０５についてのイベント・シーケンスを評価する。イベント・シーケンスは、特定の期間内に発生した、１つまたは複数のコネクテッド・デバイス３０５に関連付けられている２つ以上のイベントを含むことができる。イベント・シーケンスは、単一のコネクテッド・デバイス３０５または複数のコネクテッド・デバイス３０５についてのイベントを含むことができる。したがって、受信されるいずれのイベントの通知についても、バックエンド・システム３２０は、そのイベントとその特定の期間内に発生する次のイベントとを分析して、イベント・シーケンス（イベントについて何かが発生する場合）を、イベントが発生するときに将来自動的に実行するためのルールにするべきかどうかを決定することができる。一定の実施形態においては、特定の期間は予め決めることができ、たとえば、１分、５分または１０分とすることができる。他の実施形態においては、特定の期間は、履歴データを用いて決定することができる。これは、生成されたルールに関連付けられるイベント・シーケンスにおける２つのイベントの最大時間差を決定することを含むことができる。たとえば、バックエンド・システム３２０は、生成されたルールで、イベント・シーケンスにおける最初のイベントと最後のイベントとの間の最大時間差に注目することができる。さらに、ユーザは、自動にしたくないルールの却下または削除から始めることができる。これらの却下に基づいて、バックエンド・システム３２０は、ルールとして維持されるイベント・シーケンスの最大時間量を決定することができ、この時間量を、イベント・シーケンスを評価するための最大時間量として使用することができる。
【０１１０】
特定の実施形態においては、複数のイベント・シーケンスを評価することは、各イベント・シーケンスに関連付けられているスコアを決定することを含む。一定の実施形態においては、各イベント・シーケンスのスコアは、イベント・シーケンスにおける２つ以上のイベント間の時間差に基づいて決定することができる。たとえば、イベント・シーケンスのイベントが時間的に互いに近くで発生する場合、そのイベント・シーケンスは比較的高いスコアを有することができる。逆に、イベント・シーケンスのイベントが、１つのイベントが起きてから何分も経ってから別のイベントが発生する場合、そのイベント・シーケンスは比較的低いスコアを有することができる。一定の実施形態では、は次の式を用いて決定することができる。
【０１１１】
スコア＝１−Π（Ｄｍａｘ−ｍｉｎ（ｄｅｌｔａＮ，Ｄｍａｘ））／Ｄｍａｘ
上記式において、Ｄｍａｘは、特定の期間を表す。
ｄｅｌｔａＮは、イベント・シーケンスにおけるＮ番目のイベントとイベント・シーケンスにおける時系列で最初のイベントとの間の時間量を表す。
【０１１２】
特定の実施形態においては、イベント・シーケンスを評価することは、そのイベント・シーケンスが別のイベント・シーケンスに実質的に類似していることを決定し、それに応じてイベント・シーケンスに関連付けられているスコアを修正することを含むことができる。たとえば、イベント・シーケンスが以前に発生したことがある場合、該イベント・シーケンスのスコアには、一定の因子を乗じることができる。
【０１１３】
工程４３０で、バックエンド・システム３２０は、工程４２０で評価されたイベント・シーケンスに基づいて、複数のルールを生成する。特定の実施形態においては、ルールを生成する工程は、イベント・シーケンスに関連付けられているスコアが閾値を超えたと決定する工程を含むことができる。閾値は、一定の実施形態においては予め決定することができ、または他の実施形態においては経験に基づいて決定することができる。たとえば、ユーザが維持または却下するルールのスコアは、将来のルールを生成するための閾値を決定するために分析することができる。
【０１１４】
特定の実施形態においては、ルールを生成するか否かは、評価されたイベント・シーケンス中に存在する１つまたは複数の環境条件に基づくことができる。１つまたは複数の環境条件は、時刻、曜日、外気温（たとえば、コネクテッド・デバイスが室内にある場合）、または周囲温度（つまり、室外または室内のコネクテッド・デバイスの周辺）のうちの１つもしくは複数を含むことができる。たとえば、ユーザは、仕事から帰宅すると、毎晩ステレオの電源を入れるかもしれないが、昼食のために帰宅したときまたは週末にはそうしない可能性がある。したがって、ユーザがドアを解錠した後にステレオの電源を自動的に入れるためのルールは、平日の午後５時過ぎにドアの解錠が発生する場合にのみトリガすることができる。
【０１１５】
特定の実施形態においては、評価中のイベント・シーケンスが始まる場合、生成されるルールはさらに、コネクテッド・デバイスのステータスに基づくことができる。たとえば、イベント・シーケンスは、ドアを解錠することとその後にステレオの電源を入れることとを含むことができる（各デバイスはコネクテッド・デバイス３０５である）。このイベント・シーケンスが発生するとき、１つまたは複数の照明が点灯している場合もあり、消灯している場合もある。これは、誰かがすでに家にいる場合（つまり、照明がすでに点灯している理由）、ユーザはステレオの電源を入れないためである可能性がある。このように、この例では、ステレオの電源を自動的に入れるためのルールは、自宅内の１つまたは複数の照明がすでに点灯しているかどうかに基づくことができる。
【０１１６】
特定の実施形態においては、複数のルールのうちの少なくとも１つのルールに関連した例外を生成することができる。いくつかの実施形態においては、例外は、バックエンド・システム３２０によって生成することができる。たとえば、ドアを解錠してステレオの電源を入れるというイベント・シーケンスを評価する際、バックエンド・システム３２０は、イベントが平日にのみ、またはほとんどが平日に発生すると決定することができる。このように、バックエンド・システム３２０は、ユーザがドアを解錠するときにステレオの電源を入れるように命令するルールに対し、週末は例外であると示す例外を生成することができる。他の実施形態においては、例外は、システムのユーザによって生成することができる。たとえば、ユーザがドアを解錠したときにステレオの電源を入れるように命令するルールが生成された後で、ユーザは、（制御デバイス３１５を通じて）週末についての例外を示すことができる。
【０１１７】
工程４４０で、バックエンド・システム３２０は、コネクテッド・デバイス３０５についてのイベント通知を受信する。通知は、工程４３０で１つまたは複数のルールがバックエンド・システム３２０によって生成された後に受信することができる。イベント通知は、第１のコネクテッド・デバイス３０５で第１のイベントが発生したことを示すことができる。
【０１１８】
工程４５０で、バックエンド・システム３２０は、工程４４０で受信したイベントが工程４３０で生成されたいずれかのルールに関連するかどうかを決定する。特定の実施形態においては、これは、複数のルールのうちの第１のルールが工程４４０で通知が受信された第１のイベントに基づくことを決定することを含む。いくつかの実施形態においては、この工程は、どのルールが第１のイベント（つまり、イベント・シーケンスにおいて時系列で最初のもの）で始まるイベント・シーケンスを有するかを決定するために、すでに生成されているルールをバックエンド・システム３２０が分析することを含むことができる。この工程はさらに、第１のイベントで始まるイベント・シーケンスを有するもののうち、どのルールが１つまたは複数のマッチング条件（たとえば、環境条件）を有するかを決定することを含むことができる。
【０１１９】
イベントがどのルールにも関連していない場合、方法は工程４４０に戻り、バックエンド・システム３２０は、コネクテッド・デバイス３０５から追加のイベント通知を受信するのを待つ。工程４５０で受信したイベントが特定のルールに関連している場合、工程４６０で、バックエンド・システム３２０は、その特定のルールに従ってコネクテッド・デバイス３０５に命令を送信する。命令は、ルールに関連付けられているコネクテッド・デバイス３０５（つまり、ルールの一部であるイベント・シーケンスに関与しているもの）にメッセージの一部として送信することができる。命令は、コネクテッド・デバイス３０５に直接、またはゲートウェイ・デバイス３１０経由で送信することができる。命令は、特定のコネクテッド・デバイス３０５に対してアクションを行うための任意の適切なフォーマットにすることができる。いくつかの実施形態においては（たとえば、異なるベンダのデバイスを有するもの）、命令を含む各メッセージのフォーマットは、各コネクテッド・デバイス３０５について異なることができる。一定の実施形態においては、命令は、図３に関して上記述べたプッシュされるルール・コマンド・フォーマットと同様なフォーマットにすることができる。このように、上記のドア・ロックとステレオとの例では、この工程は、夜にどの照明も点灯していないときにドアが解錠されたことを検知した後、ステレオの電源を入れる（または１つもしくは複数の他のアクションを行う）ための命令を送信することを含むことができる。
【０１２０】
特定の実施形態は、適切な場合、図４の方法４００の１つまたは複数の工程を繰り返すことができる。本開示は、図４の方法の特定の工程が特定の順序で発生すると説明し、示しているが、本開示は、図４の方法の任意の適切な工程が任意の適切な順序で発生することを企図する。また、本開示は、特定のコンポーネント、デバイス、または図４の方法４００の特定の工程を行うシステムを説明し、示しているが、本開示は、任意の適切なコンポーネント、デバイス、または図４の方法４００の任意の適切な工程を行うシステムの任意の適切な組合せを企図する。
【０１２１】
図５は、例示的なコンピュータ・システム５００を示している。特定の実施形態においては、１つまたは複数のコンピュータ・システム５００が、本明細書において記述されているまたは示されている１つまたは複数の方法の１つまたは複数の工程を実行する。特定の実施形態においては、１つまたは複数のコンピュータ・システム５００が、本明細書において記述されているまたは示されている機能を提供する。特定の実施形態においては、１つまたは複数のコンピュータ・システム５００上で稼働するソフトウェアが、本明細書において記述されているもしくは示されている１つもしくは複数の方法の１つもしくは複数の工程を実行し、または本明細書において記述されているもしくは示されている機能を提供する。特定の実施形態は、１つまたは複数のコンピュータ・システム５００の１つまたは複数の部分を含む。本明細書においては、コンピュータ・システムへの言及は、適切な場合には、コンピューティング・デバイスを包含することができる。その上、コンピュータ・システムへの言及は、適切な場合には、１つまたは複数のコンピュータ・システムを包含することができる。
本開示は、任意の適切な数のコンピュータ・システム５００を想定している。本開示は、任意の適切な物理的な形態を取るコンピュータ・システム５００を想定している。コンピュータ・システム５００は、組み込みコンピュータ・システム、システムオンチップ（ＳＯＣ）、シングルボード・コンピュータ・システム（ＳＢＣ）（たとえば、コンピュータオンモジュール（ＣＯＭ）もしくはシステムオンモジュール（ＳＯＭＹ）など）、デスクトップ・コンピュータ・システム、ラップトップもしくはノートブック・コンピュータ・システム、対話キオスク、メインフレーム、コンピュータ・システムのメッシュ、モバイル電話、携帯情報端末（ＰＤＡ）、サーバ、タブレット・コンピュータ・システム、強化された／仮想現実デバイス、またはこれらのうちの複数の組合せであることが可能である。適切な場合には、コンピュータ・システム５００は、１つもしくは複数のコンピュータ・システム５００を含むこと、単一型もしくは分散型であること、複数のロケーションにわたること、複数のマシンにわたること、複数のデータセンターにわたること、または、クラウド（１つもしくは複数のネットワーク内の１つもしくは複数のクラウド・コンポーネントを含むことができる）内に常駐することが可能である。適切な場合には、１つまたは複数のコンピュータ・システム５００は、本明細書において記述されているまたは示されている１つまたは複数の方法の１つまたは複数の工程を、実質的な空間上のまたは時間上の制限を伴わずに実行することができる。１つまたは複数のコンピュータ・システム５００は、本明細書において記述されているまたは示されている１つまたは複数の方法の１つまたは複数の工程をリアルタイムで、またはバッチ・モードで実行することができる。１つまたは複数のコンピュータ・システム５００は、適切な場合には、本明細書において記述されているまたは示されている１つまたは複数の方法の１つまたは複数の工程を別々の時点で、または別々のロケーションで実行することができる。
【０１２２】
特定の実施形態においては、コンピュータ・システム５００は、プロセッサ５０２、メモリ５０４、ストレージ５０６、入力／出力（Ｉ／Ｏ）インタフェース５０８、通信インタフェース５１０、およびバス５１２を含む。本開示は、特定の数の特定のコンポーネントを特定の構成で有する特定のコンピュータ・システムについて記述し、示しているが、本開示は、任意の適切な数の任意の適切なコンポーネントを任意の適切な構成で有する任意の適切なコンピュータ・システムを想定している。
【０１２３】
特定の実施形態においては、プロセッサ５０２は、コンピュータ・プログラムを構成している命令などの命令を実行するためのハードウェアを含む。命令を実行するために、プロセッサ５０２は、内部レジスタ、内部キャッシュ、メモリ５０４、またはストレージ５０６から命令を取り出し（またはフェッチし）、それらの命令をデコードして実行し、次いで、１つまたは複数の結果を内部レジスタ、内部キャッシュ、メモリ５０４、またはストレージ５０６に書き込むことができる。特定の実施形態においては、プロセッサ５０２は、データ、命令、またはアドレスのための１つまたは複数の内部キャッシュを含むことができる。本開示は、適切な場合には、任意の適切な数の任意の適切な内部キャッシュを含むプロセッサ５０２を想定している。プロセッサ５０２は、１つまたは複数の命令キャッシュ、１つまたは複数のデータ・キャッシュ、および１つまたは複数の変換ルックアサイド・バッファ（ＴＬＢ）を含むことができる。命令キャッシュ内の命令は、メモリ５０４またはストレージ５０６内の命令のコピーであることが可能であり、命令キャッシュは、プロセッサ５０２によるそれらの命令の取り出しをスピードアップすることができる。データ・キャッシュ内のデータは、プロセッサ５０２において実行される命令が機能する際に基づくメモリ５０４もしくはストレージ５０６内のデータのコピー、プロセッサ５０２において実行される後続の命令によるアクセスのための、もしくはメモリ５０４もしくはストレージ５０６への書き込みのためのプロセッサ５０２において実行された以前の命令の結果、またはその他の適切なデータであることが可能である。データ・キャッシュは、プロセッサ５０２による読み取りオペレーションまたは書き込みオペレーションをスピードアップすることができる。ＴＬＢは、プロセッサ５０２のための仮想アドレス変換をスピードアップすることができる。特定の実施形態においては、プロセッサ５０２は、データ、命令、またはアドレスのための１つまたは複数の内部レジスタを含むことができる。本開示は、適切な場合には、任意の適切な数の任意の適切な内部レジスタを含むプロセッサ５０２を想定している。適切な場合には、プロセッサ５０２は、１つまたは複数の演算ロジック・ユニット（ＡＬＵ）を含むこと、マルチコア・プロセッサであること、または１つもしくは複数のプロセッサ５０２を含むことが可能である。本開示は、特定のプロセッサについて記述し、示しているが、本開示は、任意の適切なプロセッサを想定している。
【０１２４】
特定の実施形態においては、メモリ５０４は、プロセッサ５０２が実行するための命令、またはプロセッサ５０２が機能する際に基づくデータを記憶するためのメイン・メモリを含む。コンピュータ・システム５００は、命令をストレージ５０６または別のソース（たとえば、別のコンピュータ・システム５００など）からメモリ５０４にロードすることができる。次いでプロセッサ５０２は、命令をメモリ５０４から内部レジスタまたは内部キャッシュにロードすることができる。命令を実行するために、プロセッサ５０２は、命令を内部レジスタまたは内部キャッシュから取り出し、それらの命令をデコードすることができる。命令の実行中または実行後に、プロセッサ５０２は、１つまたは複数の結果（それらは、中間の結果または最終的な結果である場合がある）を内部レジスタまたは内部キャッシュに書き込むことができる。次いでプロセッサ５０２は、それらの結果のうちの１つまたは複数をメモリ５０４に書き込むことができる。特定の実施形態においては、プロセッサ５０２は、（ストレージ５０６またはその他の場所ではなく）１つもしくは複数の内部レジスタもしくは内部キャッシュ内の、またはメモリ５０４内の命令のみを実行し、（ストレージ５０６またはその他の場所ではなく）１つもしくは複数の内部レジスタもしくは内部キャッシュ内の、またはメモリ５０４内のデータ上でのみ機能する。１つまたは複数のメモリ・バス（それらは各々、アドレス・バスおよびデータ・バスを含むことができる）は、プロセッサ５０２をメモリ５０４に結合することができる。バス５１２は、以降で記述されているような１つまたは複数のメモリ・バスを含むことができる。特定の実施形態においては、１つまたは複数のメモリ管理ユニット（ＭＭＵ）が、プロセッサ５０２とメモリ５０４との間に常駐し、プロセッサ５０２によって要求されるメモリ５０４へのアクセスを容易にする。特定の実施形態においては、メモリ５０４は、ランダム・アクセス・メモリ（ＲＡＭ）を含む。このＲＡＭは、適切な場合には、揮発性メモリであることが可能である。適切な場合には、このＲＡＭは、ダイナミックＲＡＭ（ＤＲＡＭ）またはスタティックＲＡＭ（ＳＲＡＭ）であることが可能である。その上、適切な場合には、このＲＡＭは、シングルポートＲＡＭまたはマルチポートＲＡＭであることが可能である。本開示は、任意の適切なＲＡＭを想定している。メモリ５０４は、適切な場合には、１つまたは複数のメモリ５０４を含むことができる。本開示は、特定のメモリについて記述し、示しているが、本開示は、任意の適切なメモリを想定している。
【０１２５】
特定の実施形態においては、ストレージ５０６は、データまたは命令のためのマス・ストレージを含む。ストレージ５０６は、ハード・ディスク・ドライブ（ＨＤＤ）、フロッピー（登録商標）ディスク・ドライブ、フラッシュ・メモリ、光ディスク、光磁気ディスク、磁気テープ、またはユニバーサル・シリアル・バス（ＵＳＢ）ドライブ、またはこれらのうちの複数の組合せを含むことができる。ストレージ５０６は、適切な場合には、取り外し可能なまたは取り外し不能な（すなわち、固定された）媒体を含むことができる。ストレージ５０６は、適切な場合には、コンピュータ・システム５００の内部または外部に存在することが可能である。特定の実施形態においては、ストレージ５０６は、不揮発性のソリッドステート・メモリである。特定の実施形態においては、ストレージ５０６は、読み取り専用メモリ（ＲＯＭ）を含む。適切な場合には、このＲＯＭは、マスクプログラムＲＯＭ、プログラマブルＲＯＭ（ＰＲＯＭ）、消去可能ＰＲＯＭ（ＥＰＲＯＭ）、電気的消去可能ＰＲＯＭ（ＥＥＰＲＯＭ）、電気的書替え可能ＲＯＭ（ＥＡＲＯＭ）、またはフラッシュ・メモリ、またはこれらのうちの複数の組合せであることが可能である。本開示は、任意の適切な物理的な形態を取るマス・ストレージ５０６を想定している。ストレージ５０６は、適切な場合には、プロセッサ５０２とストレージ５０６との間における通信を容易にする１つまたは複数のストレージ・コントロール・ユニットを含むことができる。適切な場合には、ストレージ５０６は、１つまたは複数のストレージ５０６を含むことができる。本開示は、特定のストレージについて記述し、示しているが、本開示は、任意の適切なストレージを想定している。
【０１２６】
特定の実施形態においては、Ｉ／Ｏインタフェース５０８は、コンピュータ・システム５００と１つまたは複数のＩ／Ｏデバイスとの間における通信のための１つまたは複数のインタフェースを提供するハードウェア、ソフトウェア、またはその両方を含む。コンピュータ・システム５００は、適切な場合には、これらのＩ／Ｏデバイスのうちの１つまたは複数を含むことができる。これらのＩ／Ｏデバイスのうちの１つまたは複数は、人とコンピュータ・システム５００との間における通信を可能にすることができる。Ｉ／Ｏデバイスは、キーボード、キーパッド、マイクロフォン、モニタ、マウス、プリンタ、スキャナ、スピーカ、スチル・カメラ、スタイラス、タブレット、タッチ・スクリーン、トラックボール、映像カメラ、別の適切なＩ／Ｏデバイス、またはこれらのうちの複数の組合せを含むことができる。Ｉ／Ｏデバイスは、１つまたは複数のセンサを含むことができる。本開示は、任意の適切なＩ／Ｏデバイス、およびそれらのＩ／Ｏデバイスのための任意の適切なＩ／Ｏインタフェース５０８を想定している。適切な場合には、Ｉ／Ｏインタフェース５０８は、プロセッサ５０２がこれらのＩ／Ｏデバイスのうちの１つまたは複数を駆動することを可能にする１つまたは複数のデバイス・ドライバまたはソフトウェア・ドライバを含むことができる。Ｉ／Ｏインタフェース５０８は、適切な場合には、１つまたは複数のＩ／Ｏインタフェース５０８を含むことができる。本開示は、特定のＩ／Ｏインタフェースについて記述し、示しているが、本開示は、任意の適切なＩ／Ｏインタフェースを想定している。
【０１２７】
特定の実施形態においては、通信インタフェース５１０は、コンピュータ・システム５００と、１つもしくは複数のその他のコンピュータ・システム５００または１つもしくは複数のネットワークとの間における通信（たとえば、パケットベースの通信など）のための１つまたは複数のインタフェースを提供するハードウェア、ソフトウェア、またはその両方を含む。通信インタフェース５１０は、イーサネット（登録商標）もしくはその他の有線ベースのネットワークと通信するためのネットワーク・インタフェース・コントローラ（ＮＩＣ）もしくはネットワーク・アダプタ、またはＷＩ−ＦＩネットワークなどの無線ネットワークと通信するための無線ＮＩＣ（ＷＮＩＣ）もしくは無線アダプタを含むことができる。本開示は、任意の適切なネットワーク、およびそのネットワークのための任意の適切な通信インタフェース５１０を想定している。コンピュータ・システム５００は、アド・ホック・ネットワーク、パーソナル・エリア・ネットワーク（ＰＡＮ）、ローカル・エリア・ネットワーク（ＬＡＮ）、ワイド・エリア・ネットワーク（ＷＡＮ）、メトロポリタン・エリア・ネットワーク（ＭＡＮ）、またはインターネットの１つまたは複数の部分、またはこれらのうちの複数の組合せと通信することができる。これらのネットワークのうちの１つまたは複数の１つまたは複数の部分は、有線または無線であることが可能である。例として、コンピュータ・システム５００は、無線ＰＡＮ（ＷＰＡＮ）（たとえば、ブルートゥース（登録商標）ＷＰＡＮなど）、ＷＩ−ＦＩネットワーク、ＷＩ−ＭＡＸネットワーク、セルラー電話ネットワーク（たとえば、グローバル・システム・フォー・モバイル・コミュニケーションズ（ＧＳＭ（登録商標））ネットワークなど）、またはその他の適切な無線ネットワーク、またはこれらのうちの複数の組合せと通信することができる。コンピュータ・システム５００は、適切な場合には、これらのネットワークのうちの任意のネットワークのための任意の適切な通信インタフェース５１０を含むことができる。通信インタフェース５１０は、適切な場合には、１つまたは複数の通信インタフェース５１０を含むことができる。本開示は、特定の通信インタフェースについて記述し、示しているが、本開示は、任意の適切な通信インタフェースを想定している。
【０１２８】
特定の実施形態においては、バス５１２は、コンピュータ・システム５００のコンポーネント同士を互いに結合するハードウェア、ソフトウェア、またはその両方を含む。バス５１２は、アクセラレイティッド・グラフィックス・ポート（ＡＧＰ）もしくはその他のグラフィックス・バス、エンハンスト・インダストリー・スタンダード・アーキテクチャ（ＥＩＳＡ）バス、フロントサイド・バス（ＦＳＢ）、ハイパートランスポート（ＨＴ）インターコネクト、インダストリー・スタンダード・アーキテクチャ（ＩＳＡ）バス、インフィニバンド・インターコネクト、ローピンカウント（ＬＰＣ）バス、メモリ・バス、マイクロ・チャネル・アーキテクチャ（ＭＣＡ）バス、ペリフェラル・コンポーネント・インターコネクト（ＰＣＩ）バス、ＰＣＩエクスプレス（ＰＣＩｅ）バス、シリアル・アドバンスト・テクノロジー・アタッチメント（ＳＡＴＡ）バス、ビデオ・エレクトロニクス・スタンダーズ・アソシエーション・ローカル（ＶＬＢ）バス、または別の適切なバス、またはこれらのうちの複数の組合せを含むことができる。バス５１２は、適切な場合には、１つまたは複数のバス５１２を含むことができる。本開示は、特定のバスについて記述し、示しているが、本開示は、任意の適切なバスまたはインターコネクトを想定している。
【０１２９】
本明細書においては、１つまたは複数の非一時的なコンピュータ可読記憶媒体は、適切な場合には、１つもしくは複数の半導体ベースのもしくはその他の集積回路（ＩＣ）（たとえば、フィールドプログラマブル・ゲート・アレイ（ＦＰＧＡ）もしくは特定用途向け集積回路（ＡＳＩＣ）など）、ハード・ディスク・ドライブ（ＨＤＤ）、ハイブリッド・ハード・ドライブ（ＨＨＤ）、光ディスク、光ディスク・ドライブ（ＯＤＤ）、光磁気ディスク、光磁気ドライブ、フロッピー（登録商標）・ディスケット、フロッピー（登録商標）・ディスク・ドライブ（ＦＤＤ）、磁気テープ、ソリッドステート・ドライブ（ＳＳＤ）、ＲＡＭドライブ、セキュア・デジタル・カードもしくはドライブ、その他の任意の適切な非一時的なコンピュータ可読記憶媒体、またはこれらのうちの複数の組合せを含むことができる。非一時的なコンピュータ可読記憶媒体は、適切な場合には、揮発性、不揮発性、または揮発性と不揮発性の組合せであることが可能である。
【０１３０】
本明細書においては、「または（もしくは）」は、包含的であり、排他的ではない（ただし、そうではないことが明示されている場合、または、そうではないことが文脈によって示されている場合は除く）。したがって、本明細書においては、「ＡまたはＢ」は、「Ａ、Ｂ、またはその両方」を意味する（ただし、そうではないことが明示されている場合、または、そうではないことが文脈によって示されている場合は除く）。その上、「および（ならびに）」は、包括的および個別的の両方である（ただし、そうではないことが明示されている場合、または、そうではないことが文脈によって示されている場合は除く）。したがって、本明細書においては、「ＡおよびＢ」は、「まとめて、または個別に、ＡおよびＢ」を意味する（ただし、そうではないことが明示されている場合、または、そうではないことが文脈によって示されている場合は除く）。
【０１３１】
本開示の範囲は、当技術分野における標準的な技術者が理解するであろう、本明細書において記述されているまたは示されている例示的な実施形態に対するすべての変更、置換、変形、改変、および修正を包含する。本開示の範囲は、本明細書において記述されているまたは示されている例示的な実施形態に限定されない。その上、本開示は、本明細書における各々の実施形態を、特定のコンポーネント、要素、特徴、機能、オペレーション、または工程を含むものとして記述し、示しているが、これらの実施形態のいずれも、当技術分野における標準的な技術者が理解するであろう、本明細書の任意の箇所において記述されているまたは示されているコンポーネント、要素、特徴、機能、オペレーション、または工程のうちの任意のものの任意の組合せまたは順列を含むことができる。さらに、特定の機能を実行するように適合されている、実行するようにアレンジされている、実行することができる、実行するように構成されている、実行することを可能にされている、実行するように機能できる、または実行するように機能する装置もしくはシステム、または装置もしくはシステムのコンポーネントへの添付の特許請求の範囲における言及は、その装置、システム、コンポーネント、またはその特定の機能が、アクティブ化されているか否か、オンにされているか否か、またはロック解除されているか否かを問わず、その装置、システム、またはコンポーネントが、そうするように適合されている、そうするようにアレンジされている、そうすることができる、そうするように構成されている、そうすることを可能にされている、そうするように機能できる、またはそうするように機能する限り、その装置、システム、コンポーネントを包含する。さらに、本開示では、特定の実施形態について特定の有利性が提供するものとして記述または図示しているが、特定の実施形態ではこのような有利性が提供されなくてもよく、または、そのいくつかまたはすべての有利性が提供されてもよい。
【図１】
2018528529.tif 000022
【図２】
2018528529.tif 000023
【図３】
2018528529.tif 000024
【図４】
2018528529.tif 000025
【図５】
2018528529.tif 000026
【国際調査報告】
2018528529.tif 000027
2018528529.tif 000028
2018528529.tif 000029