(57)【要約】【課題】ソフトウェア・アプリケーションのイベントを識別するための好適な方法を提供する。【解決手段】方法は、サーバ・コンピューティング・デバイスが、ユーザが起動したイベントに関連付けられているユーザの識別またはクライアント・コンピューティング・デバイスの識別に関連付けられている情報と、通知に関連付けられているユーザが起動したイベントに関する可変の所定のシンボル・ストリングと、ユーザが起動したイベントに関連付けられている属性の値を記述する変数と、イベント時またはイベント時付近におけるユーザの属性または変数の属性を記述する変数パラメータとを含む通知を受信する工程と、ユーザが起動したイベントをユーザと関連付ける工程と、シンボル・ストリングに少なくとも部分的に基づいて、通知に関連付けられているユーザが起動したイベントの記述を決定する工程とを含む。【選択図】  図３
2018045713.tif 000002
【特許請求の範囲】
【請求項１】
方法であって、
コンピューティング・デバイスが、クライアント・コンピューティング・デバイスにおけるソフトウェア・アプリケーションに関連付けられているユーザが起動したイベントが発生したことを示す通知を受信する工程であって、
前記ユーザが起動したイベントに関連付けられている前記ユーザの識別または前記クライアント・コンピューティング・デバイスの識別に関連付けられている情報と、
前記通知に関連付けられている前記ユーザが起動したイベントに関連する情報とを含む前記通知を受信する工程と、
前記コンピューティング・デバイスが、前記ユーザが起動したイベントを前記ユーザに関連付ける工程と、
前記コンピューティング・デバイスが、前記通知に関連付けられている前記ユーザが起動したイベントの記述を決定する工程と、
を備える方法。
【請求項２】
前記クライアント・コンピューティング・デバイスは、モバイル・コンピューティング・デバイスを含む、請求項１に記載の方法。
【請求項３】
前記イベントは、前記クライアント・コンピューティング・デバイス上での前記ソフトウェア・アプリケーションのインストールを含む、請求項１に記載の方法。
【請求項４】
前記イベントは、
前記ソフトウェア・アプリケーションの使用、
前記ソフトウェア・アプリケーションの機能の使用、
前記ソフトウェア・アプリケーションとの相互作用に費やした時間、
前記ソフトウェア・アプリケーションの使用量、
のうちの１つまたは複数を含む、請求項１に記載の方法。
【請求項５】
前記通知は、前記ユーザが起動したイベントを識別するシンボル・ストリングを含み、
前記ユーザが起動したイベントの記述は、前記シンボル・ストリングに少なくとも部分的に基づく、請求項１に記載の方法。
【請求項６】
前記通知は、前記ユーザが起動したイベントに関連付けられている属性の値を識別する数量を含む、請求項１に記載の方法。
【請求項７】
前記通知は、イベント時またはイベント時付近における前記ユーザの属性または前記数量の属性を記述するパラメータを含む、請求項６に記載の方法。
【請求項８】
ソフトウェアを実装するコンピュータ読み取り可能で非一時的な１つまたは複数の記憶媒体であって、前記ソフトウェアは、実行されたときに、
コンピューティング・デバイスによって、クライアント・コンピューティング・デバイスにおけるソフトウェア・アプリケーションに関連付けられているユーザが起動したイベントが発生したことを示す通知を受信し、
ここで、前記通知は、
前記ユーザが起動したイベントに関連付けられている前記ユーザの識別または前記クライアント・コンピューティング・デバイスの識別に関連付けられている情報と、
前記通知に関連付けられている前記ユーザが起動したイベントに関する情報とを含み、
前記コンピューティング・デバイスによって、前記ユーザが起動したイベントを前記ユーザに関連付け、
前記コンピューティング・デバイスによって、前記通知に関連付けられている前記ユーザが起動したイベントの記述を決定するように動作可能である、媒体。
【請求項９】
前記クライアント・コンピューティング・デバイスは、モバイル・コンピューティング・デバイスを含む、請求項８に記載の媒体。
【請求項１０】
前記イベントは、前記クライアント・コンピューティング・デバイス上での前記ソフトウェア・アプリケーションのインストールを含む、請求項８に記載の媒体。
【請求項１１】
前記イベントは、
前記ソフトウェア・アプリケーションの使用、
前記ソフトウェア・アプリケーションの機能の使用、
前記ソフトウェア・アプリケーションとの関わりに費やした時間、
前記ソフトウェア・アプリケーションの使用量、
のうちの１つまたは複数を含む、請求項８に記載の媒体。
【請求項１２】
前記通知は、前記ユーザが起動したイベントを識別するシンボル・ストリングを含み、
前記ユーザが起動したイベントの記述は、前記シンボル・ストリングに少なくとも部分的に基づく、請求項８に記載の媒体。
【請求項１３】
前記通知は、前記ユーザが起動したイベントに関連付けられている属性の値を識別する数量を含む、請求項８に記載の媒体。
【請求項１４】
前記通知は、イベント時またはイベント時付近における前記ユーザの属性または前記数量の属性を記述するパラメータを含む、請求項１３に記載の媒体。
【請求項１５】
システムであって、
１つまたは複数のプロセッサと、
前記プロセッサと接続され、前記プロセッサによって実行可能な命令を含むメモリとを備え、
前記プロセッサは、命令を実行するときに、
コンピューティング・デバイスによって、クライアント・コンピューティング・デバイスにおけるソフトウェア・アプリケーションに関連付けられているユーザが起動したイベントが発生したことを示す通知を受信し、
ここで、前記通知は、
前記ユーザが起動したイベントに関連付けられている前記ユーザの識別または前記クライアント・コンピューティング・デバイスの識別に関連付けられている情報と、
前記通知に関連付けられている前記ユーザが起動したイベントに関する情報と
を含み、
前記コンピューティング・デバイスによって、前記ユーザが起動したイベントを前記ユーザに関連付け、
前記コンピューティング・デバイスによって、前記通知に関連付けられている前記ユーザが起動したイベントの記述を決定するように動作可能である、システム。
【請求項１６】
前記イベントは、前記クライアント・コンピューティング・デバイスにおける前記ソフトウェア・アプリケーションのインストールを含む、請求項１５に記載のシステム。
【請求項１７】
前記イベントは、
前記ソフトウェア・アプリケーションの使用、
前記ソフトウェア・アプリケーションの機能の使用、
前記ソフトウェア・アプリケーションとの関わりに費やした時間、
前記ソフトウェア・アプリケーションの使用量
のうちの１つまたは複数を含む、請求項１５に記載のシステム。
【請求項１８】
前記通知は、前記ユーザが起動したイベントを識別するシンボル・ストリングを含み、
前記ユーザが起動したイベントの記述は、前記シンボル・ストリングに少なくとも部分的に基づく、請求項１５に記載のシステム。
【請求項１９】
前記通知は、前記ユーザが起動したイベントに関連付けられている属性の値を識別する数量を含む、請求項１５に記載のシステム。
【請求項２０】
前記通知は、イベント時またはイベント時付近における前記ユーザの属性または前記数量の属性を記述するパラメータを含む、請求項１９に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
この開示は、一般にソフトウェア・アプリケーションのイベントの識別に関する。
【背景技術】
【０００２】
ソフトウェア・アプリケーションは、コンピューティング・デバイスのユーザに機能を提供し、ユーザがコンピューティング・デバイスとコミュニケーションし、コンピューティング・デバイスに指示し、コンピューティング・デバイスからの出力を受信できるようにする。ソフトウェア・アプリケーションは、ユーザに対する情報または他のグラフィカルコンテンツの提示、（例えば、キーボード、マウス、音声認識、生体センサなどを介した）ユーザからの入力の受け取り、内部実行及び（例えば、メモリなどの）装置資源の監視、特定のハードウェアコンポーネント、他の装置、及び他のソフトウェア・アプリケーションとのコミュニケーション、または任意の他の適切なプロセスなど様々なプロセスを実行する。
【発明の概要】
【０００３】
ソフトウェア・アプリケーションに関連するイベントをソフトウェア・アプリケーションのユーザと関連付けることは、アプリケーションのユーザ、アプリケーションの開発者、アプリケーションの広告主などに利益をもたらす。一実施形態においては、そのようなイベントをユーザと関連付けるための方法は、通知を受信する工程を含み、その通知は、１）（イベントを識別するテキスト・ストリングなど）通知に関連付けられているユーザが起動したイベントに関する可変の所定のシンボルのストリング、２）（ユーザがアプリケーションにログインした回数、またはイベントが発生した回数など）ユーザが起動したイベントに関連付けられている属性値を記述する変数、及び（ユーザがメンバーであるグループなど）イベント時またはイベント時付近におけるユーザの属性または変数の属性を記述する変数パラメータを含む。方法は、例えば、イベントの発生時におけるユーザまたはコンピューティング・デバイスを識別する通知とともに受信した情報に基づいて、ユーザが起動したイベントをユーザと関連付ける工程も含む。方法は、シンボル・ストリングに少なくとも部分的に基づいて、通知に関連付けられているユーザが起動したイベントの記述を決定する。特定の実施形態では、ユーザは、任意の適切なプライバシー設定を使用して、通知によって提供される情報を制限する。
【０００４】
上記説明は、ここでより十分に説明される特定の実施形態の例を与えるに過ぎない。
【図面の簡単な説明】
【０００５】
【図１】ソーシャル・ネットワーキング・システムに関連付けられている一例のネットワーク環境の図。
【図２】一例のソーシャル・グラフの図。
【図３】クライアント・コンピューティング・デバイスにおけるソフトウェア・アプリケーションに関連付けられている、発生したイベントを識別し、そのイベントをクライアント・コンピューティング・デバイスのユーザと関連付けるための一例の方法を示す図。
【図４】一例のコンピュータ・システムの図。
【発明を実施するための形態】
【０００６】
図１は、ソーシャル・ネットワーキング・システムに関連付けられている例示的なネットワーク環境１００を示す。ネットワーク環境１００は、互いにネットワーク１１０によって接続されたユーザ１０１、クライアント・システム１３０、ソーシャル・ネットワーキング・システム１６０、およびサードパーティ・システム１７０を含む。図１は、ユーザ１０１、クライアント・システム１３０、ソーシャル・ネットワーキング・システム１６０、サードパーティ・システム１７０、およびネットワーク１１０の特定の構成を示すが、この開示は、ユーザ１０１、クライアント・システム１３０、ソーシャル・ネットワーキング・システム１６０、サードパーティ・システム１７０、およびネットワーク１１０の任意の好適な構成を企図する。限定するものとしてではなく一例として、クライアント・システム１３０、ソーシャル・ネットワーキング・システム１６０、およびサードパーティ・システム１７０の２以上は、ネットワーク１１０をバイパスして互いに直接的に接続されてもよい。別の例として、クライアント・システム１３０、ソーシャル・ネットワーキング・システム１６０、およびサードパーティ・システム１７０の２以上が、全体として、または部分的に互いに物理的に、または論理的に同じ場所にあってもよい。さらに、図１は、特定の数のユーザ１０１、クライアント・システム１３０、ソーシャル・ネットワーキング・システム１６０、サードパーティ・システム１７０、およびネットワーク１１０を示すが、この開示は、任意の好適な数のユーザ１０１、クライアント・システム１３０、ソーシャル・ネットワーキング・システム１６０、サードパーティ・システム１７０、およびネットワーク１１０を企図する。限定するものとしてではなく一例として、ネットワーク環境１００は、複数のユーザ１０１、クライアント・システム１３０、ソーシャル・ネットワーキング・システム１６０、サードパーティ・システム１７０、およびネットワーク１１０を含んでもよい。
【０００７】
特定の実施形態では、ユーザ１０１は、ソーシャル・ネットワーキング・システム１６０と、またはソーシャル・ネットワーキング・システム１６０を通じて対話、すなわち通信する個人（人間のユーザ）、エンティティ（たとえば、企業、事業者、またはサードパーティ・アプリケーション）、または（たとえば、個人またはエンティティの）グループであってよい。特定の実施形態では、ソーシャル・ネットワーキング・システム１６０は、オンライン・ソーシャル・ネットワークをホストするネットワークアドレス指定可能なコンピューティング・システムであってよい。ソーシャル・ネットワーキング・システム１６０は、たとえばユーザプロフィール・データ、コンセプトプロフィール・データ、ソーシャル・グラフ情報、またはオンライン・ソーシャル・ネットワークに関係する他の好適なデータなど、ソーシャル・ネットワーキング・データを生成、記憶、受信、および送信する。ソーシャル・ネットワーキング・システム１６０は、ネットワーク環境１００の他の構成要素によって、直接的に、またはネットワーク１１０を通じてアクセスされてもよい。特定の実施形態では、ソーシャル・ネットワーキング・システム１６０は、ユーザ１０１がたとえば適切なプライバシー設定を設定することによってなど、自分達のアクションをソーシャル・ネットワーキング・システム１６０によって記録させる、または他のシステム（たとえば、サードパーティ・システム１７０）と共有させることについてオプトインまたはオプトアウトすることを可能にする認可サーバ（または他の適切な構成要素）を含んでもよい。ユーザのプライバシー設定は、そのユーザに関連付けられているどの情報が記録されるか、そのユーザに関連付けられている情報がどのように記録されるか、そのユーザに関連付けられている情報がいつ記録されるか、そのユーザに関連付けられている情報を誰が記録するか、そのユーザに関連付けられている情報が誰と共有されるか、およびそのユーザに関連付けられている情報が何の目的で記録され共有されるかを決定することができる。認可サーバは、ブロッキング、データのハッシュ化、匿名化、または他の適切な技術を通じて、ソーシャル・ネットワーキング・システム３０のユーザの１以上のプライバシー設定を適切に実施するために用いられる。特定の実施形態では、サードパーティ・システム１７０は、ネットワークアドレス指定可能なコンピューティング・システムであってよい。サードパーティ・システム１７０は、サードパーティ・システム・データを生成、記憶、受信、および送信する。サードパーティ・システム１７０は、ネットワーク環境１００の他の構成要素によって、直接的に、またはネットワーク１１０を通じてアクセスされてもよい。特定の実施形態では、１または複数のユーザ１０１が１または複数のクライアント・システム１３０を使用し、ソーシャル・ネットワーキング・システム１６０またはサードパーティ・システム１７０にアクセスし、データを送り、それらからデータを受信してもよい。クライアント・システム１３０は、ソーシャル・ネットワーキング・システム１６０またはサードパーティ・システム１７０に直接的に、ネットワーク１１０を通じて、またはサードパーティ・システムを通じてアクセスしてもよい。限定するものとしてではなく一例として、クライアント・システム１３０は、サードパーティ・システム１７０にソーシャル・ネットワーキング・システム１６０を通じてアクセスしてもよい。クライアント・システム１３０は、たとえばパーソナル・コンピュータ、ラップトップ・コンピュータ、携帯電話、スマートフォン、またはタブレット・コンピュータなど、任意の好適なコンピューティング・デバイスであってよい。
【０００８】
この開示は、任意の好適なネットワーク１１０を企図する。限定するものとしてではなく一例として、ネットワーク１１０の１または複数の部分は、アドホック・ネットワーク、イントラネット、エクストラネット、仮想プライベート・ネットワーク（ＶＰＮ）、ローカル・エリア・ネットワーク（ＬＡＮ）、無線ＬＡＮ（ＷＬＡＮ）、ワイド・エリア・ネットワーク（ＷＡＮ）、無線ＷＡＮ（ＷＷＡＮ）、メトロポリタン・エリア・ネットワーク（ＭＡＮ）、インターネットの一部分、公衆交換電話網（ＰＳＴＮ）の一部分、携帯電話ネットワーク、またはこれらの２以上の組合せを含んでもよい。ネットワーク１１０は、１または複数のネットワーク１１０を含んでもよい。
【０００９】
リンク１５０は、クライアント・システム１３０、ソーシャル・ネットワーキング・システム１６０、およびサードパーティ・システム１７０を通信ネットワーク１１０に、または互いに接続する。この開示は、任意の好適なリンク１５０を企図する。特定の実施形態では、１または複数のリンク１５０は、１または複数の有線（たとえば、デジタル加入者線（ＤＳＬ）またはＤＯＣＳＩＳ（Ｄａｔａ  Ｏｖｅｒ  Ｃａｂｌｅ  Ｓｅｒｖｉｃｅ  Ｉｎｔｅｒｆａｃｅ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ）など）、無線（たとえば、Ｗｉ−ＦｉまたはＷｉＭＡＸ（Ｗｏｒｌｄｗｉｄｅ  ｉｎｔｅｒｏｐｅｒａｂｉｌｉｔｙ  ｆｏｒ  Ｍｉｃｒｏｗａｖｅ  Ａｃｃｅｓｓ）など）、または光（たとえば、同期光ネットワーク（ＳＯＮＥＴ）または同期デジタル・ハイアラーキ（ＳＤＨ）など）リンクを含む。特定の実施形態では、１または複数のリンク１５０は、それぞれ、アドホック・ネットワーク、イントラネット、エクストラネット、ＶＰＮ、ＬＡＮ、ＷＬＡＮ、ＷＡＮ、ＷＷＡＮ、ＭＡＮ、インターネットの一部分、ＰＳＴＮの一部分、セルラ技術ベースのネットワーク、衛星通信技術ベースのネットワーク、別のリンク１５０、または２以上のそのようなリンク１５０の組合せを含む。リンク１５０は、必ずしもネットワーク環境１００全体を通じて同じであることを必要としない。１または複数の第１のリンク１５０は、１または複数の点で１または複数の第２のリンク１５０と異なってもよい。
【００１０】
図２は、例示的なソーシャル・グラフ２００を示す。特定の実施形態では、ソーシャル・ネットワーキング・システム１６０は、１または複数のソーシャル・グラフ２００を１または複数のデータ・ストア内に記憶する。特定の実施形態では、ソーシャル・グラフ２００は、複数のノード（複数のユーザ・ノード２０２または複数のコンセプト・ノード２０４を含んでもよい）と、それらのノードを接続する複数のエッジ２０６とを含んでもよい。図２に示されている例示的なソーシャル・グラフ２００は、説明のために、２次元の視覚マップ表現で示されている。特定の実施形態では、ソーシャル・ネットワーキング・システム１６０、クライアント・システム１３０、またはサードパーティ・システム１７０は、適切な用途のためにソーシャル・グラフ２００および関連するソーシャル・グラフ情報にアクセスする。ソーシャル・グラフ２００のノードおよびエッジは、データ・オブジェクトとして、たとえばデータ・ストア（ソーシャル・グラフ・データベースなど）内に記憶されてもよい。そのようなデータ・ストアは、ソーシャル・グラフ２００のノードまたはエッジの、１または複数の検索可能または照会可能なインデックスを含んでもよい。
【００１１】
特定の実施形態では、ユーザ・ノード２０２は、ソーシャル・ネットワーキング・システム１６０のユーザに対応する。限定するものとしてではなく一例として、ユーザは、ソーシャル・ネットワーキング・システム１６０と、またはソーシャル・ネットワーキング・システム１６０を通じて対話または通信する個人（人間のユーザ）、エンティティ（たとえば、企業、事業者、またはサードパーティ・アプリケーション）、または（たとえば、個人またはエンティティの）グループであってよい。特定の実施形態では、ユーザがアカウントをソーシャル・ネットワーキング・システム１６０に登録するとき、ソーシャル・ネットワーキング・システム１６０は、そのユーザに対応するユーザ・ノード２０２を作成し、そのユーザ・ノード２０２を１または複数のデータ・ストア内に記憶する。本明細書に記載のユーザおよびユーザ・ノード２０２は、適切な場合、登録されたユーザ、および登録されたユーザに関連付けられているユーザ・ノード２０２に及ぶ。それに加えて、または代替として、本明細書に記載のユーザおよびユーザ・ノード２０２は、適切な場合、ソーシャル・ネットワーキング・システム１６０に登録しなかったユーザに及ぶ。特定の実施形態では、ユーザ・ノード２０２は、ユーザによって提供された情報、またはソーシャル・ネットワーキング・システム１６０を含む様々なシステムによって収集された情報に関連付けられてもよい。限定するものとしてではなく一例として、ユーザは、自分の名前、プロフィール写真、連絡先情報、誕生日、性別、婚姻状態、家族状態、雇用、学歴、好み、関心、または他の人口統計情報を提供してもよい。特定の実施形態では、ユーザ・ノード２０２は、ユーザに関連付けられている情報に対応する１または複数のデータ・オブジェクトに関連付けられてもよい。特定の実施形態では、ユーザ・ノード２０２は、１または複数のウェブ・ページに対応してもよい。
【００１２】
特定の実施形態では、ソーシャル・グラフ２００内の１対のノードが、１または複数のエッジ２０６によって互いに接続されてもよい。１対のノードを接続するエッジ２０６は、その対のノード間の関係を表す。特定の実施形態では、エッジ２０６は、１対のノード間の関係に対応する１または複数のデータ・オブジェクトまたは属性を含み、または表してもよい。限定するものとしてではなく一例として、第１のユーザは、第２のユーザが第１のユーザの「友達」であることを示してもよい。この示したことに応答して、ソーシャル・ネットワーキング・システム１６０は、「友達要求」を第２のユーザに送信してもよい。第２のユーザが「友達要求」を確認した場合、ソーシャル・ネットワーキング・システム１６０は、ソーシャル・グラフ２００内で第１のユーザのユーザ・ノード２０２を第２のユーザのユーザ・ノード２０２に接続するエッジ２０６を作成し、エッジ２０６をソーシャル・グラフ情報としてデータ・ストア１６４の１または複数に記憶してもよい。図２の例では、ソーシャル・グラフ２００は、ユーザ「Ａ」とユーザ「Ｂ」とのユーザ・ノード２０２間の友達関係を示すエッジ２０６と、ユーザ「Ｃ」とユーザ「Ｂ」とのユーザ・ノード２０２間の友達関係を示すエッジとを含む。本開示は特定のユーザ・ノード２０２を接続する特定の属性を有する特定のエッジ２０６について記載し示しているが、本開示は、ユーザ・ノード２０２を接続する任意の好適な属性を有する任意の好適なエッジ２０６を企図する。限定するものとしてではなく一例として、エッジ２０６は、友達関係、家族関係、仕事関係もしくは雇用関係、ファン関係、フォロワー関係、ビジタ関係、加入者関係、主従関係、相互的関係、非相互的関係、別の好適なタイプの関係、または２以上のそのような関係を表してもよい。さらに、本開示は一般にノードを接続されているものとして記載しているが、本開示は、ユーザまたはコンセプトも接続されているものとして記載している。本明細書では、接続されているユーザまたはコンセプトへの言及は、適切な場合、ソーシャル・グラフ２００内で１または複数のエッジ２０６によって接続されているユーザまたはコンセプトに対応するノードに及ぶ。
【００１３】
特定の実施形態では、ユーザ・ノード２０２とコンセプト・ノード２０４との間のエッジ２０６は、コンセプト・ノード２０４に関連付けられているコンセプトに向かってユーザ・ノード２０２に関連付けられているユーザによって行われる特定のアクションまたはアクティビティを表してもよい。限定するものとしてではなく一例として、図２に示されているように、ユーザは、コンセプトに対して「いいね」と表明することができ、コンセプトに「通った」、コンセプトを「プレイした」、「聴いた」、「調理した」、コンセプトに「勤務した」、またはコンセプトを「見た」のであり、コンセプトのそれぞれは、エッジタイプまたはサブタイプに対応する。コンセプト・ノード２０４に対応するコンセプトプロフィールページは、たとえば、選択可能な「チェックイン」アイコン（たとえば、クリッカ可能な「チェックイン」アイコン）または選択可能な「お気に入りに追加」アイコンを含んでもよい。同様に、ユーザがこれらのアイコンをクリックした後、ソーシャル・ネットワーキング・システム１６０は、それぞれのアクションに対応するユーザのアクションに応答して「お気に入り」エッジ、または「チェックイン」エッジを作成する。限定するものとしてではなく別の例として、ユーザ（ユーザ「Ｃ」）は、特定のアプリケーション（オンラインミュージックアプリケーションであるＳＰＯＴＩＦＹ）を使用して特定の楽曲（「イマジン」）を聴く。この場合には、ソーシャル・ネットワーキング・システム１６０は、ユーザに対応するユーザ・ノード２０２と楽曲およびアプリケーションに対応するコンセプト・ノード２０４との間に「聴いた」エッジ２０６および「使用した」エッジ（図２に図示）を作成し、ユーザがその楽曲を聞き、そのアプリケーションを使用したことを示す。さらに、ソーシャル・ネットワーキング・システム１６０は、楽曲およびアプリケーションに対応するコンセプト・ノード２０４間に「プレイした」エッジ２０６（図２に図示）を作成し、特定の楽曲が特定のアプリケーションによってプレイされたことを示す。この場合には、「プレイした」エッジ２０６は、外部アプリケーション（ＳＰＯＴＩＦＹ）によって外部オーディオファイル（楽曲「イマジン」）に対して行われたアクションに対応する。本開示は、ユーザ・ノード２０２とコンセプト・ノード２０４とを接続する特定の属性を有する特定のエッジ２０６について記載しているが、本開示は、ユーザ・ノード２０２とコンセプト・ノード２０４とを接続する任意の好適な属性を有する任意の好適なエッジ２０６を企図する。さらに、本開示は、ユーザ・ノード２０２とコンセプト・ノード２０４の間の単一の関係を表すエッジについて記載しているが、本開示は、ユーザ・ノード２０２とコンセプト・ノード２０４との間の１または複数の関係を表すエッジを企図する。限定するものとしてではなく一例として、エッジ２０６は、ユーザが「いいね」と表明したこと、および特定のコンセプトを使用したことの両方を表してもよい。あるいは、別のエッジ２０６が、ユーザ・ノード２０２とコンセプト・ノード２０４（図２に示されているように、ユーザ「Ｅ」に関するユーザ・ノード２０２と「ＳＰＯＴＩＦＹ」に関するコンセプト・ノード２０４）との間の関係の各タイプ（または単一の関係の複数）を表してもよい。
【００１４】
特定の実施形態では、１つまたは複数のコンピューティング・デバイスは、ソフトウェア・アプリケーションに関連する、ユーザが起動したイベントを識別し、これらのイベントを特定のユーザと関連付ける。特定の実施形態では、ソフトウェア・アプリケーションは、クライアント・デバイスに少なくとも部分的に格納されるか、クライアント・デバイスで少なくとも部分的に実行可能か、またはクライアント・デバイスとコミュニケーションするソフトウェア・アプリケーションなど、クライアント・デバイスによってアクセス可能な任意の適切なソフトウェア・アプリケーションである。イベントを識別するコンピューティング・デバイスは、ソフトウェアを実行するコンピューティング・デバイス、ユーザと相互に作用するコンピューティング・デバイス、サーバ・コンピューティング・デバイスなど任意の適切なコンピューティング・デバイスである。
【００１５】
イベントは、ソフトウェア・アプリケーションを含む任意の適切なイベントである。特定の実施形態では、イベントは、クライアント・デバイス上でのソフトウェア・アプリケーションのインストールである。特定の実施形態では、イベントは、ソフトウェア・アプリケーションの機能を使用することである。例えば、写真編集ソフトウェア・アプリケーションにおいて写真に対してある効果を加えるためのツールの使用、またはゲームにおける特定のアイテムの使用は、イベントである。特定の実施形態では、イベントは、ソフトウェア・アプリケーションを使用するのに費やした時間である。例えば、アプリケーションを１時間使用することは１つのイベントであり、アプリケーションを１０時間使用することは別のイベントである。特定の実施形態では、イベントは、ソフトウェアまたはそのソフトウェアの特定の機能の使用している間の時間である。特定の実施形態では、イベントは、クライアント・コンピューティング・デバイスのメモリにアプリケーションをロードすること、またはメモリにおいてアプリケーションを実行することなどのソフトウェア・アプリケーションの使用である。特定の実施形態では、イベントは、ソフトウェア・アプリケーションの使用量である。例えば、イベントは、ゲームにおいて特定のレベルまたはイベントに達すること、データベース・マネジメントアプリケーションにおいて特定の量の機能を使用すること、または一定の数の写真を編集することである。特定の実施形態では、イベントは、イベントの適切な組合せである。この開示は、特定の種類のイベントの特定の例を説明するが、この開示は、ソフトウェア・アプリケーションに関連付けられている任意の適切なイベントを企図する。
【００１６】
図３は、クライアント・コンピューティング・デバイスにおけるソフトウェア・アプリケーションに関連付けられているがイベントが発生したことを識別し、そのイベントをクライアント・コンピューティング・デバイスのユーザと関連付けるための例示的な方法３００を示す。方法は、イベントに関連付けられている通知がコンピューティング・デバイスによって受信されるステップ３１０において開始される。受信するコンピューティング・デバイスは、クライアント・コンピューティング・デバイス、広告出版社に関連付けられているコンピューティング・デバイス、ネットワーク１１０、サードパーティ・システム１７０、またはソーシャル・ネットワーキング・システム１６０に関連付けられているコンピューティング・デバイス、これらの任意の適切な組合せなど任意の適切なコンピューティング・デバイス、または任意の他の適切なコンピューティング・デバイスである。通知は、クライアント・デバイス、ソフトウェア・アプリケーションの広告主または開発者、サードパーティ・システムの分析会社または広告ベンダー、もしくは任意の他の適切なエンティティによって送信される。通知は、（例えば、セルラーネットワークまたはＷＩ−ＦＩ接続時などを有する）送信するデバイスが通知を送信するときには必ず、イベントが発生した後、イベント発生後の所定の期間内または所定の期間で、もしくは任意の他の適切な時間に直ちに送信される。
【００１７】
特定の実施形態では、通知は、ソフトウェア・アプリケーションに関するソフトウェア開発キット（ｓｏｆｔｗａｒｅ  ｄｅｖｅｌｏｐｍｅｎｔ  ｋｉｔ）の仕様に従う。ソフトウェア開発キットは、広告主、分析サービスのプロバイダ、広告出版社、オペレーティングシステム、ソフトウェア・アプリケーションの開発者、またはソーシャル・ネットワーキング・システムなどの任意の適切なエンティティによって供給される。特定の実施形態では、ソフトウェア開発キットの仕様は、通知に関するフォーマット、いつ通知が作成されるべきか、通知を提供するためのプロトコルなどを指定する。特定の実施形態では、ソフトウェア開発者キットは、ソフトウェア・アプリケーションに関する１つもしくは複数のアプリケーション・プログラミング・インターフェースを含む。
【００１８】
特定の実施形態では、通知は、ユーザが起動したイベントに関連付けられているユーザ及びクライアント・デバイスのうちの少なくとも一方を識別する情報を含む。例えば、情報は、ユーザの名前、ユーザに関連付けられている固有の識別番号（例えば、ソーシャル・ネットワークに関連付けられている識別番号）、またはユーザと一意的に関連付けられているハッシュまたは符号化された情報を用いて、ユーザを直接的に識別する。別の例として、情報は、ユーザを間接的に識別する。例えば、情報は、（ユーザに関連付けられ、かつ同一のデバイス上に存在するクッキーによって、ユーザ及びデバイスに関連付けられているアカウントによってなど）ユーザと関連付けられるユーザのクライアント・デバイスを（例えば、アドレス可能なハードウェアコンポーネント、そのデバイスに関連付けられているアカウントなどによって）識別する。ユーザ及びクライアント・デバイスのうちの少なくとも一方を識別する情報は、ここに参照することにより開示に含まれる２０１３年１月２３日に提出の「モバイル・デバイスにおけるアプリケーションのインストールのためのコンバージョン・トラッキング（Ｃｏｎｖｅｒｓｉｏｎ  Ｔｒａｃｋｉｎｇ  ｆｏｒ  Ｉｎｓｔａｌｌａｔｉｏｎ  ｏｆ  Ａｐｐｌｉｃａｔｉｏｎ）」という発明の名称の特許出願第１３／７４８５６０号において記載されたモバイル・アプリケーション情報またはモバイル・デバイス情報をトラッキングするための任意の方法を使用する。この開示は、ユーザが起動したイベントに関連付けられているユーザを特定するための情報及び方法の特定の例を提供しつつ、この開示は、そのユーザを識別する任意の適切な情報及び方法を企図する。特定の実施形態では、プライバシー設定は、ユーザ、イベント、またはその両方を識別するどのような情報（ある場合）を通知に含まれるようにするかをユーザが操作できるようにする。
【００１９】
特定の実施形態では、通知は、通知に関連付けられているイベントに関する可変の所定のシンボル・ストリングを含む。シンボル・ストリングは、発生したイベントを識別する。例えば、ソフトウェア・アプリケーションの開発者または広告主は、特定のソフトウェア・アプリケーションと関連するイベントがいつ発生したかを識別することを望んでおり、かつ所望のイベントが発生したときに実行するソフトウェアコード（例えば、ＳＤＫに応じた、またはＡＰＩによって少なくとも部分的に提供されたコード）を含み得る。コードは、イベントを識別するストリングを含む。ストリングは、テキスト（例えば、「ユーザはレベル１０に達した」または「ユーザはこの１週間、毎日アプリケーションを使用した」）であるか、イベントに関連付けられているコード（例えば、「２Ｄｆ％ｇ＠＃３」）であるか、または任意の他の適切なストリングである。ＳＤＫ及びＡＰＩのうちの少なくとも一方に従って、ストリングは、開発者、広告主、または任意の他の適切なエンティティによって、作成されるか、取り除かれるか、または変更されて、任意の適切なイベントが識別される。任意の数のストリングが、対応する数のイベントを識別するのに使用され、識別するためのイベントが追加され、取り除かれ、または変更されるときに、ストリングは追加され、取り除かれ、または変更される。
【００２０】
特定の実施形態では、通知は、ユーザが起動したイベントに関連付けられている１つもしくは複数の属性の値を記述する１つもしくは複数の変数を含む。例えば、イベントがユーザによるアプリケーションへのログインまたは起動である場合、変数は、ユーザがアプリケーションに最後にログインした時または使用した時からの期間を記述する。別の例として、イベントがアプリケーションから開始された金融取引、またはアプリケーションに関連付けられている商品（例えば、ゲームにおけるアイテムなど）に関する金融取引である場合、変数は、取引の値（例えば、購入した全アイテムの量、費やした全額）を記述する。変数は、例えば、ユーザがそのアプリケーションにおいて、またはそのアプリケーションを通して何らかの物を購入した回数を示すことによって、ユーザがリピーターの購入者であるかどうかについての詳細を記述する。別の例として、変数は、ユーザがアプリケーションを使用した時間（アプリケーションの有効期間に亘って、連続的な期間においてなど）、またはアプリケーションの特徴を記述する。別の例として、変数は、イベントが発生した時間を記述する。特定の実施形態では、変数は、ソーシャル・ネットワーキング・システムに関連付けられているソーシャル・グラフにおける１つもしくは複数のノードまたはエッジに関連する情報からなど、ソーシャル・ネットワーキング・システムから決定される。この開示は、例示的なユーザが起動したイベントに関連付けられている例示的な属性の例示的な値を記述する変数の特定の例を与えるが、この開示は、適切なユーザが起動したイベントに関連付けられている任意の適切な属性の任意の適切な値を記述する任意の適切な変数を企図する。
【００２１】
特定の実施形態では、通知は、その時間またはイベント時もしくはその時間の付近またはイベントの付近におけるユーザの１つもしくは複数の属性または変数の属性を記述する１つもしくは複数の変数パラメータを含む。例えば、変数パラメータは、アプリケーション上の、またはアプリケーションにおける金融取引において費やした金額に関連付けられている通貨を記述する。別の例として、変数パラメータは、例えば、ユーザがリピーターの購入者であり、特定の階級の顧客（例えば、特定の地位もしくは利益を有するメンバー）の顧客であり、１つもしくは複数の属性（例えば、性別、年齢、収入）を有しており、特定のクライアント・デバイス及び他の特定のデバイスのうちの少なくとも一方を使用し、他のアプリケーションを使用したか、または興味を示したことなどのユーザの属性を記述する。特定の実施形態では、変数パラメータは、ソーシャル・ネットワーキング・システムに関連付けられているソーシャル・グラフにおける１つもしくは複数のノードもしくはエッジに関連付けられている情報からなど、ソーシャル・ネットワーキング・システムから決定される。この開示は、ユーザの特定の属性または変数の属性に関連付けられている変数パラメータの特定の例を与えたが、この開示は、ユーザの任意の適切な属性または任意の適切な変数に関連付けられている任意の適切な変数パラメータを企図する。
【００２２】
通知が受信された後、ステップ３２０において、通知は、イベントに関連付けられているユーザを識別することなどによって、イベントに関連付けられているユーザと関連付けられる。例えば、ユーザは、通知とともにまたは通知と関連して受信された情報から、直接的に識別される。そのような情報は、ユーザの名前、ユーザに関連付けられている固有の識別番号（例えば、ソーシャル・ネットワークに関連付けられている識別番号）、またはユーザと一意的に関連付けられているハッシュもしくは他の符号化された情報を含む。別の例として、ユーザは、通知とともにまたは通知と関連して受信された情報から間接的に識別される。例えば、情報は、（例えば、ユーザに関連付けられ、かつ同一のデバイス上に存在するクッキーによって、ユーザ及びデバイスに関連付けられているアカウントによってなど）ユーザと関連付けられるユーザのクライアント・デバイスを（例えば、アドレス可能なハードウェアコンポーネント、デバイスに関連付けられているアカウントなどによって）識別する。ユーザ及びクライアント・デバイスのうちの少なくとも一方を識別する情報は、ここに参照することにより開示に含まれる２０１３年１月２３日に提出の「モバイル・デバイスにおけるアプリケーションのインストールのためのコンバーション・トラッキング」といつ発明の名称の特許出願第１３／７４８５６０号において説明されたモバイル・アプリケーションまたはモバイル・デバイスの情報をトラッキングするための任意の方法を使用する。この開示は、ユーザが起動したイベントに関連付けられているユーザを識別する情報及び方法の特定の例を与えるが、この開示は、そのユーザを識別する任意の適切な情報及び方法を企図する。
【００２３】
ステップ３３０において、イベントの記述は、受信された通知におけるシンボル・ストリングに少なくとも部分的に基づいて決定される。例えば、ストリングは、「ユーザはアプリケーションをインストールした。」などイベントを明確に記述する。別の例として、ストリングは、ソフトウェア・アプリケーションの広告主もしくは開発者のため、ソフトウェア・アプリケーションのため、または特定のユーザのため、特定のイベントを一般的にマップするコード、例えば「１９４８３６」である。この開示は、受信したシンボル・ストリングに少なくとも部分的に基づいてイベントを決定する任意の適切な方法を企図する。
【００２４】
特定の実施形態は、適切な場合、図３の方法の１つまたは複数のステップを繰り返してもよい。この開示は、図３の方法の特定のステップを、特定の順番で発生するものとして記載し示しているが、この開示は、任意の適切な順番で発生する図３の方法の任意の適切なステップを企図する。さらに、この開示は、図３の方法の特定のステップを実施する特定の構成要素、デバイス、またはシステムについて記載し示しているが、この開示は、図３の方法の任意の適切なステップを実施する任意の適切な構成要素、デバイス、またはシステムの任意の適切な組合せを企図する。
【００２５】
イベントが特定のユーザと一度関連付けられると、情報は、ユーザに関連する情報またはユーザについての情報を決定するのに使用される。例えば、そのような情報は、ソフトウェア・アプリケーションまたは類似のソフトウェア・アプリケーションに関するユーザの有効期限値を計算するのに使用される。別の例として、そのような情報は、イベントと関連付けられたユーザ、及びイベントと関連付けられたユーザと同じような１つまたは複数の類似の属性を有する他のユーザの両方に対して、より効果的な広告及び宣伝キャンペーンを生成するのに使用される。例えば、特定の実施形態は、広告により関連があるか、または広告がより役立つと、より気付きそうなユーザに対して、広告を配信するのを容易にする。例えば、広告主は、その広告により関連があるか、またはその広告がより役立つと、より気付きそうユーザを識別し、ターゲットとすることにより、より高いコンバージョンレート（ｃｏｎｖｅｒｓｉｏｎ  ｒａｔｅｓ）（及び、それによる広告からのより高い投資利益率（ＲＯＩ：ｒｅｔｕｒｎ  ｏｎ  ｉｎｖｅｓｔｍｅｎｔ））を実現する。ソーシャル・ネットワーキング・システムのコンテキストにおいて、広告主は、これらのユーザを識別するために、ソーシャル・ネットワーキング・システム１６０におけるユーザプロフィール情報を使用する。それに加えて、または代替として、ソーシャル・ネットワーキング・システム１６０は、広告主に対するこれらのユーザを特定するために、ソーシャル・ネットワーキング・システム１６０におけるユーザプロフィール情報を使用する。限定するものとしてではなく一例として、特定の実施形態は、イベントの招待または提案、クーポン、取引、または欲しいアイテムのリストについての提案、友人の人生のイベントについての提案、グループについての提案、広告、またはソーシャル広告を伴ってユーザをターゲットにする。そのようなターゲティングは、適切な場合、ソーシャル・ネットワーキング・システム１６０上またはソーシャル・ネットワーキング・システム１６０内において、ソーシャル・ネットワーキング・システム１６０から離れてか、またはソーシャル・ネットワーキング・システム１６０の外部において、またはユーザのモバイル・コンピューティング・デバイスにおいて発生する。ソーシャル・ネットワーキング・システム１６０上またはソーシャル・ネットワーキング・システム１６０内においては、そのようなターゲティングは、ユーザのニュースフィード（ｎｅｗｓ  ｆｅｅｄｓ）、検索結果、Ｅメールまたは他の受信トレー、もしくは通知チャンネル（ｎｏｔｉｆｉｃａｔｉｏｎｓ  ｃｈａｎｎｅｌｓ）に対して向けられるか、（同一のコンセプト、ノード、またはオブジェクトに関連付けられている右側のレールの広告に沿ってグループ化され得る）コンシェルジュまたはグループエリアにおけるウェブページの右側、または（ウェブページにおいてユーザが何を見ているのかということ及びユーザの現在のニュースフィードに基づき得る）エゴネットワーク（ｎｅｔｗｏｒｋ−ｅｇｏ）など、ソーシャル・ネットワーキング・システム１６０のウェブページの特定のエリアに現れる。ソーシャル・ネットワーキング・システ��１６０から離れているか、またはソーシャル・ネットワーキング・システム１６０の外部の場合、そのようなターゲティングは、例えば、アドエクスチェンジまたはソーシャル・プラグイン（ｓｏｃｉａｌ  ｐｌｕｇ−ｉｎ）を含んで、サードパーティ・ウェブサイトを通して提供される。ユーザのモバイル・コンピューティング・デバイス上の場合、そのようなターゲティングは、モバイル・コンピューティング・デバイスに対するプッシュ通知（ｐｕｓｈ  ｎｏｔｉｆｉｃａｔｉｏｎｓ）を通して提供される。
【００２６】
ユーザを識別してターゲットにするために使用されるターゲティング基準は、ソーシャル・ネットワーキング・システム１６０上での明確かつ表明されたユーザの関心事、またはソーシャル・ネットワーキング・システム１６０におけるノード、オブジェクト、エンティティ、ブランド、またはページへのユーザの明確なつながりを含む。それに加えて、または代替として、そのようなターゲティング基準は、（ユーザの歴史、デモグラフィック、社会的または他の活動、友人の社会的または他の活動、サブスクリプション（ｓｕｂｓｃｒｉｐｔｉｏｎｓ）、または（例えば、共有の関心事、つながり、またはイベントに基づく）ユーザと同様の他のユーザの任意の先行の項目の分析を含む）明確なまたは推測されるユーザの関心事またはつながりを含む。特定の実施形態は、プラットフォーム・ターゲティングを利用する。プラットフォーム・ターゲティングは、プラットフォーム及び「いいね」の印象データ、コンテキスト上のシグナル（例えば、「コカコーラ（登録商標）に関するページを現在見ているか、または最近見ていたのは誰か？」）、弱いつながり（例えば、「チェックイン」）、類似の人のつながり、ファン、抽出したキーワード、ＥＭＵ広告、推測に基づいた広告、係数、親和性、または他のソーシャル・グラフの情報、友人の友人のつながり、ピンニング（ｐｉｎｎｉｎｇ）またはブースティング（ｂｏｏｓｔｉｎｇ）、取引、投票、世帯収入、社会的な集団またはグループ、画像または他のメディアにおいて検出された物、ソーシャルまたはオープン・グラフのエッジタイプ、地理的予測、プロフィールまたはページのビュー、状況の更新または他のユーザの投稿（その分析は、自然言語の処理またはキーワードの抽出を含み得る）、イベントの情報、または共同フィルタリングを含む。ユーザを識別してターゲットにすることは、適切な場合、（ユーザのオプトアウト（ｏｐｔ−ｏｕｔｓ）など）プライバシー設定、データハッシュ法（ｄａｔａ  ｈａｓｈｉｎｇ）、またはデータの匿名化も含む。
【００２７】
広告を用いてユーザをターゲットにするために、特定の実施形態は、限定するものとしてではなく一例として、特許出願第１２／１９３７０２として２００８年８月１８日に提出された「ソーシャル・ネットワーキング・ウェブサイトにおける社会広告及び他の情報メッセージ、及び同様な広告モデル（Social Advertisements and Other Informational Messages on a Social Networking Website and Advertising Model for Same）」という発明の名称の特許公開公報第２００９／０１１９１６７号、特許出願第１２／１９５３２１として２００８年８月２０日に提出された「ソーシャル・ネットワークにおけるターゲティング広告（Targeting Advertisements in a Social Network）」という発明の名称の特許公開公報第２００９／００７０２１９、特許出願第１２／９６８７８６号として２０１３年１月２３日に提出された「広告に関連付けられている物と関わったユーザの友人に対するターゲティング社会広告（Targeting Social Advertising to Friends of Users Who Have Interacted With an Object Associated with the Advertising）」という発明の名称の特許公開公報第２０１２／０１５８５０１号、または特許出願第１２／９７８２６５号として２０１３年１月２３日に提出された「ソーシャル・ネットワーキング・システムにおけるコンテキスト上関係のある親和性予測（Contextually Relevant Affinity Prediction in a Social-Networking System）」という発明の名称の特許公開公報第２０１２／０１６６５３２号において言及することにより全て包含される１つまたは複数のシステム、コンポーネント、要素、機能、方法、操作、またはステップを利用する。
【００２８】
図４は、例示的なコンピュータ・システム４００を示す。特定の実施形態では、１または複数のコンピュータ・システム４００は、本明細書に記載され、または示されている１または複数の方法の１または複数のステップを実施する。特定の実施形態では、１または複数のコンピュータ・システム４００は、本明細書に記載され、または示されている機能を提供する。特定の実施形態では、１または複数のコンピュータ・システム４００上で動作するソフトウェアは、本明細書に記載され、または示されている１または複数の方法の１または複数のステップを実施し、または本明細書に記載され、または示されている機能を提供する。特定の実施形態は、１または複数のコンピュータ・システム４００の１または複数の部分を含む。本明細書では、コンピュータ・システムに言及することは、適切な場合、コンピューティング・デバイスを包含してもよく、逆も同様である。さらに、コンピュータ・システムに言及することは、適切な場合、１または複数のコンピュータ・システムを包含してもよい。
【００２９】
この開示は、任意の好適な数のコンピュータ・システム４００を企図する。この開示は、任意の好適な物理形態をとるコンピュータ・システム４００を企図する。限定するものとしてではなく一例として、コンピュータ・システム４００は、組込みコンピュータ・システム、システム・オン・チップ（ＳＯＣ）、シングルボード・コンピュータ・システム（ＳＢＣ）（たとえば、コンピュータ・オン・モジュール（ＣＯＭ）またはシステム・オン・モジュール（ＳＯＭ）など）、デスクトップ・コンピュータ・システム、ラップトップもしくはノートブック・コンピュータ・システム、対話キオスク、メインフレーム、コンピュータ・システムのメッシュ、移動体電話、携帯情報端末（ＰＤＡ）、サーバ、タブレット・コンピュータ・システム、またはこれらの２以上の組合せであってよい。適切な場合、コンピュータ・システム４００は、１または複数のコンピュータ・システム４００を含んでもよく、一元的なものであっても分散型であってもよく、複数のロケーションに跨ってもよく、複数のマシンに跨ってもよく、複数のデータ・センタに跨ってもよく、クラウド内にあってもよく、クラウドは、１または複数のネットワーク内で１または複数のクラウド・コンポーネントを含んでもよい。適切な場合、１または複数のコンピュータ・システム４００は、実質的な空間的または時間的制限なしに、本明細書に記載され、または示されている１または複数の方法の１または複数のステップを実施してもよい。限定するものとしてではなく一例として、１つまたは複数のコンピュータ・システム４００は、リアルタイムで、またはバッチ・モードで、本明細書に記載され、または示されている１または複数の方法の１または複数のステップを実施してもよい。１または複数のコンピュータ・システム４００は、適切な場合、異なる時に、または異なるロケーションで、本明細書に記載され、または示されている１または複数の方法の１または複数のステップを実施してもよい。
【００３０】
特定の実施形態では、コンピュータ・システム４００は、プロセッサ４０２、メモリ４０４、ストレージ４０６、入力／出力（Ｉ／Ｏ）インターフェース４０８、通信インターフェース４１０、およびバス４１２を含む。この開示は、特定の数の特定の構成要素を特定の構成で有する特定のコンピュータ・システムについて記載し示しているが、この開示は、任意の好適な数の任意の好適な構成要素を任意の好適な構成で有する任意の好適なコンピュータ・システムを企図する。
【００３１】
特定の実施形態では、プロセッサ４０２は、コンピュータ・プログラムを構成するものなど命令を実行するためのハードウェアを含む。限定するものとしてではなく一例として、命令を実行するために、プロセッサ４０２は、内部レジスタ、内部キャッシュ、メモリ４０４、またはストレージ４０６から命令を取り出し（またはフェッチし）、それらを復号および実行し、次いで、１または複数の結果を内部レジスタ、内部キャッシュ、メモリ４０４、またはストレージ４０６に書き込む。特定の実施形態では、プロセッサ４０２は、データ、命令、またはアドレス用に１または複数の内部キャッシュを含んでもよい。この開示は、適切な場合、任意の好適な数の任意の好適な内部キャッシュを含むプロセッサ４０２を企図する。限定するものとしてではなく一例として、プロセッサ４０２は、１または複数の命令キャッシュ、１または複数のデータ・キャッシュ、および１または複数の変換索引バッファ（ＴＬＢ）を含んでもよい。命令キャッシュ内の命令は、メモリ４０４またはストレージ４０６内の命令のコピーであってもよく、命令キャッシュは、プロセッサ４０２によるこれらの命令の取り出しを高速化する。データ・キャッシュ内のデータは、プロセッサ４０２にて実行される命令が操作するための、メモリ４０４またはストレージ４０６内のデータのコピー、プロセッサ４０２で実行される後続の命令によるアクセスのための、またはメモリ４０４もしくはストレージ４０６に書き込むための、プロセッサ４０２で実行された以前の命令の結果、あるいは他の好適なデータであってもよい。データ・キャッシュは、プロセッサ４０２による読出しまたは書込み動作を高速化する。ＴＬＢは、プロセッサ４０２のために仮想アドレス変換を高速化する。特定の実施形態では、プロセッサ４０２は、データ、命令、またはアドレス用に１または複数の内部レジスタを含む。この開示は、適切な場合、任意の好適な数の任意の好適な内部レジスタを含むプロセッサ４０２を企図する。適切な場合、プロセッサ４０２は、１または複数の算術論理演算ユニット（ＡＬＵ）を含むことができ、マルチコア・プロセッサであってもよく、１または複数のプロセッサ４０２を含んでもよい。この開示は、特定のプロセッサについて記載し示しているが、この開示は、任意の好適なプロセッサを企図する。
【００３２】
特定の実施形態では、メモリ４０４は、プロセッサ４０２が実行するための命令、またはプロセッサ４０２が操作するためのデータを記憶するための主記憶装置を含む。限定するものとしてではなく一例として、コンピュータ・システム４００は、ストレージ４０６または別のソース（たとえば、別のコンピュータ・システム４００など）からメモリ４０４に命令をロードする。次いで、プロセッサ４０２は、メモリ４０４から内部レジスタまたは内部キャッシュに命令をロードする。命令を実行するために、プロセッサ４０２は、内部レジスタまたは内部キャッシュから命令を取り出し、それらを復号する。命令の実行中、または実行後、プロセッサ４０２は、１または複数の結果（中間結果であることも最終結果であることもある）を内部レジスタまたは内部キャッシュに書き込む。次いで、プロセッサ４０２は、それらの結果の１または複数をメモリ４０４に書き込む。特定の実施形態では、プロセッサ４０２は、１もしくは複数の内部レジスタもしくは内部キャッシュ内、または（ストレージ４０６もしくは他の場所ではなく）メモリ４０４内の命令だけを実行し、１もしくは複数の内部レジスタもしくは内部キャッシュ内、または（ストレージ４０６もしくは他の場所ではなく）メモリ４０４内のデータだけを操作する。１または複数のメモリ・バス（それぞれがアドレス・バスとデータ・バスを含むことがある）がプロセッサ４０２をメモリ４０４に結合してもよい。バス４１２は、下記に記載されているように、１または複数のメモリ・バスを含んでもよい。特定の実施形態では、１または複数のメモリ管理ユニット（ＭＭＵ）が、プロセッサ４０２とメモリ４０４との間に存在し、プロセッサ４０２によって要求されるメモリ４０４へのアクセスを容易にする。特定の実施形態では、メモリ４０４は、ランダム・アクセス・メモリ（ＲＡＭ）を含む。このＲＡＭは、適切な場合、揮発性メモリであり得る。適切な場合、このＲＡＭは、ダイナミックＲＡＭ（ＤＲＡＭ）またはスタティックＲＡＭ（ＳＲＡＭ）であってよい。さらに、適切な場合、このＲＡＭは、シングルポート型またはマルチポート型ＲＡＭであってよい。この開示は、任意の好適なＲＡＭを企図する。メモリ４０４は、適切な場合、１または複数のメモリ４０４を含んでもよい。この開示は、特定のメモリについて記載し示しているが、この開示は、任意の好適なメモリを企図する。
【００３３】
特定の実施形態では、ストレージ４０６は、データまたは命令用のマス・ストレージを含む。限定するものとしてではなく一例として、ストレージ４０６は、ハード・ディスク・ドライブ（ＨＤＤ）、フロッピー（登録商標）ディスク・ドライブ、フラッシュ・メモリ、光ディスク、光磁気ディスク、磁気テープ、もしくはユニバーサル・シリアル・バス（ＵＳＢ）ドライブ、またはこれらの２以上の組合せを含んでもよい。ストレージ４０６は、適切な場合、取外し式または非取外し式（または固定）媒体を含んでもよい。ストレージ４０６は、適切な場合、コンピュータ・システム４００に対して内部であっても外部であってもよい。特定の実施形態では、ストレージ４０６は、不揮発性のソリッドステート・メモリである。特定の実施形態では、ストレージ４０６は、読出し専用メモリ（ＲＯＭ）を含む。適切な場合、このＲＯＭは、マスクプログラムドＲＯＭ、プログラマブルＲＯＭ（ＰＲＯＭ）、消去可能ＰＲＯＭ（ＥＰＲＯＭ）、電気的消去可能ＰＲＯＭ（ＥＥＰＲＯＭ）、電気的書き換え可能ＲＯＭ（ＥＡＲＯＭ）、もしくはフラッシュ・メモリ、またはこれらの２以上の組合せであってよい。この開示は、任意の好適な物理形態をとるマス・ストレージ４０６を企図する。ストレージ４０６は、適切な場合、プロセッサ４０２とストレージ４０６の間の通信を容易にする１または複数のストレージ制御ユニットを含んでもよい。適切な場合、ストレージ４０６は、１または複数のストレージ４０６を含んでもよい。この開示は、特定のストレージについて記載し示しているが、この開示は、任意の好適なストレージを企図する。
【００３４】
特定の実施形態では、Ｉ／Ｏインターフェース４０８は、コンピュータ・システム４００と１または複数のＩ／Ｏデバイスとの間の通信のために１または複数のインターフェースを提供するハードウェア、ソフトウェア、またはその両方を含む。コンピュータ・システム４００は、適切な場合、これらのＩ／Ｏデバイスの１または複数を含んでもよい。これらのＩ／Ｏデバイスの１または複数は、人とコンピュータ・システム４００の間の通信を可能にする。限定するものとしてではなく一例として、Ｉ／Ｏデバイスは、キーボード、キーパッド、マイクロフォン、モニタ、マウス、プリンタ、スキャナ、スピーカ、スチル・カメラ、スタイラス、タブレット、タッチ・スクリーン、トラックボール、ビデオ・カメラ、別の好適なＩ／Ｏデバイス、またはこれらの２以上の組合せを含んでもよい。Ｉ／Ｏデバイスは、１または複数のセンサを含んでもよい。この開示は、任意の好適なＩ／Ｏデバイス、およびそれらのための任意の好適なＩ／Ｏインターフェース４０８を企図する。適切な場合、Ｉ／Ｏインターフェース４０８は、プロセッサ４０２がこれらのＩ／Ｏデバイスの１または複数を駆動することを可能にする１または複数のデバイスまたはソフトウェア・ドライバを含む。Ｉ／Ｏインターフェース４０８は、適切な場合、１または複数のＩ／Ｏインターフェース４０８を含んでもよい。この開示は、特定のＩ／Ｏインターフェースについて記載し示しているが、この開示は、任意の好適なＩ／Ｏインターフェースを企図する。
【００３５】
特定の実施形態では、通信インターフェース４１０は、コンピュータ・システム４００と１もしくは複数の他のコンピュータ・システム４００または１もしくは複数のネットワークとの間の通信（たとえば、パケットベースの通信など）のために１または複数のインターフェースを提供するハードウェア、ソフトウェア、またはその両方を含む。限定するものとしてではなく一例として、通信インターフェース４１０は、ＥＴＨＥＲＮＥＴ（登録商標）もしくは他の有線ベースのネットワークとの通信のためのインターフェース・コントローラ（ＮＩＣ）もしくはネットワーク・アダプタ、またはＷＩ−ＦＩネットワークなど無線ネットワークとの通信のための無線ＮＩＣ（ＷＮＩＣ）もしくは無線アダプタを含んでもよい。この開示は、任意の好適なネットワーク、およびそのための任意の好適な通信インターフェース４１０を企図する。限定するものとしてではなく一例として、コンピュータ・システム４００は、アドホック・ネットワーク、パーソナル・エリア・ネットワーク（ＰＡＮ）、ローカル・エリア・ネットワーク（ＬＡＮ）、ワイド・エリア・ネットワーク（ＷＡＮ）、メトロポリタン・エリア・ネットワーク（ＭＡＮ）、またはインターネットの１もしくは複数の部分、あるいはこれらの２以上の組合せと通信する。これらのネットワークの１または複数のうちの１または複数の部分は、有線であっても無線であってもよい。一例として、コンピュータ・システム４００は、無線ＰＡＮ（ＷＰＡＮ）（たとえば、ＢＬＵＥＴＯＯＴＨ（登録商標）ＷＰＡＮなど）、ＷＩ−ＦＩネットワーク、ＷＩ−ＭＡＸネットワーク、携帯電話ネットワーク（たとえば、グローバル移動体通信システム（ＧＳＭ（登録商標））ネットワークなど）、もしくは他の好適な無線ネットワーク、またはこれらの２以上の組合せと通信する。コンピュータ・システム４００は、適切な場合、これらのネットワークのいずれかのための任意の好適な通信インターフェース４１０を含んでもよい。通信インターフェース４１０は、適切な場合、１または複数の通信インターフェース４１０を含んでもよい。この開示は、特定の通信インターフェースについて記載し示しているが、この開示は、任意の好適な通信インターフェースを企図する。
【００３６】
特定の実施形態では、バス４１２は、コンピュータ・システム４００の構成要素を互いに結合するハードウェア、ソフトウェア、またはその両方を含む。限定するものとしてではなく一例として、バス４１２は、アクセラレィティッド・グラフィックス・ポート（ＡＧＰ）もしくは他のグラフィックス・バス、ＥＩＳＡ（Ｅｎｈａｎｃｅｄ  Ｉｎｄｕｓｔｒｙ  Ｓｔａｎｄａｒｄ  Ａｒｃｈｉｔｅｃｔｕｒｅ）バス、フロントサイド・バス（ＦＳＢ）、ＨＴ（ＨＹＰＥＲＴＲＡＮＳＰＯＲＴ）相互接続、ＩＳＡ（Ｉｎｄｕｓｔｒｙ  Ｓｔａｎｄａｒｄ  Ａｒｃｈｉｔｅｃｔｕｒｅ）バス、インフィニバンド相互接続、ＬＰＣ（ｌｏｗ−ｐｉｎ−ｃｏｕｎｔ）バス、メモリ・バス、ＭＣＡ（Ｍｉｃｒｏ  Ｃｈａｎｎｅｌ  Ａｒｃｈｉｔｅｃｔｕｒｅ）バス、ＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ）バス、ＰＣＩエクスプレス（ＰＣＩｅ）バス、ＳＡＴＡ（ｓｅｒｉａｌ  ａｄｖａｎｃｅｄ  ｔｅｃｈｎｏｌｏｇｙ  ａｔｔａｃｈｍｅｎｔ）バス、ＶＬＢ（Ｖｉｄｅｏ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｓｔａｎｄａｒｄｓ  Ａｓｓｏｃｉａｔｉｏｎ  ｌｏｃａｌ）バス、もしくは別の好適なバス、またはこれらの２以上の組合せを含んでもよい。バス４１２は、適切な場合、１または複数のバス４１２を含んでもよい。この開示は、特定のバスについて記載し示しているが、この開示は、任意の好適なバスまたは相互接続を企図する。
【００３７】
本明細書では、１または複数の非一時的コンピュータ可読記憶媒体は、適切な場合、１または複数の半導体ベースの、もしくは他の集積回路（ＩＣ）（たとえば、フィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）または特定用途向けＩＣ（ＡＳＩＣ））、ハード・ディスク・ドライブ（ＨＤＤ）、ハイブリッド・ハード・ドライブ（ＨＨＤ）、光ディスク、光ディスク・ドライブ（ＯＤＤ）、光磁気ディスク、光磁気ドライブ、フロッピー（登録商標）・ディスケット、フロッピー（登録商標）・ディスク・ドライブ（ＦＤＤ）、磁気テープ、ソリッドステート・ドライブ（ＳＳＤ）、ＲＡＭドライブ、セキュア・デジタル・カードもしくはセキュア・デジタル・ドライブ、任意の他の好適な非一時的コンピュータ可読記憶媒体、またはこれらの２以上の組合せを含んでもよい。非一時的コンピュータ可読記憶媒体は、適切な場合、揮発性、不揮発性、または揮発性と不揮発性の組合せであってよい。
【００３８】
本明細書では、「または（もしくは）」は、別段明確に示されていない限り、または別段文脈によって示されない限り、包括的（ｉｎｃｌｕｓｉｖｅ）であり、排他的なものではない。したがって、本明細書では、「ＡまたはＢ」は、別段明確に示されていない限り、または別段文脈によって示されない限り、「Ａ、Ｂ、またはその両方」を意味する。さらに、「および」は、別段明確に示されていない限り、または別段文脈によって示されない限り、共同であり、個別的でもある。したがって、本明細書では、「ＡおよびＢ」は、別段明確に示されていない限り、または別段文脈によって示されない限り、「ＡおよびＢを共同で、または個別的に」意味する。
【００３９】
この開示の範囲は、当業者であれば理解するであろう、本明細書に記載され、または示されている例示的な実施形態に対する変更、置換、変形、代替、および修正すべてを包含する。この開示の範囲は、本明細書に記載され、または示されている例示的な実施形態に限定されない。さらに、この開示は、それぞれの実施形態について、本明細書では、特定の構成要素、要素、機能、動作、またはステップを含むものとして記載し示しているが、これらの実施形態のいずれも、当業者であれば理解するであろう、本明細書のどこかに記載され、または示されている構成要素、要素、機能、動作、またはステップのいずれかの任意の組合せまたは並べ替えを含んでもよい。さらに、添付の特許請求の範囲において、特定の機能を実施するように適合された、するように配置された、することが可能な、するように構成された、することが可能である、するように動作可能である、またはするように動作する装置もしくはシステム、または装置もしくはシステムの構成要素に言及することは、その装置、システム、または構成要素がそのように適合され、配置され、動作可能であり、構成され、可能であり、動作可能であり、動作する限り、それ、またはその特定の機能が作動される、オンにされる、またはロック解除されるか否かにかかわらず、その装置、システム、構成要素を包含する。
【図１】
2018045713.tif 000003
【図２】
2018045713.tif 000004
【図３】
2018045713.tif 000005
【図４】
2018045713.tif 000006