"コンピューティングシステムにおいて、ユーザに関連するユーザ識別子とジオグラフィックロケーションとを含む要求を受信するステップと、ロケーション情報のデータ記憶装置にアクセスして、前記ジオグラフィックロケーションの付近にある一又は複数の場所のセットを特定するステップと、前記一又は複数の場所のセット中の各場所について、前記ユーザのチェックインアクティビティに対応する一又は複数の値と、前記ユーザの一又は複数のソーシャルコンタクトのチェックインアクティビティに対応する一又は複数の値とを含むユーザアクティビティデータのセットにアクセスするステップと、前記ジオグラフィックロケーションと各場所に対応するジオグラフィックロケーションとの間の距離と、各場所の前記ユーザアクティビティデータのセット中の一又は複数の値とに基づいて、前記一又は複数の場所のセット中の場所をランク付けするステップと、前記一又は複数の場所のセットからランク付けされた場所のセットを含む応答を送信するステップとを含む方法。前記一又は複数の場所のセット中の各場所は、前記ジオグラフィックロケーションから所定距離内にある、請求項1に記載の方法。前記要求は、文字ストリングを含み、前記データ記憶装置にアクセスするステップは、前記文字ストリングを前記データ記憶装置に記憶された場所に対応する場所識別子とマッチさせるステップを含む、請求項1に記載の方法。前記文字ストリングを前記データ記憶装置に記憶された場所に対応する場所識別子とマッチさせるステップは、さらに、前記文字ストリングを各場所識別子と完全に又は部分的にマッチさせるステップを含む、請求項3に記載の方法。前記ジオグラフィックロケーションは、地理的座標系パラメータにより特定される、請求項1に記載の方法。前記ユーザアクティビティデータのセットは、ユーザチェックインアクティビティテーブルに配置される、請求項1に記載の方法。前記ユーザアクティビティデータのセットは、さらに、ソーシャルネットワーキングシステム中のグローバルなユーザセットのチェックインアクティビティに対応する一又は複数の値を含む、請求項1に記載の方法。前記ユーザアクティビティデータのセットは、ユーザチェックインアクティビティテーブルに配置される、請求項7に記載の方法。前記ユーザの又はそのユーザのソーシャルコンタクトのチェックインアクティビティは、場所へのチェックインに関して他のユーザをタギングするステップを含む、請求項1に記載の方法。装置であって、メモリと、一又は複数のプロセッサと、コンピュータ読み取り可能命令を含むプログラムであって、実行された時、前記一又は複数のプロセッサに:ユーザに関連するユーザ識別子とジオグラフィックロケーションとを含む要求を受信させ、ロケーション情報のデータ記憶装置にアクセスして、前記ジオグラフィックロケーションの付近にある一又は複数の場所のセットを特定させ、前記一又は複数の場所のセット中の各場所について、前記ユーザのチェックインアクティビティに対応する一又は複数の値と、前記ユーザの一又は複数のソーシャルコンタクトのチェックインアクティビティに対応する一又は複数の値とを含むユーザアクティビティデータのセットを発生させ、前記ジオグラフィックロケーションと各場所に対応するジオグラフィックロケーションとの間の距離と、各場所の前記ユーザアクティビティデータのセット中の一又は複数の値とに基づいて、前記一又は複数の場所のセット中の場所をランク付けさせ、前記一又は複数の場所のセットからランク付けされた場所のセットを含む応答を送信させる、装置。前記一又は複数の場所のセット中の各場所は、前記ジオグラフィックロケーションから所定距離内にある、請求項10に記載の装置。前記要求は、文字ストリングを含み、データ記憶装置にアクセスするため、前記プログラムはさらに、前記一又は複数のプロセッサに、前記文字ストリングを前記データ記憶装置に記憶された場所に対応する場所識別子とマッチさせる命令を含む、請求項10に記載の装置。前記文字ストリングを前記データ記憶装置に記憶された場所に対応する場所識別子とマッチするため、前記プログラムはさらに、前記一又は複数のプロセッサに、前記文字ストリングを各場所識別子と完全に又は部分的にマッチさせる命令を含む、請求項12に記載の装置。前記ジオグラフィックロケーションは、地理的座標系パラメータにより特定される、請求項10に記載の装置。前記ユーザアクティビティデータのセットは、ユーザチェックインアクティビティテーブルに配置される、請求項10に記載の装置。前記ユーザアクティビティデータのセットは、さらに、ソーシャルネットワーキングシステム中のグローバルなユーザセットのチェックインアクティビティに対応する一又は複数の値を含む、請求項10に記載の装置。前記ユーザアクティビティデータのセットは、ユーザチェックインアクティビティテーブルに配置される、請求項16に記載の装置。前記ユーザの又はそのユーザのソーシャルコンタクトのチェックインアクティビティは、場所へのチェックインに関して他のユーザをタギングするステップを含む、請求項10に記載の装置。命令を含む非一時的、コンピュータ読み取り可能媒体であって、前記命令は、実行された時、前記一又は複数のプロセッサに:ユーザに関連するユーザ識別子とジオグラフィックロケーションとを含む要求にアクセスさせ、ロケーション情報のデータ記憶装置にアクセスして、前記ジオグラフィックロケーションの付近にある一又は複数の場所のセットを特定させ、前記一又は複数の場所のセット中の各場所について、前記ユーザのチェックインアクティビティに対応する一又は複数の値と、前記ユーザの一又は複数のソーシャルコンタクトのチェックインアクティビティに対応する一又は複数の値とを含むユーザアクティビティデータのセットにアクセスさせ、前記ジオグラフィックロケーションと各場所に対応するジオグラフィックロケーションとの間の距離と、各場所の前記ユーザアクティビティデータのセット中の一又は複数の値とに基づいて、前記一又は複数の場所のセット中の場所をランク付けさせ、前記一又は複数の場所のセットからランク付けされた場所のセットを含む応答を送信させる、非一時的、コンピュータ読み取り可能記憶媒体。前記ユーザの又はそのユーザのソーシャルコンタクトのチェックインアクティビティは、場所へのチェックインに関して他のユーザをタギングするステップを含む、請求項19に記載の非一時的、コンピュータ読み取り可能媒体。ある実施形態は、ランク付けされた場所のリストをユーザに提供して、ある場所へのチェックインに関する場所の選択やユーザの現在の地理的ロケーションに最も近いロケーションの発見など、様々な行動operationを容易にするジオソーシャルネットワーキングシステムに関する。一実施形態では、ジオソーシャルネットワーキングシステムは、ジオグラフィック情報とソーシャルネットワーク情報を用いて、ユーザのロケーションに近い関連する場所のリストを生成する。場所のリストは、ユーザに近い一又は複数の場所のリストを書く場所とユーザの間の距離により、及びユーザのチェックイン活動と各場所のユーザのソーシャルコンタクトにより、ランク付けすることにより生成できる。本開示の上記の特徴、その他の特徴、態様、及び効果を、詳細な説明において、以下の図面を参照して、詳細に説明する。ここで、添付した図面に示した実施形態を参照して、本発明を詳細に説明する。以下の詳細な説明では、本開示をよく理解してもらうために、詳細を具体的に説明する。しかし、当業者には言うまでもなく、これらの詳細がなくても本開示を実施することができる。他の場合には、本開示を不必要に分かりにくくしないように、周知のプロセスステップ及び/又は構造は詳細には説明しない。また、具体的な実施形態に関して本開示を説明したが、言うまでもなく、この説明は本開示を実施形態に限定することを意図したものではない。むしろ、この説明は、添付した特許請求の範囲で画定される本開示の精神と範囲に入る代替物、修正、及び等価物を含むものである。ソーシャルネットワーキングウェブサイトなどのソーシャルネットワーキングシステムにより、そのユーザは、そのシステムとインターラクトでき、そのシステムを通じて互いにインターラクトできる。一般的に、ソーシャルネットワーキングシステムの登録ユーザになるには、エンティティentityは人間であろうとなかろうと、そのソーシャルネットワーキングシステムでアカウントを登録する。その後、登録ユーザは、例えば、正しいログインID又はユーザネームとパスワードとを入力provideすることにより、アカウントを介してそのソーシャルネットワーキングシステムにログインできる。ここで、ユーザとは、このようなソーシャルネットワーク環境とインターラクト又は通信する、又はこのようなソーシャルネットワーク環境を通じてインターラクト又は通信する、個人人間のユーザ、例えば、企業、事業、サードパーティアプリケーションといったエンティティ、又は例えば、個人やエンティティのグループである。ソーシャルネットワーキングシステムは、最初にユーザがアカウントを登録すると、ユーザプロファイルと呼ばれることが多い、そのユーザに関するレコードを生成して格納する。ユーザプロファイルは、ユーザにより提供された情報と、そのユーザの活動や動作に関する、そのソーシャルネットワーキングシステムを含む様々なシステムにより収集された情報とを含む。例えば、ユーザは、自分の氏名、連絡先情報、誕生日、性別、既婚未婚の別、家族の状況、職業、教育歴、嗜好、興味、及びユーザプロファイルに含めるべきその他のデモグラフィック情報を提供する。ユーザは、友達とみなす、ソーシャルネットワーキングシステムの他のユーザを特定できる。ユーザプロファイルには、ユーザの友達又は第1級連絡先firstdegreecontactsのリストが含まれる。ソーシャルネットワーキングシステムにおけるコネクションは双方向でも一方向だけでもよい。例えば、ボブとジョーが二人ともユーザであり、互いにコネクトconnectしている場合、ボブとジョーはそれぞれが互いのコネクションである。他方、ボブがサムにコネクトしてサムのポストしたコンテンツアイテムを見たいが、サムはボブにコネクトしない場合、サムはボブのコネクションであるが、ボブはサムのコネクションではない片道コネクションが形成される。ソーシャルネットワーキングシステムの実施形態により、コネクションは、一又は複数のコネクションレベル例えば、友達の友達を介して間接的になる。コネクションは、例えば、ユーザが具体的に他のユーザを選択して友達とすることにより、ユーザにより明示的に追加でき、又はソーシャルネットワーキングシステムにより、ユーザの共通の特徴例えば、同じ教育機関の卒業生であるユーザに基づき自動的に生成される。ユーザは、頻繁に訪れるウェブサイトやウェブページを特定又はブックマークでき、これらのウェブサイトやウェブページはユーザのプロファイルに含まれる。ユーザは、アカウントを登録する時に、又はその後に、自分の様々な側面に関する情報連絡先情報や興味などを提供できる。ユーザはいつでも自分のプロファイル情報を更新できる。例えば、ユーザは、引っ越しした時、又は電話番号を変えた時に、自分の連絡先情報を更新できる。また、時間の経過とともにユーザの興味は変化するかも知れず、ユーザは時々自分のプロファイル中の興味を更新できる。システム上の特定の情報にアクセスする頻度など、ソーシャルネットワーキングシステムにおけるユーザの活動も、ユーザのプロファイルに含まれる情報を提供することがある。また、かかる情報はユーザの最近の活動を反映するように時々更新されてもよい。さらにまた、他のユーザ又はユーザのいわゆる友達又はコンタクトも、ユーザのプロファイルに影響する又はユーザのプロファイルを更新させる活動を行える。例えば、コンタクトにより、ユーザが友達として追加されても又はユーザを友達から削除してもよい。コンタクトもユーザのプロファイルページにメッセージを書き込める。これは一般的にウォールポストとして知られている。ソーシャルネットワークシステムは、ソーシャルグラフ情報を保持できる。ソーシャルグラフは、一般的に個人又はエンティティのグループ間の関係により画定でき、気軽な知り合い関係から密接な家族的絆までの関係を含み得る。ソーシャルネットワークはグラフ構造を用いて表される。グラフの各ノードは、ソーシャルネットワークのユーザ又はエンティティに対応する。2つのノードを繋ぐエッジは、二人のユーザ間の関係を表す。また、2つのノード間の隔たり度合degreeofseparationは、あるノードから他のノードに行くのに必要なホップの最小数として定義される。二人のユーザ間の隔たり度合は、そのグラフのノードにより表される二人のユーザ間の関係の尺度と考えられる。2010年4月19日に出願された米国特許出願第13/763,171号は、ここに参照援用するが、本開示の様々な実施形態で用いることができるソーシャルグラフ構造の例を説明している。ソーシャルネットワーキングシステムは、場所に関する情報のデータベースを保持していてもよい。場所は、レストラン、バー、鉄道駅、空港などの様々な物理的ロケーションに対応する。ある場所は、空港内のレストランやゲートなど、それ自体が場所を含むより大きな領域に対応する。一実施形態では、米国特許出願第12/763,171号明細書に記載されているように、各場所は、ソーシャルネットワーキングシステムにより保持されたソーシャルグラフ又はその他のデータ構造におけるハブノードとして保持できる。ユーザは、ソーシャルネットワーキングシステムにより、ラップトップ、デスクトップ、又はモバイルデバイスなどの有線局又は無線局によりホストされたブラウザなどのクライアントアプリケーションを用いて、各場所に関する情報にアクセスできる。例えば、ソーシャルネットワーキングシステムは、場所に関する情報を要求するユーザに、ウェブページ又はその他の構造化文書を提供できる。ソーシャルネットワーキングシステムは、ユーザプロファイルと場所情報に加え、ユーザに関するその他の情報をトラック又は維持してもよい。例えば、ソーシャルネットワーキングシステムは、ユーザのロケーションを記録する一又は複数のロケーションベースサービスを含むジオソーシャルネットワーキングシステム機能をサポートしてもよい。例えば、ユーザは、そのモバイルデバイスによりホストされている特殊用途クライアントアプリケーション又は、ブラウザクライアントを用いてウェブベース又はネットワークベースのアプリケーションを用いて、ジオソーシャルネットワーキングシステムにアクセスできる。クライアントアプリケーションは、モバイルデバイスによりサポートされているグローバルポジショニングシステムGPS又はその他のジオロケーション機能に自動的にアクセスして、ユーザの現在のロケーションをジオソーシャルネットワーキングシステムにレポートする。また、クライアントアプリケーションは、ユーザが様々なロケーションにチェックインして、他のユーザにこのロケーションを連絡できるジオソーシャルネットワーキングシステムをサポートできる。以下により詳しく説明するように、ある場所へのチェックインは、ユーザが物理的にある場所にいて、モバイルデバイスを用いて、ジオソーシャルネットワーキングシステムにアクセスして、ユーザがその場所にいることを登録した時に起きる。以下に説明するように、ユーザは、現在の自分のロケーションに近い既存の場所のリストから場所を選択してもよいし、新しい場所を生成してもよい。ユーザは、ある場所にチェックインする時に、テキストストリングのコメントを提供することもできる。また、ユーザは、チェックインに関して一又は複数の他のユーザユーザの友達などを特定し、その人たちをそのチェックインと関連付けることもできる。米国特許出願第12/574,614号は、ここであらゆる目的のために参照援用するが、第1のユーザに、ある場所の他のユーザにチェックインできるシステムを説明している。コメントと、ユーザがチェックインした時間に対応するタイムスタンプとを含む入力が、他のユーザに表示される。例えば、ユーザのチェックインアクティビティの記録がデータベースに格納される。ソーシャルネットワーキングシステムは、ある場所におけるユーザのチェックインアクティビティに関連する一又は複数の記録を選択して、かかるチェックインアクティビティを、ある場所に対応するウェブページ又はその他の構造化文書に含めることができる。例えば、ソーシャルネットワーキングシステムは、ある場所に対応するページを要求したユーザの友達又はその他のソーシャルコンタクトに関連するチェックインアクティビティを選択できる。ユーザは、自分が関連しているイベントを追加、削除、又は更新できる。例えば、ユーザは、自分が出席する予定をしている日時に関連したソーシャルイベントを更新し、自分のウォールポストに自分が出席した過去のイベントに関するコメントをできる。ユーザは、自分の情報を他のユーザやサードパーティアプリケーションと共有したいかも知れないししたくないかもしれない。また、ユーザは、自分の情報を特定のユーザやサードパーティアプリケーションとだけ共有したいかも知れない。ユーザは、場所にチェックインする時、自分のユーザプロファイルに関連するプライバシー設定により、自分の情報を他のユーザやサードパーティアプリケーションと共有するかコントロールできる。例えば、ユーザは、自分に関連する各ユーザデータのプライバシー設定を選択できる。プライバシー設定は、ユーザデータにアクセスできるエンティティ例えば、他のユーザ、ユーザのコネクション、友達の友達、又はサードパーティアプリケーションのセットを画定又は特定する。プライバシー設定は様々な粒度レベルで指定できる。例えば、ソーシャルネットワーク中の具体的なエンティティ例えば、他のユーザ、ユーザがコネクションを有する所定グループ、特定のコネクションのタイプ、ユーザの全コネクション、ユーザのコネクション中のすべての第1級コネクション、ソーシャルネットワーク全体、又はインターネット全体を指定できる。ユーザは、ポストされるすべてのユーザデータに対して、デフォルトのプライバシー設定を選択できる。また、ユーザは、具体的にあるエンティティを排除して、ユーザデータや特定タイプのユーザデータをみられないようにできる。図1は、ロケーションベースのサービスと機能を有するソーシャルネットワーキングシステムの一例を示す図である。ある実施形態では、ソーシャルネットワーキングシステムは、ユーザプロファイルデータベース101にユーザプロファイルデータを格納できる。ある実施形態では、このソーシャルネットワーキングシステムは、イベントデータベース102にイベントデータを格納できる。ある実施形態では、ソーシャルネットワーキングシステムは、プライバシーポリシーデータベース103にユーザプライバシーポリシーデータを格納できる。ある実施形態では、ソーシャルネットワーキングシステムは、ロケーションデータベース104にジオグラフィックロケーションデータを格納できる。ある実施形態では、データベース101、102,103及び104は、ソーシャルネットワーキングシステムのフロントエンド120に動作可能に接続されている。ある実施形態では、フロントエンド120は、ネットワーククラウド121を通じてクライアントデバイス122とインターラクトできる。クライアントデバイス122は、一般的には、コンピュータネットワークを通じて例えば、遠隔地と通信する機能を有するコンピュータやコンピューティングデバイスである。クライアントデバイス122は、デスクトップコンピュータ、ラップトップコンピュータ、パーソナルデジタルアシスタントPDA、車内用又は車外用ナビゲーションシステム、スマートフォンその他のセルラー電話や移動電話、携帯ゲームデバイス、その他の好適なコンピューティングデバイスである。クライアントデバイス122は、例えば、MicrosoftWindowsInternetExplorer、MozillaFirefox、AppleSafari、GoogleChrome、及びOperaなどのウェブブラウザなどの一又は複数のクライアントアプリケーションを実行して、コンピュータネットワーク上のコンテンツにアクセスして見ることができる。フロントエンド120は、ウェブ又はHTTPサーバ機能その他の機能を有し、ユーザはフロントエンド120により、ソーシャルネットワーキングシステムにアクセスできる。ネットワーククラウド121は、概して、クライアントデバイス122がソーシャルネットワークシステムにアクセスできるネットワーク又は複数のネットワークの集まり例えば、インターネット、企業イントラネット、又は両者の組合せを表す。ある実施形態では、ロケーションデータベース104は、モバイルデバイスなどのオブジェクトのリアルワールドでのジオグラフィックロケーションを特定するジオロケーションデータを格納している。例えば、インターネットに接続されたコンピュータのジオグラフィックロケーションを、そのコンピュータのIPアドレスで特定できる。例えば、WiFiとGPSの機能を備えたセルラー電話のジオグラフィックロケーションは、セルタワー三角法、WiFiポジショニング、及び/又はGPSポジショニングにより特定できる。ある実施形態では、ロケーションデータベース104は、複数の場所のジオグラフィックロケーションと付加的情報を格納している。例えば、ある場所は、地元企業、関心地点例えば、カリフォルニア州サンフランシスコのユニオンスクエア、大学、都市、自然公園などである。あるユーザやユーザグループについては、ある場所はより具体的なものでもよく、例えば、オフィスビル内のある人のデスク、ある家のベッドルーム、街角における渋滞などであってもよい。場所例えば、ローカルのコーヒーショップのジオグラフィックロケーションは、住所、一組の地理的座標緯度と経度、他の場所への参照例えば、駅の隣のコーヒーショップや他の場所からある半径又は相対距離内であってもよい。例えば、面積が広い場所例えば、ヨセミテ自然公園のジオグラフィックロケーションは、その場所の輪郭を近似した形状例えば、円や多角形であってもよいし、その形状の重心であってもよい。他の実施形態では、場所は他の場所の内側にあり、階層関係を形成していてもよい。例えば、空港は複数のターミナルを有する場所である。これらのターミナルは、より大きく包含される場所、すなわち空港に関連する、又は関連しない場所であってもよい。ロケーションデータベース104も、説明、サムネールマップパラメータ、営業時間、連絡先情報、ウェブアドレス、ウェブリンク、写真、アイコン、バッジ、ポイント、又はその場所のユーザレビューやレーティングなど、その場所の付加的情報を保持できる。ロケーションデータベース104により保持された場所オブジェクトも、その場所に関連する一又は複数のタグ例えば、コーヒーショップ、クロスストリートなどと、場所探しを容易にする一又は複数のカテゴリー識別子とを含み得る。ある実施形態では、ロケーションデータベース104はユーザのロケーションデータを格納できる。ロケーションデータベース104中の場所は、システムにより生成又は画定され、及び/又はユーザにより生成されたものでもよい。例えば、ロケーションデータベース104は、例えば、ユーザのチェックインアクティビティに関する、ユーザにより生成された場所に関する情報を格納できる。例えば、ユーザは、場所例えば、新しいレストランやコーヒーショップを生成でき、場所サービス110は、ユーザが生成した場所をロケーションデータベース104に格納する。上記の通り、ソーシャルネットワーキングシステムは、場所に関する一又は複数のデータ構造を、例えばその場所に対応するデータオブジェクトとユーザのチェックインに対応するデータオブジェクトを、生成できる。ある実施形態では、ソーシャルネットワーキングシステムは、米国特許出願第12/763,171号で開示されたハイブリッドソーシャルグラフ構造を保持している場合、ソーシャルグラフ中のユーザに関連するノードと、その場所に関連するハブノードとの間に、チェックインエッジ関係を生成できる。チェックインデータオブジェクトは、ユーザに関連したユーザ識別子、場所識別子又は場所オブジェクトやハブノードへのポインタ、タイムスタンプ、その他のメタデータユーザのモバイルデバイスのジオグラフィックロケーションの座標やユーザのコメントなどを含み得る。ある実施形態では、場所サービス110は、データベース101,102,103及び104に動作可能に接続されている。チェックインや近い場所の一般的な検索に関して、ユーザは、その場所の名称、又は場所に関連するカテゴリーやコンセプトなど場所及び/又はジオグラフィックロケーションを記述するテキスト例えば、名称の一部又は全部を含むテキストストリングを、場所サービス110に提供することにより、自分の現在のロケーションに近い場所を検索できる。場所サービス110は、ロケーションデータベース104を検索して、ユーザに、テキストストリングが提供されていればそれにマッチするジオグラフィックロケーションに近い場所のリストを提供する。しかし、ユーザの現在のロケーションからの距離に基づく近い場所の場所検索により、そのユーザに関係する、又は関係しない結果が得られる。例えば、ユーザがサンフランシスコの金融街例えば、カリフォルニア州サンフランシスコ市モンゴメリー通り100の近くにいて、近くのコーヒーショップを検索したいとき、場所サーチの結果には、徒歩圏内のコーヒーショップ10店舗のランダムなリストが含まれる。しかし、場所検索が、ユーザプロファイル、ソーシャルネットワーク及び/又はソーシャルグラフ情報、及びソーシャルネットワークの他のユーザのチェックインアクティビティを考慮したものであれば、場所検索の結果はもっとユーザに関連性のあるものとなるだろう。前述の例では、10店舗のコーヒーショップは、ユーザの又はユーザの友達のアクティビティに応じてランキングできる。例えば、その10店舗のコーヒーショップのうち一にユーザがチェックインした回数、その10店舗のコーヒーショップのうち一にユーザの友達がどのくらいの頻度でチェックインしたか、その場所にチェックインしたことがあるユーザの友達の数及び/又はユーザ一般の数、その10店舗のコーヒーショップのどれがユーザの友達により私のお気に入りのコーヒーショップとしてマークされているか、ユーザの友達又はユーザ一般がいいねlikedとしたか、又は場所に対して親しみを示したか例えば、その場所に対応するページにコメントをポストしたかに応じて、ランキングできる。他の実施形態では、場所はユーザの友達のレーティング及び/又はレビューによりランクできる。図2は、ランク付けされた場所のリストを生成する方法例を示す図である。ある実施形態では、場所サービス110は、ユーザから検索要求を受信する。この検索要求は、チェックインワークフローの一部として送信されてもよい。ある実施形態では、検索要求は、ユーザのユーザIDと、そのユーザのジオグラフィックロケーションとを含むステップ201。ある実施形態では、ユーザの検索要求のジオグラフィックロケーションは、又はユーザの現在のロケーションは、ジオグラフィック座標系パラメータにより特定できる。例えば、ユーザは、ソーシャルネットワーキングシステムのウェブページにユーザIDとアドレスとを提供することにより、チェックインできる。例えば、ユーザは、GPSを備えてモバイルデバイス上にホストされたクライアントアプリケーションにチェックインでき、クライアントアプリケーションはそのモバイルデバイスのGPS機能にアクセスして、緯度と経度の数字のペアでジオグラフィックロケーションとユーザIDを、場所サービス110に提供できる。ある実施形態では、場所サーバ110は、ロケーションデータベース104にアクセスして、ユーザの現在のロケーションに近い一又は複数の場所のセットを特定できる。ある実施形態では、そのユーザの現在のロケーションに近い一又は複数の場所のセット中の各場所は、ユーザの現在の場所からある閾値距離内にあるステップ202。例えば、場所サービス110は、ロケーションデータベース104にアクセスして、ユーザの現在のロケーションからある閾値距離内にある場所のリストを作るcompile。一実施形態では、返される場所のリスト中の場所の数はある最大数に限定してもよい。ある実施形態では、検索要求には文字ストリングが含まれる。ある実施形態では、場所サービス110は、ロケーションデータベース104にアクセスして、各場所の場所識別子例えば、名称やメタデータ値が部分的に又は完全にその文字ストリングとマッチし、ユーザの現在のロケーションからある閾値距離内にある一又は複数の場所のセットを特定できる。例えば、ユーザは、近くのコーヒーショップにチェックインしたい場合、ウェブページ又はクライアントアプリケーションにコーヒーとタイプして、検索要求できる。場所サービス110は、StarbucksCoffee、PeetsCoffeeandTea、DunkinDonutsなどの近くのコーヒーショップのリストを返す。図3は、ユーザインタフェースであり、ユーザがカフェの語を入力したところを示す。ユーザインタフェースを提供するクライアントアプリケーションは、ユーザが追加テキストを入力し、テキスト入力フィールド中の既存テキストを変更するにつれ、検索要求中のテキストストリングを定期的に送信し、場合によっては、場所サービス110に更新された場所のリストをクライアントアプリケーションに送信させる。他の実施形態では、クライアントアプリケーションは、ユーザの現在のロケーションがあす閾値距離より大きく変化した場合、検索要求を再送もできる。検索要求は、結果をフィルタ及び/又はランキングするのに使えるタグやカテゴリーなどの他のパラメータも含み得る。ある実施形態では、ユーザの現在のロケーションに近い一又は複数の場所のセット中の各場所について、場所サービス110は、ロケーションデータベース104とユーザプロファイルデータベース101にアクセスして、ユーザアクティビティデータのセットを発生又は前に発生されたユーザアクティビティデータのキャッシュ又はデータ記憶にアクセスできる。ある実施形態では、各場所のユーザアクティビティデータのセットは、ユーザのチェックインアクティビティに対応する一又は複数の値CS1,CS2と、そのユーザの一又は複数の友達のチェックインアクティビティに対応する一又は複数の値CS3,CS4を含む。ある実施形態では、ユーザアクティビティデータのセットは、ソーシャルネットワーキングシステム中のグローバルなユーザセットのチェックインアクティビティに対応する一又は複数の値を含む。ある実施形態では、ユーザアクティビティデータのセットは、各場所のユーザチェックインアクティビティテーブルに整理arrangeされるステップ203。図2Aは、ある場所でのユーザチェックイン活動テーブルの一例を示す図である。一実施形態では、場所サービス110は、チェックイン要求中のユーザ識別子を用いてユーザプロファイルデータベース101にアクセスし、一又は複数の友達を特定し、各場所について、その場所におけるその一又は複数の友達のチェックインアクティビティを決定する。一実施形態では、ロケーションデータベース104は、チェックインについて、場所の名称、チェックインに対応するタイムスタンプ、チェックインに関連するユーザ識別子、チェックイン要求で与えられたユーザのジオグラフィックロケーション、及び適用あればそのチェックインイベントに関してタグ付けしたそのユーザの友達のリストを含むチェックインデータを保持する。場所サービス110は、タイムスタンプを用いて、ある場所におけるチェックインの総数と、その場所における最近のチェックインをカウントしてもよい。ここで、最近とは、閾値期間により画定され、例えば先週やその他の期間である。チェックインアクティビティテーブル中の値は、図2Aに示した左端列の各エントリーに対応するユーザによるチェックインの数に基づいてもよい。ある実施形態では、チェックインに関してタグ付けされたユーザの数も、別のチェックイン又は重み付け値としてカウントされる。ある実施形態では、タグ付けされたユーザのチェックインは、そのタグ付けされたユーザがそのチェックインを認めるか了承した場合にのみ、カウントされる。他の実施形態では、現在の検索により近いチェックイン総数の列又は最近の数の列には、古いチェックインより大きな重みが付けられる。例えば、昨日記録されたチェックインは、新近性重みrecencyweightが1であり、7日前に記録されたチェックインは、新近性重みが0.5である。また、友達のチェックインフィールドは、第1級の友達firstdegreefriendsに限定されても、より大きな分離度additionaldegreesofseparationに広げてもよい。分離度を用いて各チェックインを重み付けすることもできる。したがって、テーブルの各フィールドの値は、チェックインの時間と、そのユーザあらの各関連ユーザの分離度とに基づく、チェックインの重み付け合計を表す。例えば、ある場所は一時的なものであり、あるイベントと関連付けられていてもよい。チェックインに付与される重みは、時間に基づき減衰し、反復されないイベントに対応する場所は、場所のリストにおいてランクが下げられてもよい。また、信頼がより大きいユーザからのチェックインは、ユーザの友達であろうとなかろうと、その他のチェックインより大きい重み付けがされる。ユーザアクションに基づくユーザの信頼性レベルを決定するプロセスの例は、2007年2月2日出願の米国特許出願第11/701,744号に、より一般的に説明されている。この出願は、すべての目的において、その全体をここに参照援用する。ある実施形態では、場所サービス110は、イベントと他のユーザデータとを、各場所のチェックインアクティビティのセットに、追加的に含める。言い換えると、ある場所を特定するユーザにより生成されたイベントは、チェックインと同様にカウントされ得る。例えば、ユーザはイベントを構成し、ロケーション又は場所はカリフォルニア州サンマテオ市のダウンタウン周辺のカフェXであり、図2Aが場所カフェXのチェックインアクティビティテーブルであると仮定する。ユーザがあるイベントに関してロケーションデータベース104中のこの場所を生成した場合、場所サービス110は、そのイベントに対応するその場所のユーザチェックインの回数をインクリメントできる。ユーザの友達が、先月、この場所を、イベントの一部として私のお気に入りのコーヒーショップとしてマークした場合、場所サービス110は、友達による最近のチェックインの回数をインクリメントできる。ある実施形態では、場所サービス110は、各場所のランキングスコアを計算することにより、ユーザの現在のロケーションに近い一又は複数の場所のセット中の場所をランク付けできる。ランキングスコアは、ユーザの現在のロケーションと各場所のジオグラフィックロケーションとの間の距離と、各場所のユーザの一又は複数のソーシャルコンタクトのチェックインアクティビティに対応する一又は複数の値とに基づくステップ204。一実施形態では、ランキングスコアは7つのコンポーネントスコアの合計である。第1のコンポーネントスコアは距離に基づき、残りの6つのコンポーネントスコアCS1乃至CS6はソーシャルアクティビティテーブルの値に、部分的に、基づく。一実施形態では、ランキングスコアは次の式により計算できる:ランキングスコア=距離-コンポーネントスコアCS1乃至CS6の合計。また、6つのコンポーネントスコアは個別に重み付けできる。一実施形態では、コンポーネントスコアは、距離コンポーネントスコアに関連して重み付けされ、コンポーネントスコアに反映されたソーシャルコンテキストが、距離に関連して、どのくらいの価値があるかを反映する。ある実施形態では、アクティビティテーブルのソーシャルコンテキストコンポーネントスコアに反映されるソーシャルコンテキストは、閾値距離より小さく制限される。これは、グローバルな制限でもよいし、各コンポーネントスコアに対する制限であってもよい。例えば、ユーザが近くのコーヒーショップへのチェックインを要求すると、場所サービス110は、ユーザの現在のロケーションから60m離れたコーヒーショップXを、そのユーザの現在のロケーションから30m離れた他のコーヒーショップYより高くランク付けできる。ユーザ、そのユーザの友達、グローバルなユーザセットのどれも、コーヒーショップYより多くの回数コーヒーショップXにチェックインしているからである。例えば、場所サービス110は、そのユーザの友達が10分前にチェックインしたばかりのコーヒーショップを、過去3時間にわたりそのユーザの友達がチェックインしていない他のコーヒーショップより高くランク付けできる。一実施形態では、ランキング機能は、チェックインレートにより定義される一定の人気度を有する場所については、時間的に一定になるよう設計される。具体的に、場所のセットの人気度が変化しない、すなわち各場所があるチェックインレートを有する教育的例didacticexampleを考える。一実施形態では、ランキング機能は、チェックイン数が時間的に増えても、ランキングは変更しない。これは、各コンポーネントカテゴリーにおける最大数の割合としてチェックインを表し、それをランキングの基礎として用いることにより、実現できる。例えば、ある場所におけるユーザのチェックインの総数に適用される重み付けは、そのユーザによるすべての場所にわたるチェックインの総数に基づく。例えば、システムは、あるコンポーネントカテゴリーにおける最大カウントと実際カウントCS1、CS2などを入力として受け取り、0と1の間の値を返す重み付け関数を用いることができる。一実施形態では、重みは、カウントがゼロである時、ゼロに設定され、カウントが最大カウントに等しい時、1に設定される。この値の範囲において、最大カウントmaxに対する現カウントcountの比が減少するにつれ、重み値は対数的に減少する。一パラメータsmallcounttoleranceが減少率を制御する。比が1smallcounttoleranceより下がると、重みはゼロになる。次の表は、ある実施形態において減少がどう変化するかを示す。各行はsmallcounttoleranceの仮設値である。各列はmaxの割合として表したcountに対応する。報告されている数字は、返される重みである。重みが対数的に減少する理由は、maxより小さいチェックインカウントの範囲の重みを意味のあるものに支持するためである。例えば、ある場所のチェックインが他の場所のチェックインより多い場合、チェックインが最大の場所が、ユーザが探している場所ではない場合、他の場所との間の人気度の違いを解消することが望ましい。以下は、上記の入力に基づき重みを返す擬似関数genWeightである。一実施形態では、重み付けは、上記の関数を用いて各コンポーネントカテゴリーCS1、CS2などについて計算される。この重みを用いて、他の関数により返される値にかけると、コンポーネント例えば、CS1のカウントを距離値と同一視できる。すべての重み付けしたコンポーネントの距離値は、決定された距離に加算されて、場所のスコアが計算できる。一実施形態では、上に示したソーシャルファクタに基づく各コンポーネントスコアは、独立に評価される。しかし、他の実施形態では、ファクタは全体的に考えてもよい。例えば、ユーザが、ある回数例えば10回自宅にチェックインすると、これは近くの場所のそのユーザに関連するチェックインの最大数である。これは、ソーシャルネットワークのすべてのユーザによるチェックインが比較して非常に多い近くの場所と関連づけて考えるべきである。ある実施形態では、場所サービス110は、ユーザに、ランキングされた順序でユーザの現在のロケーションに近い一又は複数の場所のセットを提供し、ユーザにそれを選択させてチェックインさせるステップ205。図3は、モバイルデバイス上の、ある場所にチェックインするグラフィカルユーザインタフェース例を示す図である。ユーザは、そのGPS装備セルラー電話において、クライアントアプリケーション中にカフェをタイプインしてチェックインする。ソーシャルネットワーキングシステムは、ユーザ、GPS座標のペア、及び文字ストリング例えばカフェを受信し、ロケーション、ユーザ、及びイベントのデータ記憶にアクセスし、そのユーザがチェックインする近くの場所のランク付けされたリストを返す。図4は、モバイルデバイス上の、ある場所にチェックインした後のグラフィカルユーザインタフェース例を示す図である。ユーザが図3でランク付けされたリストで示唆されたようにカフェXにチェックインした後、クライアントアプリケーションは、カフェXに関するユーザのソーシャルコンタクトの最近のアクティビティを表示する。ロケーションサービス110は、ユーザチェックインを記録し、後で利用することは上記の通りである。上記の実施形態は、様々なネットワーク構成で実施できるが、以下は、教育的目的であって限定的目的ではないネットワーク環境例を示す。図5は、ネットワーク環境の一例500を示す図である。ネットワーク環境500は、一又は複数のサーバ520と一又は複数のクライアント530とを互いに結合しているネットワーク510を含む。ネットワーク環境500は、また、一又は複数のサーバ520にリンクされた一又は複数のデータ記憶540を含む。ある実施形態はネットワーク環境500で実施できる。例えば、場所サービス110とソーシャルネットワーキングシステム120とは、一又は複数のサーバ520によりホストされたソフトウェアプログラムで記述され得る。例えば、イベントデータベース102は、一又は複数の記憶540に格納される。一部の実施形態では、ネットワーク510は、イントラネット、エクストラネット、仮想プライベートネットワークVPN、ローカルエリアネットワークLAN、ワイヤレスLANWLAN、ワイドエリアネットワークWAN、メトロポリタンエリアネットワークMAN、インターネットの一部、その他のネットワーク510、またはこれらの2つ以上の組合せである。本発明では、ネットワーク510は任意の適切なものでよい。一又は複数のリンク550は、サーバ520やクライアント530をネットワーク510に結合する。ある実施形態では、一又は複数のリンク550はそれぞれ一又は複数の有線リンク、無線リンクまたは光リンク550を含む。ある実施形態では、一又は複数のリンク550は、それぞれ、イントラネット、エクストラネット、VPN、LAN、WLAN、WAN、MAN、インターネットの一部、その他のリンク550、またはこれらの2つ又はそれ以上のリンク550の組合せである。本開示は、サーバ520とクライアント530をネットワーク510に結合する任意の好適なリンク550を想定している。ある実施形態では、各サーバ520は、中央集中サーバでもよいし、複数のコンピュータや複数のデータセンターに分散した分散サーバであってもよい。サーバ520は、例えば、ウェブサーバ、ニュースサーバ、メールサーバ、メッセージサーバ、広告サーバ、ファイルサーバ、アプリケーションサーバ、エクスチェンジサーバ、データベースサーバ、又はプロキシサーバなど、様々なタイプのものであるが、これらに限定されない。ある実施形態では、各サーバ520は、サーバ520により実施又はサポートされる適切な機能を実現する、ハードウェア、ソフトウェア、組み込み論理コンポーネント、又はかかる2又はそれ以上のコンポーネントの組合せを含む。例えば、ウェブサーバは、一般的に、ウェブページ又はその要素を含むウェブサイトをホストできる。より具体的には、ウェブサーバは、HTMLファイルやその他のファイルタイプをホストでき、又は要求に応じてファイルを動的に生成又は構成でき、それをクライアント530からのHTTPその他の要求に応じてクライアント530に送信できる。メールサーバは、一般的に、様々なクライアント530に電子メールサービスを提供できる。データベースサーバは、一般的に、一又は複数のデータ記憶装置に格納されたデータを管理するインタフェースを提供できる。ある実施形態では、一又は複数のデータ記憶装置540は、一又は複数のリンク550を介して一又は複数のサーバ520に通賃可能にリンクされている。ある実施形態では、データ記憶540を用いて様々なタイプの情報を格納できる。ある実施形態では、データ記憶540に格納された情報は、あるデータ構造により組織化されていてもよい。ある実施形態では、各データ記憶540はリレーショナルデータベースである。ある実施形態では、サーバ520又はクライアント530が、データ記憶540に格納された情報を管理、例えば読み出し、修正、追加、削除できるようにするインタフェースが提供される。ある実施形態では、各クライアント530は、クライアント530により実施又はサポートされる適切な機能を実現できる、ハードウェア、ソフトウェア、組み込み論理コンポーネント、又はかかる2又はそれ以上のコンポーネントの組合せを含む。例えば、クライアント530は、デスクトップコンピュータシステム、ノートブックコンピュータシステム、ネットブックコンピュータシステム、ハンドヘルド電子装置、又は携帯電話であるが、これらに限定されない。本発明では、クライアント530は任意の適切なものでよい。クライアント530により、クライアント530のネットワークユーザは、ネットワーク510にアクセス可能である。クライアント530により、そのユーザは、他のクライアント530の他のユーザと通信可能である。クライアント530は、MICROSOFTINTERNETEXPLORER、GOOGLECHROME又はMOZILLAFIREFOXなどのウェブブラウザ532を有し、TOOLBAR又はYAHOOTOOLBARなどの一又は複数のアドオン、プラグイン、又はその他のエクステンションを有する。クライアント530のユーザは、ウェブブラウザ532をサーバ520に向かわせるURLUniformResourceLocatorその他のアドレスを入力し、ウェブブラウザ532は、HTTPHyperTextTransferProtocolリクエストを発生し、そのHTTPリクエストをサーバ520に送信する。サーバ520は、そのHTTPリクエストを受信し、そのHTTPリクエストに応じた一又は複数のHTMLHyperTextMarkupLanguageファイルをクライアント530に送信する。クライアント530は、サーバ520からのHTMLファイルに基づきウェブページをレンダリングして、ユーザに提示する。本開示では、ウェブページファイルは適切なものであればいかなるものでもよい。限定ではなく一例として、ウェブページは、必要に応じて、HTMLファイル、XHTMLExtensibleHyperTextMarkupLanguageファイル、又はXMLExtensibleMarkupLanguageからレンダリングできる。かかるページは、例えば、JAVASCRIPT、JAVA、MICROSOFTSILVERLIGHT、マークアップ言語の組合せ、及びAJAXAsynchronousJAVASCRIPTandXMLなどで記述されたスクリプトも実行できる。ここで、ウェブページへの参照は、ブラウザがそのウェブページをレンダリングするのに用いる一又は複数の対応するウェブページファイルを含み、必要に応じてその逆も含む。図6は、本発明の実施形態で用いることができるコンピューティングシステムの一例600を示す。この開示は、適切な数のコンピュータシステム600を想定している。この開示が想定するコンピュータシステム600の物理的形式は好適なものであればどんなものでもよい。限定ではなく一例として、コンピュータシステム600は、組み込みコンピュータシステム、システムオンチップSOC、シングルボードコンピュータシステムSBC例えば、コンピュータオンモジュールCOMやシステムオンモジュールSOMなど、デスクトップコンピュータシステム、ラップトップ又はノートブックコンピュータシステム、インターラクティブキオスク、メインフレーム、コンピュータシステムのメッシュ、携帯電話、パーソナルデジタルアシスタントPDA、サーバ、又はこれらの2つ又はそれ以上の組合せである。適切であれば、コンピュータシステム600は、一又は複数のコンピュータシステム600を含んでも良く;中央集中型でも分散型でもよく;複数のロケーションに広がっていてもよく;複数のマシンにわたっていてもよく;一又は複数のネットワークに一又は複数のクラウドコンポーネントを含むクラウド中にあってもよい。適切であれば、一又は複数のコンピュータシステム600は、ここに説明又は例示した一又は複数の方法の一又は複数のステップを、空間的又は時間的に大きな制約無く、実行できる。限定ではなく一例として、一又は複数のコンピュータシステム600は、リアルタイム又はバッチモードで、ここに説明又は例示した一又は複数の方法の一又は複数のステップを実行できる。適切であれば、一又は複数のコンピュータシステム600は、ここに説明又は例示した一又は複数の方法の一又は複数のステップを、異なる時間に又は異なるロケーションで実行できる。ある実施形態では、コンピュータシステム600は、プロセッサ602、メモリ604、記憶装置606、入出力I/Oインタフェース608、通信インタフェース610、及びバス612を含む。本開示では、具体的な構成で具体的な数の具体的なコンポーネントを有する具体的なコンピュータシステムを説明及び例示したが、好適な任意の構成で好適な任意の数の好適な任意のコンポーネントを有する好適な任意のコンピュータシステムを想定している。ある実施形態では、プロセッサ602は、コンピュータプログラムを構成しているような命令を実行するハードウェアを含む。限定ではなく一例として、命令を実行するため、プロセッサ602は、内部レジスタ、内部キャッシュ、メモリ602、又は記憶装置606から命令を読み出し又はフェッチし;それをデコードして実行し;内部レジスタ、内部キャッシュ、メモリ602、又は記憶装置606に一又は複数の結果を書き込む。ある実施形態では、プロセッサ602は、データ、命令、又はアドレスのために一又は複数の内部キャッシュを含む。本開示では、適切であれば、プロセッサ602は好適な任意の数の好適な任意のキャッシュを含むことを想定している。限定ではなく一例として、プロセッサ602は、一又は複数の命令キャッシュ、一又は複数のデータキャッシュ、及び一又は複数の変換ルックアサイドバッファTLBを含む。命令キャッシュ中の命令は、メモリ602又は記憶装置606中の命令のコピーであり、命令キャッシュはプロセッサ602によるこれらの命令の読み出しを高速化できる。データキャッシュ中のデータは、プロセッサ602において実行されるメモリ602又は記憶装置606中のデータのコピー;プロセッサ602において実行される後の命令によりアクセスされ、又はメモリ602又は記憶装置606に書き込まれる、プロセッサ602において実行された前の命令の結果;又はその他の好適なデータである。データキャッシュによりプロセッサ602による読み書き動作が高速化できる。TLBにより、プロセッサ602の仮想アドレス変換が高速化できる。ある実施形態では、プロセッサ602は、データ、命令、又はアドレスのために一又は複数の内部レジスタを含む。本開示では、適切であれば、プロセッサ602は好適な任意の数の好適な任意のレジスタを含むことを想定している。適切であれば、プロセッサ602は、一又は複数の算術演算論理ユニットを含んでも良く;マルチコアプロセッサでもよく;一又は複数のプロセッサ602を含んでもよい。本開示では、具体的なプロセッサを説明及び例示したが、任意の好適なプロセッサでもよい。ある実施形態では、メモリ602は、プロセッサ602が実行する命令、又はプロセッサ602が処理するデータを格納するメインメモリを含む。限定ではなく一例として、コンピュータシステム600は、記憶装置606又はその他のソース例えば、他のコンピュータシステム600からメモリ602に命令をロードできる。プロセッサ602は、メモリ602から内部レジスタ又は内部キャッシュに命令をロードできる。プロセッサ602は、命令を実行するため、内部レジスタ又は内部キャッシュから命令を読み出し、それをデコードする。命令の実行中又はその後、プロセッサ602は、内部レジスタ又は内部キャッシュに、一又は複数の結果これは中間結果でも最終結果でもよいを書き込む。プロセッサ602は、一又は複数の結果をメモリ602に書き込む。ある実施形態では、プロセッサ602は、一又は複数の内部レジスタ又は内部キャッシュ中の又はメモリ602この点、記憶装置606等とは異なる中の命令のみを実行し、一又は複数の内部レジスタ又は内部キャッシュ中の、又はメモリ602この点、記憶装置606等とは異なる中のデータのみを処理する。一又は複数のメモリバス各々がアドレスバスとデータバスを含んでいてもよいは、プロセッサ602をメモリ604に結合する。バス612は、以下に説明するように、一又は複数のバスを含む。ある実施形態では、一又は複数のメモリ管理ユニットMMUがプロセッサ602とメモリ604との間にあり、プロセッサ602により要求されたメモリ604へのアクセスを容易にする。ある実施形態では、メモリ602は、ランダムアクセスメモリRAMを含む。このRAMは、揮発性メモリであってもよく、適切であれば、このRAMはダイナミックRAMDRAM又はスタティックRAMSRAMである。さらに、適切であれば、このRAMはシングルポートRAM又はマルチポートRAMである。本開示では、RAMは任意の適切なものでよい。メモリ602は、適切であれば、一又は複数のメモリ602を含む。本開示では、具体的なメモリを説明及び例示したが、任意の好適なメモリでもよい。ある実施形態では、記憶装置606はデータ又は命令用の大規模記憶装置を含む。限定ではなく一例として、記憶装置606は、HDD、フロッピー登録商標ディスクドライブ、フラッシュメモリ、光ディスク、光磁気ディスク、磁気テープ、USBUniversalSerialBusドライブ、又はこれらの2つ又はそれ以上の組合せである。記憶装置606は、適切であれば、リムーバブルメディア又は非リムーバブルすなわち固定メディアを含む。記憶装置606は、適切であれば、コンピュータシステム600の内部にあっても外部にあってもよい。ある実施形態では、記憶装置606は、不揮発性の固体メモリである。ある実施形態では、メモリ606は、リードオンリーメモリROMを含む。適切であれば、このROMは、マスクプログラムROM、プログラマブルROMPROM、イレーザブルPROMEPROM、電気的イレーザブルPROMEEPROM、電気的オルタラブルROMEAROM、フラッシュメモリ、又はこれらの2つ又はそれ以上の組合せである。この開示が想定する大規模記憶装置606の物理的形式は好適なものであればどんなものでもよい。記憶装置606は、適切であれば、プロセッサ602と記憶装置606との間の通信を促進する一又は複数の記憶制御ユニットを含んでも良い。適切であれば、記憶装置606は、一又は複数の記憶装置606を含む。本開示では、具体的な記憶装置を説明及び例示したが、任意の好適な記憶装置でもよい。ある実施形態では、I/Oインタフェース608は、コンピュータシステム600と一又は複数のI/Oデバイスとの間の通信用の一又は複数のインタフェースを提供する、ハードウェア、ソフトウェア、又は両者を含む。コンピュータシステム600は、適切であれば、これらの一又は複数のI/Oデバイスを含んでも良い。これらの一又は複数のI/Oデバイスにより、人とコンピュータシステム600との間の通信が可能となる。限定ではなく一例として、I/Oデバイスは、キーボード、キーパッド、マイクロホン、モニタ、マウス、プリンタ、スキャナ、スピーカ、スチルカメラ、スタイラス、タブレット、タッチスクリーン、トラックボール、ビデオカメラ、その他の好適なI/Oデバイス、又はこれらの2つ又はそれ以上の組合せを含む。I/Oデバイスは、一又は複数のセンサを含み得る。本開示は、任意の好適なI/Oデバイスと、その任意の好適なI/Oインタフェース608とを想定している。適切であれば、I/Oインタフェース608は、一又は複数のデバイス、又はプロセッサ602にこれらの一又は複数のI/Oデバイスをドライブ可能とするソフトウェアドライバを含み得る。I/Oインタフェース608は、適切であれば、一又は複数のI/Oインタフェース608を含んでも良い。本開示では、具体的なI/Oインタフェースを説明及び例示したが、任意の好適なI/Oインタフェースでもよい。ある実施形態では、通信インタフェース610は、コンピュータシステム600と、一又は複数のその他のコンピュータシステム600又は一又は複数のネットワークとの間の通信例えば、パケットベース通信の一又は複数のインタフェースを提供するハードウェア、ソフトウェア、又は両者を含む。限定でなく一例として、通信インタフェース610は、イーサネット登録商標その他の有線ネットワークで通信するためのネットワークインタフェースコントローラNIC又はネットワークアダプタ、又はWiFiネットワークなどの無線ネットワークで通信するための無線NICWNIC又は無線アダプタを含む。本開示は、任意の好適なネットワークと任意の好適な通信インタフェース610を想定している。限定ではなく一例として、コンピュータシステム600は、アドホックネットワーク、パーソナルエリアネットワークPAN、ローカルエリアネットワークLAN、ワイドエリアネットワークWAN、メトロポリタンエリアネットワークMAN、又はインターネットの一又は複数の部分、又はこれらの2つ以上の組合せで通信できる。一又は複数のネットワークの一又は複数の部分は有線でも無線でもよい。一例として、コンピュータシステム600は、無線PANWPAN例えば、BLUETOOTHWPAN、WiFiネットワーク、WiMAXネットワーク、セルラー電話ネットワーク例えば、GSMGlobalSystemforMobileCommunicationsネットワーク、その他の好適な無線ネットワーク、又はこれらの2つ以上の組合せで通信できる。コンピュータシステム600は、適切であれば、これらのネットワークのいずれかのための任意の好適な通信インタフェース610を含む。通信インタフェース610は、適切であれば、一又は複数の通信インタフェース610を含む。本開示では、具体的な通信インタフェースを説明及び例示したが、任意の好適な通信インタフェースでもよい。ある実施形態では、バス612は、コンピュータシステム600のコンポーネントを相互に結合するハードウェア、ソフトウェア、又は両者を含む。限定ではなく一例として、バス612は、AcceleratedGraphicsPortその他のグラフィックスバス、EnhancedIndustryStandardArchitectureバス、frontsidebus、HYPERTRANSPORTインターコネクト、IndustryStandardArchitectureバス、INFINIBANDインターコネクト、lowpincountバス、メモリバス、MicroChannelArchitectureバス、PeripheralComponentInterconnectバス、PCIExpressバス、serialadvancedtechnologyattachmentバス、VideoElectronicsStandardsAssociationlocalバス、その他の好適なバス、又はこれらの2つ以上の組合せを含む。バス612は、適切であれば、一又は複数のバス612を含む。本開示では、具体的なバスを説明及び例示したが、任意の好適なバス又はインターコネクトでもよい。ここで、コンピュータ読み取り可能記憶媒体とは、一又は複数の非一時的、有体コンピュータ読み取り可能記憶媒体処理構成を含む。限定でなく一例として、適切であれば、コンピュータ読み取り可能媒体は、半導体ベースその他の集積回路IC例えば、fieldprogrammablegatearray又はapplicationspecificIC、ハードディスクHDD、ハイブリッドハードディスクHHD、光ディスクODD、光磁気ディスク、光磁気ドライブ、フロッピー登録商標ディスク、フロッピーディスクドライブFDD、磁気テープ、ホログラフィック記憶媒体、固体ドライブSSD、RAMドライブ、SECUREDIGITALカード、SECUREDIGITALドライブ、その他の好適なコンピュータ読み取り可能記憶媒体、又はこれらの2つ以上の組合せを含む。ここで、コンピュータ読み取り可能記憶媒体とは、米国特許法101条での保護を受けられない媒体は排除している。ここで、コンピュータ読み取り可能記憶媒体とは、米国特許法第101条での保護を受けられない一時的な信号送信の形式電気的又は電磁気的信号自体の伝搬などは排除している。本開示では、任意の好適な記憶媒体を実施する一又は複数のコンピュータ読み取り可能記憶媒体を想定している。ある実施形態では、適切であれば、コンピュータ読み取り可能記憶媒体は、プロセッサ602の一又は複数の部分例えば、一又は複数の内部レジスタ又はキャッシュ、メモリ602の一又は複数の部分、記憶装置606の一又は複数の部分、又はこれらの組合せを実施するものであってもよい。ある実施形態では、コンピュータ読み取り可能記憶媒体はRAM又はROMであってもよい。ある実施形態では、コンピュータ読み取り可能記憶媒体は揮発性又は永続的メモリであってもよい。ある実施形態では、一又は複数のコンピュータ読み取り可能記憶媒体はソフトウェアを化体したものである。ここで、ソフトウェアとは、適切であれば、一又は複数のアプリケーション、バイトコード、一又は複数のコンピュータプログラム、一又は複数の実行可能ファイルexecutables、一又は複数の命令、ロジック、マシンコード、一又は複数のスクリプト、又はソースコードなどである。ある実施形態では、ソフトウェアは一又は複数のアプリケーションプログラミングインタフェースAPIを含む。本開示では、任意の好適なプログラミング言語又はプログラミング言語の組合せで記載又は表現された任意の好適なソフトウェアを想定している。ある実施形態では、ソフトウェアはソースコード又はオブジェクトコードとして表現される。ある実施形態では、ソフトウェアは、例えば、C、Perl、又はこれらの好適な拡張版などの高級プログラミング言語で表現される。ある実施形態では、ソフトウェアは、アセンブラ言語又は機械語などの低レベルプログラミング言語で表現される。ある実施形態では、ソフトウェアはJAVAで表現される。ある実施形態では、ソフトウェアは、HTMLHyperTextMarkupLanguage、XMLExtensibleMarkupLanguage、その他の好適なマークアップ言語で表現される。本発明は、ここに説明した実施形態に対する、当業者が想到するだろうすべての変更、置換、変形、代替、修正を含むものである。同様に、適切な場合には、特許請求の範囲は、ここに説明した実施形態に対する、当業者が想到するだろうすべての変更、置換、変形、代替、修正を含むものである。"