(57)【特許請求の範囲】
【請求項１】
１つ又は複数のコンピューティングデバイスによって検索クエリを受信し、
１つ又は複数のコンピューティングデバイスによって、前記検索クエリに基づいて検索すべきデータオブジェクトのセットを識別し、
１つ又は複数のコンピューティングデバイスによって、
前記データオブジェクトのセットをステップサイズＮでステップ実行し、各ステップでのデータオブジェクトが前記検索クエリに対して応答性であるかどうかを判定することを含む演算を実行し、
Ｘ個以上のデータオブジェクトが前記検索クエリに対して応答性であると判定された後でかつＹ個のデータオブジェクトが前記検索クエリに対して応答性であると判定される前に、前記セットの末尾に達した場合には、前記検索クエリに対して応答性であると判定された前記データオブジェクトの計数をＮで乗算し、その結果を、前記セットのうちで前記検索クエリに対して応答性であるデータオブジェクトの数の推定値として提供し、
それ以外の場合には、Ｎを修正して前記演算を再実行すること
を備える方法。
【請求項２】
Ｎを修正することは、前記セットの末尾に達する前にＹ個のデータオブジェクトが前記検索クエリに対して応答性であると判定された場合にＮを増加させることを含む、請求項１に記載の方法。
【請求項３】
Ｎを増加させることは、Ｎを倍化することを含む、請求項２に記載の方法。
【請求項４】
Ｎを修正することは、前記セットの末尾に達し、かつ、Ｘ個より少数のデータオブジェクトが前記検索クエリに対して応答性であると判定された場合にＮを減少させることを含む、請求項１に記載の方法。
【請求項５】
前記データオブジェクトはウェブページを含む、請求項１に記載の方法。
【請求項６】
前記データオブジェクトは、ソーシャルネットワーキングシステムのユーザプロフィールを含む、請求項１に記載の方法。
【請求項７】
前記データオブジェクトは写真を含む、請求項１に記載の方法。
【請求項８】
Ｎ、Ｘ、及びＹは、前記セット内の前記データオブジェクトのデータオブジェクトタイプに基づく所定の値を有する、請求項１に記載の方法。
【請求項９】
前記データオブジェクトのセットをステップサイズＮでステップ実行することは、メモリアドレス指定アルゴリズムを使用して前記データオブジェクトのセットをステップサイズＮでステップ実行することを含む、請求項１に記載の方法。
【請求項１０】
１つ又は複数のコンピューティングデバイスによって、前記演算中に前記検索クエリに基づいて前記データオブジェクトのセットを検索することを更に含む、請求項１に記載の方法。
【請求項１１】
１つ又は複数のコンピューティングデバイスによって、検索クエリを受信し、
１つ又は複数のコンピューティングデバイスによって、前記検索クエリに基づいて検索すべきデータオブジェクトのセットを識別し、
１つ又は複数のコンピューティングデバイスによって、
前記データオブジェクトのセットをステップサイズＮでステップ実行し、各ステップでのデータオブジェクトが前記検索クエリに対して応答性であるかどうかを判定することを含む演算を実行し、
Ｘ個以上のデータオブジェクトが前記検索クエリに対して応答性であると判定された後でかつＹ個のデータオブジェクトが前記検索クエリに対して応答性であると判定される前に、前記セットの末尾に達した場合には、前記検索クエリに対して応答性であると判定された前記データオブジェクトを、又は、前記検索クエリに対して応答性であると判定された前記データオブジェクトに対するリンクを、検索結果サンプルとして提供し、
それ以外の場合には、Ｎを修正して前記演算を再実行すること
を備える方法。
【請求項１２】
Ｎを修正することは、前記セットの末尾に達する前にＹ個のデータオブジェクトが前記検索クエリに対して応答性であると判定された場合にＮを増加させることを含む、請求項１１に記載の方法。
【請求項１３】
Ｎを増加させることは、Ｎを倍化することを含む、請求項１２に記載の方法。
【請求項１４】
Ｎを修正することは、前記セットの末尾に達し、かつ、Ｘ個より少数のデータオブジェクトが前記検索クエリに対して応答性であると判定された場合にＮを減少させることを含む、請求項１１に記載の方法。
【請求項１５】
前記データオブジェクトはウェブページを含む、請求項１１に記載の方法。
【請求項１６】
前記データオブジェクトは、ソーシャルネットワーキングシステムのユーザプロフィールを含む、請求項１１に記載の方法。
【請求項１７】
前記データオブジェクトは写真を含む、請求項１１に記載の方法。
【請求項１８】
Ｎ、Ｘ、及びＹは、前記セット内の前記データオブジェクトのデータオブジェクトタイプに基づく所定の値を有する、請求項１１に記載の方法。
【請求項１９】
１つ又は複数のコンピューティングデバイスによって、前記演算と同時に前記検索クエリに基づいて前記データオブジェクトのセットを検索することを更に含む、請求項１１に記載の方法。
【請求項２０】
前記データオブジェクトのセットをステップサイズＮでステップ実行することは、メモリアドレス指定アルゴリズムを使用して前記データオブジェクトのセットをステップサイズＮでステップ実行することを含む、請求項１１に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、一般的に、データセットをサンプリングすることに関する。
【背景技術】
【０００２】
検索クエリを使用して特定のデータオブジェクトを検索するためにコンピュータが使用されることがある。データオブジェクトは、テキスト文字列、数値、又は、画像、ビデオ等といった、当該オブジェクトに関連するメタデータ等の、コンピュータのメモリ要素に格納された情報であり得る。データオブジェクトは、当該データオブジェクトに関連する１つ又は複数の検索可能な特性を有し得る。特定のタイプのデータオブジェクトあるいは関連する特性を有するデータオブジェクトを検索するための検索クエリが使用されることがある。検索クエリは、テキスト文字列、ハイパーテキスト、又はＳＱＬ等の検索クエリ言語等といった任意の適した方法を使用して入力されることがある。検索対象となったデータオブジェクトのタイプ又は特定のデータオブジェクト特性に関する複数の制約を有する検索クエリを実行するために構造化クエリが使用されることがある。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
検索クエリは、データセット内のデータオブジェクトを検索するために使用されることがある。データセットが大きくなるにつれて、そのデータセットのうちで検索クエリに対して応答性である各データオブジェクトを識別することはよりリソース集約的になる。このような場合には、データセットから検索クエリを実行すべきデータオブジェクトのサブセットをサンプリングすることが望ましい場合がある。
【０００４】
データセットが特定のデータオブジェクトに関して又はデータオブジェクトの属性に関してランダムに編成されていないときには、完全なデータセットを正確に表すデータオブジェクトのサブセットを作成するために注意が払われなければならない。データセットのうちで所与の検索クエリに対して応答性（responsive）であるデータオブジェクトの数を推定するときにも同様である。データオブジェクトのサブセットがより大きなデータセットを表さないならば、当該サブセットのうちで検索クエリに対して応答性であるオブジェクトを計数することは、より大きなデータセットのうちでその検索クエリに対して応答性であるオブジェクトの数を正確に推定するための効果的な方法ではないことがある。
【課題を解決するための手段】
【０００５】
検索クエリに対して応答性であるデータオブジェクトのサブセットを作成するか又はデータセットのうちで検索クエリに対して応答性であるデータオブジェクトの数を計数する例示的な方法は、検索クエリを受信し、検索すべきデータオブジェクトのセットを識別することを含む。この方法は、データオブジェクトのセットをステップサイズＮでステップ実行し、各ステップでのオブジェクトが前記検索クエリに対して応答性であるかどうかを判定することを含む。Ｙ個のデータオブジェクトが応答性であると判定される前に前記セットの終端に達し、かつ、Ｘ個以上のデータオブジェクトが応答性であると判定された場合、前記セット内の応答性データオブジェクトの数の推定値が提供される。あるいは、前記データセットの末尾に達する前にＹ個以上のデータオブジェクトが前記検索クエリに対して応答性であると判定されているか、又はＸ個より少数のデータオブジェクトが応答性であると判定されている場合、Ｎを修正してこの方法を再実行する。
【図面の簡単な説明】
【０００６】
【図１】ソーシャルネットワーキングシステムに関連する例示的なネットワーク環境を示す図である。
【図２】検索クエリに対して応答性であるデータオブジェクトの数を推定するための例示的な方法を示す図である。
【図３】検索クエリに対して応答性であるデータオブジェクトのサンプルを推定するための例示的な方法を示す図である。
【図４】例示的なコンピュータシステムを示す図である。
【発明を実施するための形態】
【０００７】
図１は、ソーシャルネットワーキングシステムに関連する例示的なネットワーク環境１００を示す。ネットワーク環境１００は、ネットワーク１１０によって互いに接続された、クライアントシステム１３０、ソーシャルネットワーキングシステム１６０、及びサードパーティシステム１７０を含む。図１は、クライアントシステム１３０、ソーシャルネットワーキングシステム１６０、サードパーティシステム１７０、及びネットワーク１１０の特定の配置構成を示すが、本開示は、クライアントシステム１３０、ソーシャルネットワーキングシステム１６０、サードパーティシステム１７０、及びネットワーク１１０の任意の適した配置構成を企図する。制限としてではなく例として、クライアントシステム１３０、ソーシャルネットワーキングシステム１６０、及びサードパーティシステム１７０の２つ以上を、ネットワーク１１０をバイパスして、互いに直接接続してもよい。別の例として、クライアントシステム１３０、ソーシャルネットワーキングシステム１６０、及びサードパーティシステム１７０の２つ以上を、全体的に又は部分的に、物理的に又は論理的に互いに同じ場所に配置してもよい。更に、図１は、特定の数のクライアントシステム１３０、ソーシャルネットワーキングシステム１６０、サードパーティシステム１７０、及びネットワーク１１０を示すが、本開示は、任意の適した数のクライアントシステム１３０、ソーシャルネットワーキングシステム１６０、サードパーティシステム１７０、及びネットワーク１１０を企図する。制限としてではなく例として、ネットワーク環境１００は、複数のクライアントシステム１３０、複数のソーシャルネットワーキングシステム１６０、複数のサードパーティシステム１７０、及び複数のネットワーク１１０を含んでもよい。
【０００８】
本開示は、任意の適したネットワーク１１０を企図する。制限としてではなく例として、ネットワーク１１０の１つ又は複数の部分は、アドホックネットワーク、イントラネット、エクストラネット、バーチャルプライベートネットワーク（ＶＰＮ）、ローカルエリアネットワーク（ＬＡＮ）、ワイヤレスＬＡＮ（ＷＬＡＮ）、ワイドエリアネットワーク（ＷＡＮ）、ワイヤレスＷＡＮ（ＷＷＡＮ）、メトロポリタンエリアネットワーク（ＭＡＮ）、インターネットの一部分、公衆交換電話網（ＰＳＴＮ）の一部分、セルラー電話網、あるいは、これらの２つ以上の組合せを含んでもよい。ネットワーク１１０は、１つ又は複数のネットワーク１１０を含んでもよい。
【０００９】
リンク１５０は、クライアントシステム１３０、ソーシャルネットワーキングシステム１６０、及びサードパーティシステム１７０を、通信ネットワーク１１０に又は互いに接続することができる。本開示は、任意の適したリンク１５０を企図する。特定の実施形態において、１つ又は複数のリンク１５０は、１つ又は複数のワイヤラインリンク（例えば、デジタル加入者線（ＤＳＬ）又はデータオーバケーブルサービスインタフェース仕様（ＤＯＣＳＩＳ）等）、ワイヤレスリンク（例えば、ＷｉＦｉ又はワールドワイドインターオペラビィティ・フォー・マイクロウェーブアクセス（ＷｉＭＡＸ）等）、又は光リンク（例えば、同期光ネットワーク（ＳＯＮＥＴ）又は同期デジタルヒエラルヒー（ＳＤＨ）等）を含む。特定の実施形態において、１つ又は複数のリンク１５０はそれぞれ、アドホックネットワーク、イントラネット、エクストラネット、ＶＰＮ、ＬＡＮ、ＷＬＡＮ、ＷＡＮ、ＷＷＡＮ、ＭＡＮ、インターネットの一部分、ＰＳＴＮの一部分、セルラー技術ベースネットワーク、衛星通信技術ベースネットワーク、別のリンク１５０、又は、２つ以上のこうしたリンク１５０の組合せを含む。リンク１５０は、ネットワーク環境１００全体にわたって必ずしも同じである必要はない。１つ又は複数の第１のリンク１５０は、１つ又は複数の第２のリンク１５０と１つ又は複数の点で異なってもよい。
【００１０】
特定の実施形態において、クライアントシステム１３０は、ハードウェア、ソフトウェア、又は埋め込み論理コンポーネント、あるいは２つ以上のこうしたコンポーネントの組合せを含み、クライアントシステム１３０によって実装又はサポートされる適切な機能を実施することが可能な電子デバイスであり得る。制限としてではなく例として、クライアントシステム１３０は、デスクトップコンピュータ、ノートブック又はラップトップコンピュータ、ネットブック、タブレットコンピュータ、電子ブックリーダ、ＧＰＳデバイス、カメラ、携帯情報端末（ＰＤＡ）、手持ち式電子デバイス、セルラー電話、スマートフォン、他の適した電子デバイス、あるいは、その任意の適した組合せ等のコンピュータシステムを含むことができる。本開示は、任意の適したクライアントシステム１３０を企図する。クライアントシステム１３０は、クライアントシステム１３０のネットワークユーザがネットワーク１１０にアクセスすることを可能にすることができる。クライアントシステム１３０は、そのユーザが、他のクライアントシステム１３０の他のユーザと通信することを可能にすることができる。
【００１１】
特定の実施形態において、クライアントシステム１３０は、マイクロソフトインターネットエクスプローラ、グーグルクローム、又はモジラファイアフォックス等のウェブブラウザ１３２を含むことができ、ツールバー又はヤフーツールバー等の１つ又は複数のアドオン、プラグイン、又は他の拡張機能を有することができる。クライアントシステム１３０のユーザは、特定のサーバ（サーバ１６２又はサードパーティシステム１７０に関連するサーバ等）にウェブブラウザ１３２を向けるユニフォームリソースロケータ（ＵＲＬ）又は他のアドレスを入力することができ、ウェブブラウザ１３２は、ハイパーテキスト転送プロトコル（ＨＴＴＰ）要求を生成し、ＨＴＴＰ要求をサーバに伝達することができる。サーバは、ＨＴＴＰ要求を受付け、ＨＴＴＰ要求に応答してクライアントシステム１３０に１つ又は複数のハイパーテキストマークアップ言語（ＨＴＭＬ）を伝達することができる。クライアントシステム１３０は、ユーザに提示するため、サーバからのＨＴＭＬファイルに基づいてウェブページをレンダリングすることができる。本開示は任意の適したウェブページファイルを企図する。制限としてではなく例として、ウェブページは、特定のニーズに応じて、ＨＴＭＬファイル、拡張可能ハイパーテキストマークアップ言語（ＸＨＴＭＬ）ファイル、又は拡張可能マークアップ言語（ＸＭＬ）ファイルからレンダリングすることができる。こうしたページはまた、例えばまた限定することなく、ＪＡＶＡスクリプト（登録商標）、ＪＡＶＡ（登録商標）、マイクロソフトシルバーライト、ＡＪＡＸ（非同期ＪＡＶＡＳＣＲＩＰＴ及びＸＭＬ）等のマークアップ言語とスクリプトの組合せ、及び同様なもので書かれたスクリプト等のスクリプトを実行することができる。本明細書において、ウェブページに対する参照は、適宜、１つ又は複数の対応するウェブページファイルを包含する、また、その逆もまた同様である。
【００１２】
特定の実施形態において、ソーシャルネットワーキングシステム１６０は、オンラインソーシャルネットワークをホストすることができるネットワークアドレス可能コンピューティングシステムであり得る。ソーシャルネットワーキングシステム１６０は、例えば、ユーザプロフィールデータ、概念プロフィールデータ、ソーシャルグラフ情報、又は、オンラインソーシャルネットワークに関する他の適したデータ等のソーシャルネットワーキングデータを、生成し、格納し、受信し、送信することができる。ソーシャルネットワーキングシステム１６０は、ネットワーク環境１００の他のコンポーネントによって、直接又はネットワーク１１０を介してアクセスすることができる。特定の実施形態において、ソーシャルネットワーキングシステム１６０は、１つ又は複数のサーバ１６２を含むことができる。各サーバ１６２は、単一サーバ、あるいは、複数のコンピュータ又は複数のデータセンターに及ぶ分散サーバであり得る。サーバ１６２は、例えばまた限定することなく、ウェブサーバ、ニュースサーバ、メールサーバ、メッセージサーバ、広告サーバ、ファイルサーバ、アプリケーションサーバ、交換サーバ、データベースサーバ、プロキシサーバ、本明細書で記載する機能又はプロセスを実施するのに適する別のサーバ、又はその任意の組合せ等の種々のタイプであり得る。特定の実施形態において、各サーバ１６２は、サーバ１６２によって実装される適切な機能を実施するために、ハードウェア、ソフトウェア、又は埋め込み論理コンポーネント、あるいは２つ以上のこうしたコンポーネントの組合せを含むことができる。特定の実施形態において、ソーシャルネットワーキングシステム１６０は、１つ又は複数のデータストア１６４を含むことができる。データストア１６４は、種々のタイプの情報を格納するために使用することができる。特定の実施形態において、データストア１６４に格納される情報は、特定のデータ構造に従って編成することができる。特定の実施形態において、各データストア１６４は、リレーショナルデータベース、カラムナデータベース、又は他の適したデータベースであり得る。本開示は特定のタイプのデータベースを記載又は図示するが、本開示は、任意の適したタイプのデータベースを企図する。特定の実施形態は、クライアントシステム１３０、ソーシャルネットワーキングシステム１６０、又はサードパーティシステム１７０が、データストア１６４に格納される情報を管理する、取出す、修正する、追加する、又は削除することを可能にするインタフェースを提供することができる。
【００１３】
特定の実施形態において、ソーシャルネットワーキングシステム１６０は、１つ又は複数のソーシャルグラフを１つ又は複数のデータストア１６４に格納することができる。特定の実施形態において、ソーシャルグラフは、複数のノード−複数のユーザノード（それぞれが特定のユーザに対応する）又は複数の概念ノード（それぞれが特定の概念に対応する）を含むことができる−及びノードを接続する複数のエッジを含むことができる。ソーシャルネットワーキングシステム１６０は、オンラインソーシャルネットワークのユーザに他のユーザと通信し相互作用する能力を提供することができる。特定の実施形態において、ユーザは、オンラインソーシャルネットワークをソーシャルネットワーキングシステム１６０によって結合し、その後、ユーザが接続したいと思うソーシャルネットワーキングシステム１６０の何人かの他のユーザに対するコネクション（例えば、関係）を付加することができる。本明細書において、用語「友達」は、ソーシャルネットワーキングシステム１６０によってユーザが、その人とのコネクション、関連付け、又は関係を形成したソーシャルネットワーキングシステム１６０の任意の他のユーザを指すことができる。
【００１４】
特定の実施形態において、ソーシャルネットワーキングシステム１６０は、ソーシャルネットワーキングシステム１６０によってサポートされる、種々のタイプのアイテム又は対象に対する対策をとる能力をユーザに提供することができる。制限としてではなく例として、アイテム及び対象は、ソーシャルネットワーキングシステム１６０のユーザが属することができるグループ又はソーシャルネットワーク、ユーザが関心を持ちそうなイベント又はカレンダーエントリ、ユーザが使用できるコンピュータベースアプリケーション、ユーザがサービスによってアイテムを買うか又は売ることを可能にする取引、ユーザが実施することができる広告との相互作用、あるいは、他の適したアイテム又は対象を含むことができる。ユーザは、ソーシャルネットワーキングシステム１６０内で、又は、ソーシャルネットワーキングシステム１６０から離れておりかつネットワーク１１０によってソーシャルネットワーキングシステム１６０に結合されるサードパーティシステム１７０の外部システムによって表現されることが可能であるどんなものとでも相互作用することができる。
【００１５】
特定の実施形態において、ソーシャルネットワーキングシステム１６０は、種々のエンティティをリンクすることが可能なものであってよい。制限としてではなく例として、ソーシャルネットワーキングシステム１６０は、ユーザが、互いに相互作用すると共に、サードパーティシステム１７０又は他のエンティティからコンテンツを受信することを可能にすることができる、又は、ユーザが、アプリケーションプログラミングインタフェース（ＡＰＩ）又は他の通信チャネルを通してこれらのエンティティと相互作用することを可能にすることができる。
【００１６】
特定の実施形態において、サードパーティシステム１７０は、限定はしないが、例えばサーバが通信することができる、ＡＰＩ、１つ又は複数のウェブサービス、１つ又は複数のコンテンツソース、１つ又は複数のネットワーク、又は任意の他の適したコンポーネントを含む１つ又は複数のタイプのサーバ、１つ又は複数のデータストア、１つ又は複数のインタフェースを含むことができる。サードパーティシステム１７０は、ソーシャルネットワーキングシステム１６０を運用するエンティティと異なるエンティティによって運用されることができる。しかし、特定の実施形態において、ソーシャルネットワーキングシステム１６０及びサードパーティシステム１７０は、互いに連携して運用されて、ソーシャルネットワーキングシステム１６０又はサードパーティシステム１７０のユーザにソーシャルネットワーキングサービスを提供することができる。この意味では、ソーシャルネットワーキングシステム１６０は、サードパーティシステム１７０等の他のシステムが使用することができるプラットフォーム又はバックボーンを提供して、インターネットにわたってユーザにソーシャルネットワーキングサービス及び機能を提供することができる。
【００１７】
特定の実施形態において、サードパーティシステム１７０は、サードパーティコンテンツオブジェクトプロバイダを含むことができる。サードパーティコンテンツオブジェクトプロバイダは、クライアントシステム１３０に伝達することができるコンテンツオブジェクトの１つ又は複数のソースを含むことができる。制限としてではなく例として、コンテンツオブジェクトは、例えば、映画ショウタイム、映画レビュー、レストランレビュー、レストランメニュー、製品情報及びレビュー、又は他の適した情報等の、ユーザにとって関心のある事柄又はアクティビティに関する情報を含むことができる。制限としてではなく別の例として、コンテンツオブジェクトは、クーポン、ディスカウントチケット、商品券、又は他の適したインセンティブオブジェクト等のインセンティブコンテンツオブジェクトを含むことができる。
【００１８】
特定の実施形態において、ソーシャルネットワーキングシステム１６０はまた、ソーシャルネットワーキングシステム１６０とのユーザの相互作用を増大させることができるユーザ生成コンテンツオブジェクトを含む。ユーザ生成コンテンツは、ソーシャルネットワーキングシステム１６０に対してユーザが付加、アップロード、送信、又は「ポスト（ｐｏｓｔ）」できるどんなものを含んでもよい。制限としてではなく例として、ユーザは、クライアントシステム１３０からソーシャルネットワーキングシステム１６０にポストを伝達する。ポストは、ステータス更新又は他のテキストデータ、ロケーション情報、写真、ビデオ、リンク、音楽又は他の同様なデータ又は媒体等のデータを含むことができる。コンテンツを、同様に、ニュースフィード又はストリーム等の「通信チャネル」を通してサードパーティによってソーシャルネットワーキングシステム１６０に付加することができる。
【００１９】
特定の実施形態において、ソーシャルネットワーキングシステム１６０は、種々のサーバ、サブシステム、プログラム、モジュール、ログ、及びデータストア１６４を含むことができる。特定の実施形態において、ソーシャルネットワーキングシステム１６０は、以下、すなわち、ウェブサーバ、アクションロガー、ＡＰＩ要求サーバ、関連性及びランク付けエンジン、コンテンツオブジェクト分類子、通知コントローラ、アクションログ、サードパーティコンテンツオブジェクトエクスポージャログ、推論モジュール、認可／プライバシサーバ、検索モジュール、広告標的モジュール、ユーザインタフェースモジュール、ユーザプロフィールストア、コネクションストア、サードパーティコンテンツストア、又はロケーションストアのうちの１つ又は複数を含むことができる。ソーシャルネットワーキングシステム１６０はまた、ネットワークインタフェース、セキュリティメカニズム、負荷分散器、フェイルオーバサーバ、管理及びネットワーク運用コンソール、他の適したコンポーネント、又はその任意の適した組合せ等の適したコンポーネントを含むことができる。特定の実施形態において、ソーシャルネットワーキングシステム１６０は、ユーザプロフィールを格納するための１つ又は複数のユーザプロフィールストアを含むことができる。ユーザプロフィールは、例えば、人物紹介情報、人口統計的情報、挙動情報、ソーシャル情報、あるいは、仕事の経験、学歴、趣味又は選好、関心、交際関係、又はロケーションといった他のタイプの記述的情報を含むことができる。関心情報は、１つ又は複数のカテゴリに関する関心を含むことができる。カテゴリは、一般的か又は特定のものであり得る。制限としてではなく例として、ユーザが、靴のブランドに関する記事を「好む」場合、カテゴリは、ブランド、「靴」又は「服」といった一般的なカテゴリであり得る。コネクションストアは、ユーザに関するコネクション情報を格納するために使用することができる。コネクション情報は、同様の又は共通の仕事の経験、グループメンバーシップ、趣味、学歴を有するか、あるいは、いずれにしても共通の属性に関連するか又はそれを共有するユーザを示すことができる。コネクション情報はまた、異なるユーザとコンテンツ（内部と外部の両方）との間のユーザ定義コネクションを含むことができる。ウェブサーバは、ソーシャルネットワーキングシステム１６０を、ネットワーク１１０によって１つ又は複数のクライアントシステム１３０あるいは１つ又は複数のサードパーティシステム１７０にリンクするために使用することができる。ウェブサーバは、メールサーバ、又は、ソーシャルネットワーキングシステム１６０と１つ又は複数のクライアントシステム１３０との間でメッセージを受信しルーティングするための他のメッセージング機能を含むことができる。ＡＰＩ要求サーバは、サードパーティシステム１７０が、１つ又は複数のＡＰＩを呼出すことによってソーシャルネットワーキングシステム１６０からの情報にアクセスすることを可能にすることができる。アクションロガーは、ソーシャルネットワーキングシステム１６０をオン又はオフするユーザのアクションに関する、ウェブサーバからの通信情報を受信するために使用することができる。アクションログと共に、サードパーティコンテンツオブジェクトに対するユーザエキスポージャについてのサードパーティコンテンツオブジェクトエキスポージャログを維持することができる。通知コントローラは、コンテンツオブジェクトに関する情報をクライアントシステム１３０に提供することができる。情報を、通知としてクライアントシステム１３０にプッシュすることができる、又は、情報を、クライアントシステム１３０から受信される要求に応答してクライアントシステム１３０からプルすることができる。認可サーバは、ソーシャルネットワーキングシステム１６０のユーザの１つ又は複数のプライバシ設定を施行するために使用することができる。ユーザのプライバシ設定は、ユーザに関連する特定の情報をどのように共有することができるかを決定する。認可サーバは、例えば、適切なプライバシ設定を設定することによって等で、ユーザのアクションをソーシャルネットワーキングシステム１６０によってログをとってもらうか又は他のシステム（例えば、サードパーティシステム１７０）に共有してもらうことをユーザがオプトイン又はオプトアウト処理することを可能にすることができる。サードパーティコンテンツオブジェクトストアは、サードパーティシステム１７０等のサードパーティから受信されるコンテンツオブジェクトを格納するために使用することができる。ロケーションストアは、ユーザに関連するクライアントシステム１３０から受信されるロケーション情報を格納するために使用することができる。広告価格決定モジュールは、ソーシャル情報、目下の時間、ロケーション情報、又は他の適した情報を組合せて、ユーザに対して通知の形態で関連性のある広告を提供することができる。
【００２０】
検索クエリは、データセット内のデータオブジェクトを検索するために使用され得る。例えば、ソーシャルネットワークの文脈において、データオブジェクトは、ユーザ、場所、ポスト、広告、画像又は他のグラフィカルコンテンツ、通知、あるいは任意の他の適したデータオブジェクトを表すことができる。別の例として、データオブジェクトはウェブページを表すことができる。検索クエリは、画像である全てのデータオブジェクト等、特定のタイプのデータオブジェクトについて実施することができる。検索クエリはまた、１つ又は複数の特性又は属性を有するデータオブジェクトを検索するために使用することができる。例えば、ユーザデータオブジェクトは、ユーザのコネクション、好き（ｌｉｋｅ）、又は活動等のユーザデータオブジェクトに関連する、ユーザの選好又はユーザに関する情報を有することができる。別の例として、広告データオブジェクトは、特定のテキスト、グラフィックス、又は他のメディア等の広告データオブジェクトに関連する属性を有することができる。上記開示は、ソーシャルネットワーキングシステムの文脈においてデータオブジェクトのタイプ及びデータオブジェクトの属性についての特定の例を提供するが、本開示は、任意の適した文脈における任意の適したデータオブジェクト又はデータオブジェクトの属性を企図する。
【００２１】
データセットがより大きくなるにつれて、データセットのうちで検索クエリに対して応答性である各データオブジェクトを識別することは、よりリソース集約的になる。これらの例において、データセットから検索クエリを実行すべきデータオブジェクトのサブセットをサンプリングすることが望ましい場合がある。例えば、データセットが１０億以上のデータオブジェクトを有する場合、百万のデータオブジェクトのサブセットに関して検索クエリを実行することが望ましい場合があり、百万のデータオブジェクトはより大きなデータセットを表す。
【００２２】
データセットが、特定のデータオブジェクトに関して又はデータオブジェクトの属性に関してランダムに編成されないとき、完全なデータセットを正確に表すデータオブジェクトのサブセットを作成するために注意が払われなければならない。例えば、データオブジェクトは、作成される順序でデータセットに格納することができ、データオブジェクトの１つ又は複数の属性は作成時間に相関することができる。例えば、データオブジェクトは、或るオファーに応答した個人を表すことができる。オファーが、地理的エリアを選択するときに最初に提供された場合、最初のデータオブジェクト（最初の個人）の地理的エリアは、オファーが最初に提供された地理的エリアに向かってバイアスされることになる。オファーが、その後、より大きな地理的エリアに対して提供されると、最初のデータオブジェクトのセットは、データオブジェクトの全体のセットを表さないことになる。
【００２３】
データセットが呈する場合がある考えられるバイアスの別の例として、ソーシャルネットワークは、ユーザを識別番号で識別することができる。番号がランダムに割当てられない場合、前記セット内のデータオブジェクトの順序は、或るユーザ特性に向けてバイアスされることになる。例えば、ソーシャルネットワークが、最初に、或る共通特性を有するユーザのグループにとって利用可能であった場合、識別番号は、これらの共通特性に向かってバイアスされるユーザに対応する。結果として、最初のｎユーザ番号を有するユーザをサンプリングすることは、或る特性に向かってバイアスされるユーザのセットを含み、ソーシャルネットワークのユーザの全体のグループを表さない場合がある。
【００２４】
同じ配慮は、データセットのうちで所与の検索クエリに対して応答性であるデータオブジェクトの数を推定するときに当てはまる。データセットが大きい場合、データオブジェクトのセットは、リソースを節約するか又は検索クエリが実行されるためにかかる時間を減少させるために使用することができる。データオブジェクトのサブセットがより大きなデータセットを表さない場合、そのサブセットのうちで検索クエリに対して応答性であるオブジェクトを計数することは、より大きなデータセットのうちで前記検索クエリに対して応答性であるオブジェクトの数を正確に推定するための効果的な方法でない場合がある。
【００２５】
先の例は、データオブジェクトのセットのサブセットを、或るタイプのデータオブジェクトに向かって、或る特性を有するデータオブジェクトに向かって、又は両方に向かってバイアスすることができることを示す。リソースの配慮は、しばしば、前記セット内の各データオブジェクトを分析することなく当該データセットを分析することを必要とし、したがって、サブセットが完全なデータセットを表すことを意図されるとき、バイアスを含むデータオブジェクトのサブセットを作成することを回避するために注意が払われなければならない。上記例は、特定の文脈において、特定のタイプのデータオブジェクト及びそれらのデータオブジェクトをバイアスすることができる特定の方法を記載するが、本開示は、任意の適した文脈において任意の適したタイプのデータオブジェクトを企図し、これらのデータオブジェクトが任意の数の理由で任意の数の方法でバイアスすることができることを認識する。
【００２６】
図２は、データセットのうちで検索クエリに対して応答性であるデータオブジェクトの数の推定値を生成するための例示的なコンピュータ実装方法２００を示す。この方法は、検索クエリを受信するステップ２１０で始まることができる。検索クエリは、特定のタイプのデータオブジェクト、特定の属性を有するデータオブジェクト、又は両方を検索するためのものであり得る。特定の実施形態では、検索クエリは、検索されるデータオブジェクトのタイプ、検索されるデータオブジェクトの属性、又は両方に関する複数の制約を含むことがある。例えば、ソーシャルネットワークのユーザに向けられる検索クエリは、我等オーガスティン（Ｗｅ  Ａｒｅ  Ａｕｇｕｓｔｉｎｅｓ）を好きでかつ大学卒業者であるユーザを問い合わせるものであり得る。
【００２７】
ステップ２２０にて、検索クエリを実施すべきデータオブジェクトのセットが識別される。特定の実施形態では、このデータオブジェクトのセットは、２つ以上のサーバ、ハードドライブ、又は他の適した記憶デバイス上に格納され得る。特定の実施形態では、このデータオブジェクトのセットは、複数のデータセットとして、単一のサーバ、ハードドライブ、又は他の適した記憶デバイス上に格納され得る。例えば、問合せ対象のデータセットは、複数の分割データベース等の、２つ以上のデータベース、又は、データベースの２つ以上のパーティションを含んでもよい。特定の実施形態では、検索クエリは、記憶デバイス、データベース、又はパーティション上で一度に実行され得る。特定の実施形態では、検索クエリは、複数の記憶デバイス、複数のデータベース、又は複数のパーティション上で同時に実行され得る。
【００２８】
ステップ２３０にて、方法は、ステップ２２０にて識別されたデータセットをステップサイズＮでステップ実行(stepping through)する。換言すれば、本方法は、第１のデータオブジェクトを検討し、Ｎ個のデータオブジェクト離れて存在する第２のデータオブジェクトを検討し、第２のデータオブジェクトからＮ個のデータオブジェクト離れて存在する第３のデータオブジェクトを検討する等々である。Ｎは、検索されるデータオブジェクトのタイプ又はデータセット内の総計データオブジェクトの推定値に基づいて異なってもよい。例えば、ソーシャルネットワークの文脈では、ユーザ数より多数の画像が存在することがある。結果として、Ｎは、データオブジェクトがユーザに関連するときに比べて、データオブジェクトが画像に関連するときにより大きな数であり得る。選択された各データオブジェクトについて、そのデータオブジェクトが検索クエリに対して応答性であるかどうかが判定される。特定の実施形態では、そのクエリに対して応答性であるデータオブジェクトの計数値が維持される。特定の実施形態では、検索クエリに対して応答性である各データオブジェクトは、選択されるか、タグ付されるか、リンクされるか、又はその他の方法でその検索クエリに対して応答性であるものとして示される。特定の実施形態では、複数のデータオブジェクトは、当該複数のデータオブジェクトに対応するメモリアドレスを識別及びステップ実行することによって、例えば、メモリアドレス指定アルゴリズムを使用することによって、ステップ実行される。本開示は、当該複数のデータオブジェクトをステップ実行するための任意の適した方法又はプロセスを使用することを企図する。
【００２９】
ステップ２３０にてデータオブジェクトが応答性であると判定されるたびに、本方法は、ステップ２４０にて、Ｙ個のデータオブジェクトが検索クエリに対して応答性であると判定されているかどうかを判定する。Ｙ個より少数のデータオブジェクトが応答性であると判定されている場合、ステップ２３０で示すように本方法は継続される。Ｙ個以上のデータオブジェクトが検索クエリに対して応答性であると判定されている場合、Ｎは修正され、修正後のＮの値を使用してステップ２３０の方法が再開される。例えば、Ｙ個以上のデータオブジェクトが検索クエリに対して応答性であると判定されているとき、例えば倍化によってＮは増加されることがある。本開示は、任意の適したアルゴリズムを使用してＮを修正することを企図する。
【００３０】
Ｙ個のデータオブジェクトが検索クエリに対して応答性であると判定されていない場合、ステップ２３０が継続されて、或る時点でデータセットの末尾に達する。ステップ２５０に示すように、データセットの末尾に達しており、かつ、Ｘ個より少数のデータオブジェクトが検索クエリに対して応答性であると判定されている場合、Ｎは修正され、ステップ２３０にて本方法が再開される。特定の実施形態では、例えば、Ｎを半分にし、次に、最近傍の整数にＮを丸めることによってＮは減少されることがある。本開示は、任意の適したアルゴリズムを使用してＮを修正することを企図する。
【００３１】
データセットの末尾に達しており、かつ、Ｘ個以上のデータオブジェクトが検索クエリに対して応答性であると判定されている場合、この完全なデータセット内のデータオブジェクトの数が、この演算中に維持された、前記検索クエリに対して応答性であるデータオブジェクトの計数を使用して推定される。例えば、ステップ２６０に示すように、完全なデータセット内のデータオブジェクトの数は、検索クエリに対して応答性であると判定されたデータオブジェクトの計数を、直近で使用したステップサイズＮで乗算することによって推定することができる。この結果は、その後、例えば、検索クエリの発信者又は検索クエリを実行したエンティティに提供され得る。
【００３２】
図３は、検索クエリに対して応答性であるデータオブジェクトのサンプルを推定するための例示的なコンピュータ実装式方法３００を示す。ステップ３１０〜３５０は、先に記載したステップ２１０〜２５０と同一である。しかし、ステップ３６０にて、データセットの末尾に達し、かつ、Ｘ個以上のデータオブジェクトが検索クエリに対して応答性であると判定された場合、これらのデータオブジェクトは、より大きなデータセットのうちで検索クエリに対して応答性であるデータオブジェクトのサンプルとして提供される。特定の実施形態において、サンプルを表すデータオブジェクトに対するリンクを提供することができる。
【００３３】
特定の実施形態は、適宜、図２又は３の方法の１つ又は複数のステップを反復することができる。本開示は、特定の順序で起こるものとして図２及び３の方法の特定のステップを記載し図示したが、本開示は、任意の適した順序で起こる図２及び３の方法の任意の適したステップを企図する。更に、本開示は、図２及び３の方法の特定のステップを実施する特定のコンポーネント、デバイス、又はシステムを記載し図示するが、本開示は、図２及び３の方法の任意の適したステップを実施する任意の適したコンポーネント、デバイス、又はシステムの任意の適した組合せを企図する。
【００３４】
図４は、例示的なコンピュータシステム４００を示す。特定の実施形態において、１つ又は複数のコンピュータシステム４００は、本明細書に記載又は図示される１つ又は複数の方法の１つ又は複数のステップを実施する、あるいは、本明細書に記載又は図示される機能を提供する。特定の実施形態において、１つ又は複数のコンピュータシステム４００上で実行されるソフトウェアは、本明細書に記載又は図示される１つ又は複数の方法の１つ又は複数のステップを実施する、あるいは、本明細書に記載又は図示される機能を提供する。特定の実施形態は、１つ又は複数のコンピュータシステム４００の１つ又は複数の部分を含む。本明細書において、コンピュータシステムに対する参照は、適宜、コンピューティングデバイスを包含することができる、また、その逆も同様である。更に、コンピュータシステムに対する参照は、適宜、１つ又は複数のコンピュータシステムを包含することができる。
【００３５】
本開示は、任意の適した数のコンピュータシステム４００を企図する。本開示は、任意の適した物理的形態をとるコンピュータシステム４００を企図する。制限としてではなく例として、コンピュータシステム４００は、埋め込み式コンピュータシステム、システムオンチップ（ＳＯＣ）、シングルボードコンピュータシステム（ＳＢＣ）（例えば、コンピュータオンモジュール（ＣＯＭ）又はシステムオンモジュール（ＳＯＭ）等）、デスクトップコンピュータシステム、ラップトップ又はノートブックコンピュータシステム、対話型キオスク、メインフレーム、コンピュータシステムのメッシュ、携帯電話、携帯情報端末（ＰＤＡ）、サーバ、タブレットコンピュータシステム、又はこれらの２つ以上の組合せであり得る。適宜、コンピュータシステム４００は、１つ又は複数のコンピュータシステム４００を含むことができる、一体型又は分散型であり得る、複数のロケーションに及ぶことができる、複数の機械に及ぶことができる、複数のデータセンターに及ぶことができる、あるいは、１つ又は複数のネットワーク内に１つ又は複数のクラウドコンポーネントを含むことができるクラウド内に常駐することができる。適宜、１つ又は複数のコンピュータシステム４００は、実質的な空間的又は時間的制限無しで、本明細書に記載又は図示される１つ又は複数の方法の１つ又は複数のステップを実施することができる。制限としてではなく例として、１つ又は複数のコンピュータシステム４００は、本明細書に記載又は図示される１つ又は複数の方法の１つ又は複数のステップをリアルタイムに又はバッチモードで実施することができる。１つ又は複数のコンピュータシステム４００は、適宜、本明細書に記載又は図示される１つ又は複数の方法の１つ又は複数のステップを、異なる時間に又は異なるロケーションで実施することができる。
【００３６】
特定の実施形態において、コンピュータシステム４００は、プロセッサ４０２、メモリ４０４、ストレージ４０６、入出力（Ｉ／Ｏ）インタフェース４０８、通信インタフェース４１０、及びバス４１２を含む。本開示は、特定の配置構成で特定の数のコンポーネントを有する特定のコンピュータシステムを記載し図示するが、任意の適した配置構成で任意の適した数の任意の適したコンポーネントを有する任意の適したコンピュータシステムを企図する。
【００３７】
特定の実施形態において、プロセッサ４０２は、コンピュータプログラムを構成する命令等の命令を実行するためのハードウェアを含む。制限としてではなく例として、命令を実行するため、プロセッサ４０２は、内部レジスタ、内部キャッシュ、メモリ４０４、又はストレージ４０６から命令を取出す（又はフェッチする）ことができる、それらを復号化し実行することができる、その後、１つ又は複数の結果を内部レジスタ、内部キャッシュ、メモリ４０４、又はストレージ４０６に書込むことができる。特定の実施形態において、プロセッサ４０２は、データ、命令、又はアドレス用の１つ又は複数の内部キャッシュを含むことができる。本開示は、適宜、任意の適した数の任意の適した内部キャッシュを含むプロセッサ４０２を企図する。制限としてではなく例として、プロセッサ４０２は、１つ又は複数の命令キャッシュ、１つ又は複数のデータキャッシュ、並びに１つ又は複数の変換ルックアサイドバッファ（ＴＬＢ）を含むことができる。命令キャッシュ内の命令は、メモリ４０４又はストレージ４０６内の命令のコピーであるとすることができ、命令キャッシュはプロセッサ４０２によるそれらの命令の取出しを高速化することができる。データキャッシュ内のデータは、プロセッサ４０２で実行される命令が作用するための、メモリ４０４又はストレージ４０６内のデータのコピー；プロセッサ４０２で実行される後続の命令がアクセスするため又はメモリ４０４又はストレージ４０６に書込むための、プロセッサ４０２で実行された以前の命令の結果；又は、他の適したデータであり得る。データキャッシュは、プロセッサ４０２による読出し又は書込み動作を高速化することができる。ＴＬＢは、プロセッサ４０２用の仮想アドレス変換を高速化することができる。特定の実施形態において、プロセッサ４０２は、データ、命令、又はアドレス用の１つ又は複数の内部レジスタを含むことができる。本開示は、適宜、任意の適した数の任意の適した内部レジスタを含むプロセッサ４０２を企図する。適宜、プロセッサ４０２は、１つ又は複数の算術論理ユニット（ＡＬＵ）を含むことができる、マルチコアプロセッサであり得るか、あるいは１つ又は複数のプロセッサ４０２を含むことができる。本開示は、任意の適したプロセッサを企図する。
【００３８】
特定の実施形態において、メモリ４０４は、プロセッサ４０２が実行するための命令又はプロセッサ４０２が作用するためのデータを格納するための主メモリを含む。制限としてではなく例として、コンピュータシステム４００は、ストレージ４０６又は別のソース（例えば、別のコンピュータシステム４００等）からメモリ４０４に命令をロードすることができる。その後、プロセッサ４０２は、メモリ４０４から内部レジスタ又は内部キャッシュに命令をロードすることができる。命令を実行するため、プロセッサ４０２は、内部レジスタ又は内部キャッシュから命令を取り出し、それらを復号することができる。命令の実行中又は実行後、プロセッサ４０２は、１つ又は複数の結果（中間又は最終結果であり得る）を内部レジスタ又は内部キャッシュに書込むことができる。その後、プロセッサ４０２は、それらの結果の１つ又は複数をメモリ４０４に書込むことができる。特定の実施形態において、プロセッサ４０２は、（ストレージ４０６又は他の場所と対照的に）１つ又は複数の内部レジスタ又は内部キャッシュ内あるいはメモリ４０４内の命令だけを実行し、（ストレージ４０６又は他の場所と対照的に）１つ又は複数の内部レジスタ又は内部キャッシュ内あるいはメモリ４０４内のデータだけに作用する。１つ又は複数のメモリバス（それぞれアドレスバス及びデータバスを含むことができる）は、プロセッサ４０２をメモリ４０４に結合することができる。バス４１２は、以下に記載するように１つ又は複数のメモリバスを含むことができる。特定の実施形態において、１つ又は複数のメモリ管理ユニット（ＭＭＵ）は、プロセッサ４０２とメモリ４０４との間に常駐し、プロセッサ４０２によって要求されるメモリ４０４に対するアクセスを容易にする。特定の実施形態において、メモリ４０４はランダムアクセスメモリ（ＲＡＭ）を含む。このＲＡＭは、適宜、揮発性メモリであり得る。適宜、このＲＡＭは、ダイナミックＲＡＭ（ＤＲＡＭ）又はスタティックＲＡＭ（ＳＲＡＭ）であり得る。さらに、適宜、このＲＡＭはシングルポート又はマルチポートＲＡＭであり得る。本開示は任意の適したＲＡＭを企図する。メモリ４０４は、適宜、１つ又は複数のメモリ４０２を含むことができる。本開示は、任意の適したメモリを企図する。
【００３９】
特定の実施形態において、ストレージ４０６は、データ又は命令用の大容量ストレージを含む。制限としてではなく例として、ストレージ４０６は、ハードディスクドライブ（ＨＤＤ）、フロッピーディスク（登録商標）ドライブ、フラッシュメモリ、光ディスク、光磁気ディスク、磁気テープ、又はユニバーサルシリアルバス（ＵＳＢ）ドライブ、あるいはこれらの２つ以上の組合せを含むことができる。ストレージ４０６は、適宜、取外し可能又は取外し不能（すなわち固定）媒体を含むことができる。ストレージ４０６は、適宜、コンピュータシステム４００に対して内部又は外部にあり得る。特定の実施形態において、ストレージ４０６は、不揮発性固体メモリである。特定の実施形態において、ストレージ４０６は読出し専用メモリ（ＲＯＭ）を含む。適宜、このＲＯＭは、マスクプログラム式ＲＯＭ、プログラマブルＲＯＭ（ＰＲＯＭ）、消去可能ＰＲＯＭ（ＥＰＲＯＭ）、電気的消去可能ＰＲＯＭ（ＥＥＰＲＯＭ）、電気的消去再書き込み可能ＲＯＭ（ＥＡＲＯＭ）、又はフラッシュメモリ、あるいはこれらの２つ以上の組合せであり得る。本開示は、任意の適した物理的形態をとる大容量ストレージ４０６を企図する。ストレージ４０６は、適宜、プロセッサ４０２とストレージ４０６との間の通信を容易にする１つ又は複数のストレージ制御ユニットを含むことができる。適宜、ストレージ４０６は、１つ又は複数のストレージ４０６を含むことができる。本開示は、特定のストレージを記載し図示するが、任意の適したストレージを企図する。
【００４０】
特定の実施形態において、Ｉ／Ｏインタフェース４０８は、コンピュータシステム４００と１つ又は複数のＩ／Ｏデバイスとの間の通信のための１つ又は複数のインタフェースを提供するハードウェア、ソフトウェア、又はその両方を含む。コンピュータシステム４００は、適宜、これらのＩ／Ｏデバイスの１つ又は複数を含むことができる。これらのＩ／Ｏデバイスの１つ又は複数は、人とコンピュータシステム４００との間の通信を可能にすることができる。制限としてではなく例として、Ｉ／Ｏデバイスは、キーボード、キーパッド、マイクロフォン、モニタ、マウス、プリンタ、スキャナ、スピーカ、スチルカメラ、スタイラス、タブレット、タッチスクリーン、トラックボール、ビデオカメラ、別の適したＩ／Ｏデバイス、又はこれらの２つ以上の組合せを含むことができる。Ｉ／Ｏデバイスは１つ又は複数のセンサを含むことができる。本開示は、任意の適したＩ／Ｏデバイス及びＩ／Ｏデバイス用の任意の適したＩ／Ｏインタフェース４０８を企図する。適宜、Ｉ／Ｏインタフェース４０８は、プロセッサ４０２がこれらのＩ／Ｏデバイスの１つ又は複数を駆動することを可能にする１つ又は複数のデバイス又はソフトウェアドライバを含むことができる。Ｉ／Ｏインタフェース４０８は、適宜、１つ又は複数のＩ／Ｏインタフェース４０８を含むことができる。本開示は、特定のＩ／Ｏインタフェースを記載し図示するが、任意の適したＩ／Ｏインタフェースを企図する。
【００４１】
特定の実施形態において、通信インタフェース４１０は、コンピュータシステム４００と１つ又は複数の他のコンピュータシステム４００あるいは１つ又は複数のネットワークとの間の通信（例えば、パケットベースの通信等）用の１つ又は複数のインタフェースを提供するハードウェア、ソフトウェア又はその両方を含む。制限としてではなく例として、通信インタフェース４１０は、イーサネット（登録商標）又は他のワイヤベースのネットワークと通信するためのネットワークインターフェースコントローラ（ＮＩＣ）又はネットワークアダプタ、あるいは、ＷＩＦＩネットワーク等のワイヤレスネットワークと通信するためのワイヤレスＮＩＣ（ＷＮＩＣ）又はワイヤレスアダプタを含むことができる。本開示は、任意の適したネットワーク及びネットワーク用の任意の適した通信インタフェース４１０を企図する。制限としてではなく例として、コンピュータシステム４００は、アドホックネットワーク、パーソナルエリアネットワーク（ＰＡＮ）、ローカルエリアネットワーク（ＬＡＮ）、ワイドネットワーク（ＷＡＮ）、メトロポリタンエリアネットワーク（ＭＡＮ）、又はインターネットの１つ又は複数の部分、あるいはこれらの２つ以上の組合せと通信することができる。これらのネットワークの１つ又は複数のネットワークの１つ又は複数の部分はワイヤ式又はワイヤレス式であり得る。例として、コンピュータシステム４００は、ワイヤレスＰＡＮ（ＷＰＡＮ）（例えばブルートゥースＷＰＡＮ等）、ＷＩＦＩネットワーク、ＷＩＭＡＸネットワーク、セルラー電話ネットワーク（例えば移動体通信用グローバルシステム（ＧＳＭ）ネットワーク等）、又は他の適したワイヤレスネットワーク、あるいはこれらの２つ以上の組合せと通信することができる。コンピュータシステム４００は、適宜、これらのネットワークのうちの任意のネットワーク用の任意の適した通信インタフェース４１０を含むことができる。通信インタフェース４１０は、適宜、１つ又は複数の通信インタフェース４１０を含むことができる。本開示は、特定の通信インタフェースを記載し図示するが、任意の適した通信インタフェースを企図する。
【００４２】
特定の実施形態において、バス４１２は、コンピュータシステム４００のコンポーネントを互いに結合するハードウェア、ソフトウェア、又はその両方を含む。制限としてではなく例として、バス４１２は、アクセラレイテッドグラフィックポート（ＡＧＰ）又は他のグラフィックバス、強化型業界標準アーキテクチャ（ＥＩＳＡ）バス、フロントサイドバス（ＦＳＢ）、ハイパートランスポート（ＨＴ）インターコネクト、業界標準アーキテクチャ（ＩＳＡ）バス、インフィニバンドインターコネクト、ローピンカウント（ＬＰＣ）バス、メモリバス、マイクロチャネルアーキテクチャ（ＭＣＡ）バス、ペリフェラルコンポーネントインターコネクト（ＰＣＩ）、ＰＣＩエクスプレス（ＰＣＩｅ）バス、シリアルアドバンストテクノロジアタッチメント（ＳＡＴＡ）バス、ビデオエレクトロニクス規格協会ローカル（ＶＬＢ）バス、又は別の適したバス、あるいはこれらの２つ以上の組合せを含むことができる。バス４１２は、適宜、１つ又は複数のバス４１２を含むことができる。本開示は、特定のバスを記載し図示するが、任意の適したバス又はインターコネクトを企図する。
【００４３】
本明細書において、１つ又は複数のコンピュータ可読非一時的記憶媒体は、適宜、１つ又は複数の半導体ベース又は他の集積化回路（ＩＣ）（例えば、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）又は特定用途向けＩＣ（ＡＳＩＣ）等）、ハードディスクドライブ（ＨＤＤ）、ハイブリッドハードディスク（ＨＨＤ）、光ディスク、光ディスクドライブ（ＯＤＤ）、光磁気ディスク、光磁気ドライブ、フロピーディスク、フロピーディスクドライブ（ＦＤＤ）、磁気テープ、固体ドライブ（ＳＳＤ）、ＲＡＭドライブ、セキュアデジタルカード又はドライブ、又は任意の他の適したコンピュータ可読非一時的記憶媒体、あるいはこれらの２つ以上の任意の適した組合せを含むことができる。コンピュータ可読非一時的記憶媒体は、適宜、揮発性か、不揮発性か、又は揮発性と不揮発性の組合せであり得る。
【００４４】
本明細書において、「又は」は、別途明示的に指示されるか又は文脈によって別途指示されない限り、包含的であり排他的でない。したがって、本明細書では、「Ａ又はＢ」は、別途明示的に指示されるか又は文脈によって別途指示されない限り、「Ａ、Ｂ、又は両方」を意味する。更に、「及び」は、別途明示的に指示されるか又は文脈によって別途指示されない限り、共同的であると共に個別的である。したがって、本明細書では、「Ａ及びＢ」は、別途明示的に指示されるか又は文脈によって別途指示されない限り、「共同で又は個別にＡ及びＢ」を意味する。
【００４５】
本開示の範囲は、当業者が理解するであろう本明細書に記載又は図示された例示的な実施形態に対する全ての変更、置換、変形、代替、及び修正を包含する。本開示の範囲は、本明細書に記載又は図示される例示的な実施形態に限定されない。更に、本開示は、本明細書のそれぞれの実施形態を、特定のコンポーネント、要素、関数、演算、又はステップを含むものとして記載し図示するが、これらの実施形態の任意の実施形態は、当業者が理解するであろう、本明細書のどこにでも記載又は図示されるコンポーネント、要素、関数、演算、又はステップの任意のものの任意の組合せ又は置換を含むことができる。更に、特定の機能を実施するように、適合されるか、配列されるか、可能であるか、構成されるか、イネーブルされるか、作動可能であるか、又は、作動的である、装置又はシステムあるいは装置又はシステムのコンポーネントに対する添付特許請求の範囲における参照は、その装置、システム、又はコンポーネントがそのように適合されるか、配列されるか、可能であるか、構成されるか、イネーブルされるか、作動可能であるか、又は、作動的である限り、装置、システム、又はコンポーネント又はその特定の機能が起動される、ターンオンされる、又はロック解除されるか否かによらず、その装置、システム、コンポーネントを包含する。
【図１】
0006348127.tif 000002
【図２】
0006348127.tif 000003
【図３】
0006348127.tif 000004
【図４】
0006348127.tif 000005