(57)【要約】【課題】移動体デバイスのプロセッサを設定する方法を提供する。【解決手段】移動体デバイスの第１のロケーションを記録するステップと、移動体デバイスの軌跡を定期的に決定するステップと、第１のロケーションおよび半径によって少なくとも部分的に定義される地理的領域の外に軌跡が存在するか否かを決定するステップと、地理的領域の外に軌跡が存在する場合、移動体デバイスの１以上の他のプロセッサにメッセージを送信するステップと、を備える方法が提供される。【選択図】図１
2015222974.tif 000002
【特許請求の範囲】
【請求項１】
移動体デバイスの第１のロケーションを記録するステップと、
前記移動体デバイスの地理的測位構成要素の１以上のプロセッサが、前記移動体デバイスの軌跡を定期的に決定するステップであって、前記軌跡は現在および過去のユーザのロケーションに基づいて計算される、ステップと、
前記地理的測位構成要素のプロセッサが、前記第１のロケーションおよび半径によって少なくとも部分的に定義される地理的領域の外に前記軌跡が存在するか否かを決定するステップであって、前記半径の大きさは、事前に決定された値から、前記移動体デバイスの検知された速度、時刻情報、前記移動体デバイスのバッテリレベル、または、決定されたロケーション測定の誤差に基づいて調整される、ステップと、
前記地理的領域の外に前記軌跡が存在する場合、前記地理的測位構成要素のプロセッサが前記移動体デバイスの１以上の他のプロセッサにメッセージを送信するステップであって、前記メッセージによって、前記他のプロセッサのうちの１以上がスリープ状態からアクティブ状態に遷移される、ステップと、を備える、方法。
【請求項２】
前記メッセージによって前記軌跡が識別される、請求項１に記載の方法。
【請求項３】
前記第１のロケーションは、全地球測位システム（ＧＰＳ）信号、Ｗｉ−Ｆｉ信号、またはセルラ無線信号に少なくとも部分的に基づく、請求項１に記載の方法。
【請求項４】
前記第１のロケーションまたは前記軌跡は、ユーザが提示したロケーションデータに少なくとも部分的に基づく、請求項１に記載の方法。
【請求項５】
前記ユーザが提示したロケーションデータは、ソーシャルネットワーキング機能を使用して提示されたソーシャルネットワーキング情報を含む、請求項４に記載の方法。
【請求項６】
ソフトウェアを具現化している１以上のコンピュータ読み取り可能な非一時的記憶媒体であって、前記ソフトウェアは、１以上のプロセッサに、
移動体デバイスの第１のロケーションを記録するステップと、
前記移動体デバイスの軌跡を定期的に決定するステップであって、前記軌跡は現在および過去のユーザのロケーションに基づいて計算される、ステップと、
前記第１のロケーションおよび半径によって少なくとも部分的に定義される地理的領域の外に前記軌跡が存在するか否かを決定するステップであって、前記半径の大きさは、事前に決定された値から、前記移動体デバイスの検知された速度、時刻情報、前記移動体デバイスのバッテリレベル、または、決定されたロケーション測定の誤差に基づいて調整される、ステップと、
前記地理的領域の外に前記軌跡が存在する場合、前記移動体デバイスの１以上の他のプロセッサにメッセージを送信するステップであって、前記メッセージによって、前記他のプロセッサのうちの１以上がスリープ状態からアクティブ状態に遷移される、ステップと、を実行させるように構成される、媒体。
【請求項７】
前記メッセージによって前記軌跡が識別される、請求項６に記載の媒体。
【請求項８】
前記第１のロケーションまたは前記軌跡は、ユーザが提示したロケーションデータに少なくとも部分的に基づく、請求項６に記載の媒体。
【請求項９】
前記ユーザが提示したロケーションデータは、ソーシャルネットワーキング機能を使用して提示されたソーシャルネットワーキング情報を含む、請求項８に記載の媒体。
【請求項１０】
１以上のプロセッサと、
前記プロセッサに結合され、前記プロセッサによって実行可能な命令を備えるメモリと、を備え、前記プロセッサは、前記命令が実行されるとき、
移動体デバイスの第１のロケーションを記録するステップと、
前記移動体デバイスの軌跡を定期的に決定するステップであって、前記軌跡は現在および過去のユーザのロケーションに基づいて計算される、ステップと、
前記第１のロケーションおよび半径によって少なくとも部分的に定義される地理的領域の外に前記軌跡が存在するか否かを決定するステップであって、前記半径の大きさは、事前に決定された値から、前記移動体デバイスの検知された速度、時刻情報、前記移動体デバイスのバッテリレベル、または、決定されたロケーション測定の誤差に基づいて調整される、ステップと、
前記地理的領域の外に前記軌跡が存在する場合、前記移動体デバイスの１以上の他のプロセッサにメッセージを送信するステップであって、前記メッセージによって、前記他のプロセッサのうちの１以上がスリープ状態からアクティブ状態に遷移される、ステップと、が行われるように構成される、移動体デバイス。
【請求項１１】
前記メッセージによって前記軌跡が識別される、請求項１０に記載の移動体デバイス。
【請求項１２】
前記第１のロケーションまたは前記軌跡は、ユーザが提示したロケーションデータに少なくとも部分的に基づく、請求項１０に記載の移動体デバイス。
【請求項１３】
前記ユーザが提示したロケーションデータは、ソーシャルネットワーキング機能を使用して提示されたソーシャルネットワーキング情報を含む、請求項１２に記載の移動体デバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、一般に地理的測位可能デバイスに関し、より詳細には、地理的位置に基づいて地理的測位可能デバイスのプロセッサのデューティサイクルを動的に決定する方法に関する。
【背景技術】
【０００２】
ソーシャルネットワーキングウェブサイトなどのソーシャルネットワーキングシステムを利用することによって、このシステムのユーザは、このシステムと、およびこのシステムを通じて互いと対話することができる。ソーシャルネットワーキングシステムは、ユーザに関するレコードを作成および記憶することができ、このレコードはユーザプロフィールと呼ばれることが多い。ユーザプロフィールは、ユーザの人口統計学的情報と、通信チャネル情報と、個人の興味とを含むことができる。ソーシャルネットワーキングシステムはまた、ユーザとソーシャルネットワーキングシステムの他のユーザとの関係のレコード（たとえば、ソーシャルグラフ）を作成および記憶し、ならびにソーシャルネットワーキングシステムのユーザ間のソーシャルネットワーク上の対話を促進するサービス（たとえば、ウォール投稿、写真共有、またはインスタントメッセージング）を提供することができる。ジオソーシャルネットワーキングシステムとは、地理的サービスおよび地理的機能を使用してさらなるソーシャルネットワーク上の対話を可能にするソーシャルネットワーキングシステムである。ユーザが提示したロケーションデータまたはジオロケーション技法（たとえば、携帯電話位置追跡）によって、ジオソーシャルネットワーキングシステムは、ユーザと接続し、ユーザとユーザの興味に合致する地域の人々またはイベントとを結び付けることができる。たとえば、ユーザは、場所の名前を提供する（または、あらかじめ規定された場所のリストから場所を選択する）ことによって、モバイルクライアントアプリケーションを使用して、ある場所にチェックインすることができる。ジオソーシャルネットワーキングシステムは、とりわけ、ユーザがその場所にいたことに関する情報を記録し、場合によっては、この情報をジオソーシャルネットワーキングシステムの他のユーザに提供することができる。
【０００３】
セルラ機能、Ｗｉ−Ｆｉ機能、および／またはＧＰＳ（全地球測位システム）機能を搭載した移動体デバイス（たとえば、セル式電話、タブレットコンピュータ）の地理的ロケーションは、セルタワー三角測量、Ｗｉ−Ｆｉ測位、および／またはＧＰＳ測位により得られる地理的測位信号を用いて識別することができる。そのような移動体デバイスは、デバイスの地理的ロケーションデータを組み込んだ、たとえば、運転方向を提供する、現在のロケーションの地図を表示する、またはレストラン、ガソリンスタンドなど近くの関心地点（ｐｏｉｎｔ  ｏｆ  ｉｎｔｅｒｅｓｔ）の情報を提供するなどの追加機能を有することができる。
【図面の簡単な説明】
【０００４】
【図１】例示的なソーシャルネットワーキングシステムを示す図。
【図２】１または複数のセンサデバイスを有する移動体デバイスの例示的な処理スタックを示す図。
【図３】地理的位置に基づいてプロセッサのデューティサイクルを動的に決定する例示的な方法を示す図。
【図４】図３の例示的な方法のための例示的な半径を示す図。
【図４Ａ】ユーザの移動を示す図。
【図４Ｂ】ユーザの移動を示す図。
【図５】例示的なネットワーク環境を示す図。
【図６】例示的なコンピュータシステムを示す図。
【図７】例示的な移動体デバイスプラットフォームを示す図。
【発明を実施するための形態】
【０００５】
ソーシャルネットワーキングウェブサイトなどのソーシャルネットワーキングシステムを利用することによって、このシステムのユーザは、このシステムと、およびこのシステムを通じて互いに対話することができる。一般的には、ソーシャルネットワーキングシステムの登録ユーザになるために、人間または人間以外のいずれかであるエンティティは、ソーシャルネットワーキングシステムにアカウントを登録する。その後、登録ユーザは、たとえばログインＩＤまたはユーザ名およびパスワードを提供することによって、アカウントを通じてソーシャルネットワーキングシステムにログインすることができる。本明細書で使用する場合、「ユーザ」は、そのようなソーシャルネットワーク環境と、またはこれを経由して、対話または通信する、個人（人間のユーザ）であってもよいし、エンティティ（たとえば、企業、店、またはサードパーティアプリケーション）であってもよいし、（たとえば、個人またはエンティティの）グループであってもよい。
【０００６】
ユーザがソーシャルネットワーキングシステムにアカウントを登録するとき、そのソーシャルネットワーキングシステムは、そのユーザに関するレコードを作成および記憶することができ、このレコードは「ユーザプロフィール」と呼ばれることが多い。ユーザプロフィールは、ユーザによって提供される情報と、ソーシャルネットワーキングシステムを含むさまざまなシステムによってユーザのアクティビティまたはアクションに関して収集される情報とを含むことができる。たとえば、ユーザは、自分の名前、プロフィール画像、連絡先情報、誕生日、性別、配偶者の有無、家族構成、職業、学歴、好み、興味、およびユーザプロフィールに含まれる他の人口統計学的情報を提供することができる。ユーザは、ユーザが友達であるとみなすソーシャルネットワーキングシステムの他のユーザを識別することができる。ユーザの友達すなわち第一次連絡先（ｆｉｒｓｔ  ｄｅｇｒｅｅ  ｃｏｎｔａｃｔ）のリストは、ユーザのプロフィールに含まれてよい。ソーシャルネットワーキングシステム内でのつながりは、双方向であってもよいし、一方向のみであってもよい。たとえば、ボブとジョーが両者ともユーザであり、互いとつながっている場合、ボブとジョーはそれぞれ他方のつながりである。一方、ボブはサムとつながってサムの投稿したコンテンツアイテムを閲覧したいが、サムはボブとつながることを選ばない場合、サムはボブのつながりであるがボブはサムのつながりでない一方向のつながりが定義されてよい。ソーシャルネットワーキングシステムのいくつかの実施形態では、１または複数のレベルのつながり（たとえば、友達の友達）を通じた間接的なつながりが可能である。つながりは、ユーザによって、たとえばユーザが特定の他のユーザを友達であると選択することによって明示的に追加されてもよいし、ユーザの共通特性（たとえば同じ教育機関の卒業生であるユーザ）に基づいてソーシャルネットワーキングシステムによって自動的に作成されてもよい。ユーザは、頻繁に訪問するウェブサイトまたはウェブページを識別またはブックマークすることができ、これらのウェブサイトまたはウェブページはユーザのプロフィールに含まれてもよい。
【０００７】
ユーザは、ユーザがアカウントを登録するとき、または後で、ユーザのさまざまな側面（連絡先情報および興味など）に関する情報を提供することができる。ユーザはまた、自分のプロフィール情報を随時更新することができる。たとえば、ユーザが引っ越したとき、または電話番号を変更したとき、ユーザは、自分の連絡先情報を更新することができる。さらに、時が経つにつれてユーザの興味が変わることがあり、ユーザは、その時々に自分のプロフィールの興味を更新することができる。システム上の特定の情報にアクセスする頻度などの、ソーシャルネットワーキングシステム上でのユーザのアクティビティによって、ユーザのプロフィールに含まれ得る情報を提供することもできる。この場合も、そ
のような情報は、その時々に、ユーザの直近のアクティビティを反映するように更新することができる。さらに、他のユーザまたはユーザのいわゆる友達もしくは連絡先もまた、ユーザのプロフィールに影響を与えるまたはこれの更新を引き起こすアクティビティを実行することができる。たとえば、連絡先が、ユーザを友達として追加する（またはユーザを友達から削除する）ことができる。連絡先はまた、ユーザのプロフィールページにメッセージを作成することができる。これは、一般的に、ウォール投稿として知られている。ユーザはまた、ユーザのプロフィールページに投稿される状況メッセージを入力することができる。
【０００８】
ソーシャルネットワーキングシステムは、一般的に個人を含むグループ間の関係をモデル化することができるソーシャルグラフ情報を維持することができ、単なる知り合いから家族の親密な絆までの関係を含み得る。ソーシャルネットワークは、グラフ構造を使用して表され得る。グラフの各ノードは、ソーシャルネットワークのメンバに相当する。２つのノードを結ぶエッジは、２つのユーザの関係を表す。さらに、任意の２つのノード間の離間度は、一方のノードから他方ノードまでグラフを横断するために必要とされるホップの最小数と定義される。２つのユーザの離間度は、グラフ内でノードによって表される２つのユーザの関連性の尺度と考えることができる。
【０００９】
ソーシャルネットワーキングシステムは、地理的ロケーションすなわち場所に関する情報のデータベースを維持することができる。場所は、レストラン、バー、駅、空港などのさまざまな物理的ロケーションに対応することができる。一実装形態では、各場所は、あらゆる目的で本願明細書に援用する米国特許出願第１２／７６３，１７１号に記載されているように、ソーシャルネットワーキングシステムによって維持されるソーシャルグラフまたは他のデータ構造内のハブノードとして維持することが可能である。ソーシャルネットワーキングシステムでは、ユーザは、ラップトップ、デスクトップ、または移動体デバイスなどの有線局または無線局によってホストされるクライアントアプリケーション（たとえば、ブラウザ）を使用して、各場所に関する情報にアクセスすることを可能にすることができる。たとえば、ソーシャルネットワーキングシステムは、ある場所に関する情報を要求するユーザにウェブページ（または他の構造化文書）をサービス提供することができる。ユーザプロフィールおよび場所情報に加えて、ソーシャルネットワーキングシステムは、そのユーザに関する他の情報を追跡または維持することができる。たとえば、ソーシャルネットワーキングシステムは、ユーザのロケーションを記録する１または複数のロケーションベースサービスを含むジオソーシャルネットワーキングシステム機能に対応することができる。たとえば、ユーザは、ユーザの移動体デバイスによってホストされる専用クライアントアプリケーション（またはブラウザクライアントを使用するウェブベースもしくはネットワークベースのアプリケーション）を使用して、ジオソーシャルネットワーキングシステムにアクセスすることができる。このクライアントアプリケーションは、移動体デバイスによってサポートされる全地球測位システム（ＧＰＳ）機能または他のジオロケーション機能に自動的にアクセスし、ユーザの現在のロケーションをジオソーシャルネットワーキングシステムに報告することができる。さらに、クライアントアプリケーションは、ユーザがさまざまなロケーションにチェックインし、このロケーションを他のユーザに通信することを可能にする、ジオソーシャルネットワーキング機能をサポートすることができる。所与の場所へのチェックインは、ユーザがある場所に物理的に存在し、移動体デバイスを使用して、ジオソーシャルネットワーキングシステムにアクセスして、その場所にユーザが存在していることを登録するときに発生することができる。ユーザは、ユーザの現在のロケーションに近い既存の場所のリストから場所を選択してもよいし、新たな場所を作成してもよい。ソーシャルネットワーキングシステムは、あらゆる目的で本願明細書に援用する２０１１年３月７日に出願された米国特許出願第１３／０４２，３５７号に記載されているように、ユーザの現在のロケーションデータおよび過去のロケーションデータに基づいて、そのユーザをある場所に自動的にチェックインすることができ
る。コメントおよびユーザがチェックインした時刻に対応するタイムスタンプを含むエントリが他のユーザに表示されてもよい。たとえば、ユーザのチェックインアクティビティのレコードがデータベースに記憶されてもよい。ソーシャルネットワーキングシステムは、所与の場所におけるユーザのチェックインアクティビティに関連付けられた１または複数のレコードを選択し、そのようなチェックインアクティビティを所与の場所に対応するウェブページ（または他の構造化文書）に含めてもよい。このチェックインアクティビティはまた、ユーザプロフィールページおよびソーシャルネットワーキングシステムのユーザに提供されるニュースフィードに表示されてもよい。
【００１０】
さらに、ユーザの移動体デバイス上でホストされる専用クライアントアプリケーションは、継続的に移動体デバイスのロケーションデータを収集し、そのロケーションデータをソーシャルネットワーキングシステムに送信するように構成されてよい。このようにして、ソーシャルネットワーキングシステムは、ユーザのロケーションを追跡し、ユーザの現在の軌跡すなわち経路に近いまたはユーザが頻繁に訪れる場所に関連するさまざまなお勧めをユーザに提供することができる。一実装形態では、ユーザは、このお勧めサービスに加わることができ、これによって、クライアントアプリケーションは、ソーシャルネットワーキングシステムにユーザのロケーションデータを定期的に知らせる。
【００１１】
図１は、例示的なソーシャルネットワーキングシステムを示す。特定の実施形態では、ソーシャルネットワーキングシステムは、ユーザプロフィールデータおよびソーシャルグラフ情報をユーザプロフィールデータベース１０１に記憶することができる。特定の実施形態では、ソーシャルネットワーキングシステムは、地理的データおよびロケーションデータをロケーションデータベース１０４に記憶することができる。特定の実施形態では、データベース１０１および１０４は、ソーシャルネットワーキングシステムのフロントエンドに動作可能に接続され得る。特定の実施形態では、フロントエンド１２０は、ネットワーククラウド１２１を一実装形態クライアントデバイス１２２と対話することができる。クライアントデバイス１２２は、一般に、コンピュータネットワークを経由して（たとえば遠隔で）通信するための機能を含む、コンピュータまたはコンピューティングデバイスである。クライアントデバイス１２２は、さまざまな適切なコンピューティングデバイスの中でもとりわけ、デスクトップコンピュータであってもよいし、ラップトップコンピュータであってもよいし、携帯情報端末（ＰＤＡ）であってもよいし、車内または車外の（ｉｎ−  ｏｒ  ｏｕｔ−ｏｆ−ｃａｒ）ナビゲーションシステムであってもよいし、スマートフォンまたは他のセルラ式電話または携帯電話であってもよいし、モバイルゲーム機であってもよい。クライアントデバイス１２２は、ウェブブラウザ（たとえば、Ｍｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ（登録商標）Ｉｎｔｅｒｎｅｔ  Ｅｘｐｌｏｒｅｒ、Ｍｏｚｉｌｌａ  Ｆｉｒｅｆｏｘ、Ａｐｐｌｅ  Ｓａｆａｒｉ、Ｇｏｏｇｌｅ  Ｃｈｒｏｍｅ、およびＯｐｅｒａなど）または専用クライアントアプリケーション（たとえば、Ｆａｃｅｂｏｏｋ（登録商標）ｆｏｒ  ｉＰｈｏｎｅ（登録商標）など）などの１または複数のクライアントアプリケーションを実行し、コンピュータネットワークを経由してコンテンツにアクセスし、これを閲覧することができる。フロントエンド１２０は、ユーザがソーシャルネットワーキングシステムにアクセスすることを可能にするために、ウェブサーバ機能またはＨＴＴＰサーバ機能ならびに他の機能を含むことができる。ネットワーククラウド１２１は、一般に、ネットワークまたはネットワークの集合（インターネットまたは企業イントラネット、または両者の組み合わせなど）を表し、クライアントデバイス１２２は、これを経由してソーシャルネットワーキングシステムにアクセスすることができる。
【００１２】
特定の実施形態では、ロケーションデータベース１０４は、場所の情報ベースを記憶することができ、各場所は、名前と、地理的ロケーションと、メタ情報（その場所を最初に作成したユーザ、レビュー、コメント、チェックインアクティビティデータなど）とを含
む。場所は、システムの管理者によって作成されてもよく、かつ／またはシステムのユーザによって作成されてもよい。たとえば、ユーザは、クライアントアプリケーションにアクセスし、場所の名前を定義し、地理的ロケーションを提供して、新しく作成された場所をロケーションデータベース１０４に登録することによって、新たな場所を登録することができる。上述したように、作成された場所はハブノードに対応することができ、管理者は、その場所に関する情報を増やす目的で、およびユーザに配信される広告または他の提供品を作成する目的で、このノードを要求（ｃｌａｉｍ）することができる。特定の実施形態では、システムフロントエンド１２０は、ユーザの要求により、場所のウェブページを構築およびサービス提供することができる。いくつかの実施形態では、場所のウェブページは、ユーザがその場所を「いいね」と表明するかまたはその場所にチェックインするために選択可能な構成要素を含むことができる。特定の実施形態では、ロケーションデータベース１０４は、チェックインに関連付けられたユーザの現実世界の地理的ロケーションを識別するジオロケーションデータを記憶することができる。たとえば、インターネットに接続したコンピュータの地理的ロケーションは、コンピュータのＩＰアドレスによって識別されることが可能である。たとえば、セルラ機能、Ｗｉ−Ｆｉ機能、および／またはＧＰＳ機能を搭載したセル式電話の地理的ロケーションは、セルタワー三角測量、Ｗｉ−Ｆｉ測位、および／またはＧＰＳ測位によって識別されることが可能である。特定の実施形態では、ロケーションデータベース１０４は、複数の場所の地理的ロケーションおよび追加情報を記憶することができる。たとえば、場所は、地域の店、関心地点（たとえば、カリフォルニア州サンフランシスコのユニオンスクエア）、大学、都市、または国立公園とすることができる。たとえば、場所（たとえば、地域の喫茶店）の地理的ロケーションは、住所でもよいし、一組の地理座標（緯度および経度）でもよいし、別の場所への参照（たとえば「駅の隣の喫茶店」）でもよい。たとえば、場所の追加情報は、営業時間でもよいし、写真でもよいし、広告でもよいし、その場所についてのユーザのレビューでもよい。特定の実施形態では、ロケーションデータベース１０４は、ユーザのロケーションデータを記憶することができる。たとえば、ユーザは、場所（たとえば、新たなレストランまたは喫茶店）を作成することができ、ソーシャルネットワーキングシステムは、作成された場所をロケーションデータベース１０４に記憶することができる。たとえば、ロケーションデータベース１０４は、ユーザのチェックインアクティビティを記憶してよい。たとえば、ロケーションデータベース１０４は、ユーザのＧＰＳ搭載移動体デバイスによって提供されるユーザの地理的ロケーションを記憶してよい。
【００１３】
移動体デバイスシステムは、追加入力を提供しシステムの複数の機能を容易にするために、１または複数のセンサデバイスを備えることができる。１または複数のセンサデバイスを有するシステムによるセンサ入力の処理（たとえば、ＧＰＳセンサ信号の処理、およびそのＧＰＳセンサ信号に対応するロケーションの、デバイスのグラフィカルユーザインタフェース地図への表示）は、ハードウェア、ソフトウェア、および／またはファームウェア（すなわちデバイスドライバ）の組み合わせによって実施され得る。図２は、１または複数のセンサデバイスを有する移動体デバイス（たとえばスマートフォン）の例示的な処理スタックを示す。図２の例では、移動体デバイスのセンササブシステム２０１は、１または複数のセンサデバイス、たとえば、ロケーション測位のためのＧＰＳセンサおよび移動体デバイスの向きを決定するためのモーションセンサなどを含むことができる。移動体デバイスの１または複数のプロセッサ２１０によってホストされるドライバ層２０２内の１または複数のデバイスドライバは、センササブシステム２０１の１または複数のセンサと通信し、これを制御することができる。たとえば、デバイスドライバは、ＧＰＳセンサによって生成されたＧＰＳ信号を受信および処理することができる。たとえば、デバイスドライバは、センササブシステム２０１内の複数のセンサによって生成されたセンサ信号を受信および処理することができる。１または複数のプロセッサ２１０は、さまざまなソフトウェアプログラム、たとえば、アプリケーション２０５の１または複数のアプリケーションプログラム（たとえば、ウェブブラウザ、アドレス帳など）を実行しドライバ層
２０２内の１または複数のデバイスドライバを通じてセンササブシステム２０１を管理するオペレーティングシステム２０３をホストすることができる。ライブラリ２０４は、アプリケーション２０５の１または複数のアプリケーションプログラムによって使用される１または複数のライブラリを含むことができる。たとえば、ウェブブラウザアプリケーションは、ＧＰＳセンサからのＧＰＳ信号を解釈するデバイスドライバによって取得されるＧＰＳロケーションを含む地図を生成する地図ライブラリに（たとえば、関数呼び出しを通じて）アクセスし、その地図をウェブブラウザアプリケーションのグラフィカルユーザインタフェースに表示することができる。
【００１４】
システムの１または複数のプロセッサは、アクティブでない（すなわち、１または複数のプログラムを実行していない）間、スリープ状態に入って、システムによるエネルギー消費を減少させることができる。たとえば、スリープ状態は、プロセッサのすべてのコンピューティング状態がメインメモリに保存され、かつプロセッサの電源が切断されている状態であってよい。たとえば、スリープ状態は、プロセッサが命令を実行していないが、プロセッサのすべてのコンピューティング状態は依然としてプロセッサに維持されている（たとえば、プロセッサのキャッシュに記憶されている）状態であってよい。
【００１５】
通常、１または複数のセンサを備えるシステムがシステムのセンサにアクセスする（またはセンサ信号を処理する）ために、システムの１または複数のプロセッサはアクティブ状態で、デバイスドライバを通じてセンサにアクセスする必要がある。たとえば、上述したようにユーザの移動体デバイス上でホストされる専用クライアントアプリケーションがユーザのロケーションを継続的に収集するために、ロケーションの変化がほとんど生じておらず（たとえば、ユーザはこれから２時間会議に出席する）、１または複数のプロセッサがアクティブ状態である代わりにスリープ状態であり得るときでも、移動体デバイスの１または複数のプロセッサはアクティブ状態である必要があり、継続的なロケーション収集のサンプリング周波数と同じくらいの頻度で（たとえば５分ごとに）ＧＰＳセンサドライバにアクセスする。これは、移動体デバイスの１または複数のプロセッサの不必要なアクティブ状態の期間すなわちデューティサイクルを引き起こし、したがってエネルギー消費の増加および移動体デバイスのバッテリ寿命の短縮を引き起こすことがある。本明細書の特定の実施形態では、移動体デバイスの地理的測位デバイスを用いて地理的位置に継続的にアクセスしながら移動体デバイスのプロセッサのデューティサイクルを動的に決定する方法について説明する。移動体デバイスの位置すなわちロケーションは、センサを通じて地理的測位信号にアクセスし、これを分析することによって決定され得るが、移動体デバイスまたはデバイスユーザの地理的ロケーションを取得するための任意の適切な方法が移動体デバイス用のプロセッサのデューティサイクルを動的に決定するために使用されてよいことが企図されている。特定の実施形態では、地理的位置検知回路を制御し、地理的位置検知回路からの地理的測位信号を地理的ロケーションに変換し、（たとえば、地理的位置検知回路から取得された２つの地理的ロケーション間の距離を計算する、すなわち条件が満たされているか否かを決定する）計算を実行し、条件が満たされている場合（たとえば、計算された距離が所定の閾値よりも大きい場合）移動体デバイスの１または複数のプロセッサに知らせるためのプログラムを実行するようにプログラムされる地理的測位デバイスを利用する。いくつかの実施形態では、地理的測位デバイスは、地理的測位信号を受信する地理的位置検知回路（たとえばＧＰＳセンサ）と、メモリと、地理的位置検知回路を制御し計算を実行するプログラムを実行するようにプログラム可能な、より低電力の１または複数のプロセッサと、移動体デバイスの１または複数のプロセッサと通信するインタフェース回路（たとえば、Ｉ２Ｃバス）とを備えることができる。一実施形態では、地理的測位デバイスは、地理的位置検知回路とメモリとインタフェース回路を通じて移動体システムの１または複数のプロセッサに動作可能に結合されたより低電力の１または複数のプロセッサとを備える移動体デバイスの内部に位置している単一モジュールまたは単一集積回路として実施されてよい。他の実施形態では、地理的測位デバイスは、１または
複数のセンサ信号（たとえばＧＰＳ信号などの地理的測位信号を含む）を受信する１または複数のセンサ回路とメモリとセンサ回路を制御し（上述した２つの地理的ロケーション間の距離を計算するなどの）計算を実行するようにプログラム可能なより低電力の１または複数のプロセッサと移動体デバイスの１または複数のプロセッサと通信するインタフェース回路とを備えるセンサハブ（図２に示されている移動体デバイスのセンササブシステムなど）を備えることができる。一実施形態では、センサハブは、１または複数のセンサ回路とメモリとインタフェース回路を通じて移動体デバイスの１または複数のプロセッサに動作可能に結合されたより低電力の１または複数のプロセッサとを備える移動体デバイスの内部に位置している単一モジュールまたは単一集積回路として実装されてよい。
【００１６】
図３は、地理的位置に基づいてプロセッサのデューティサイクルを動的に決定する例示的な方法を示す。図３の例示的な方法では、半径を利用して、ユーザの移動体デバイスによって取得される地理的位置に基づいてユーザのロケーションに大幅な変化が生じている（たとえば、ユーザがその半径を超えた場合）か否かを決定し、移動体デバイスの１または複数のプロセッサに知らせるかまたはこれを起動して、ロケーションの変化を処理する。特定の実施形態では、移動体デバイス（たとえば、携帯電話、ネットブック、スマートフォン、タブレット、または他のポータブルデバイス）は、１または複数のプロセッサと、地理的測位デバイス（または上述したセンサハブ）とを備えてよい。特定の実施形態では、地理的測位デバイスは、第１の位置を記録することができる（３０１）。特定の実施形態では、地理的測位デバイスは、移動体デバイスの速度に基づいて半径を決定することができる（３０２）。図４は、図３の例示的な方法のための例示的な半径を示す。たとえば、ユーザが１時間あたり４．８２８ｋｍ（３マイル）の速度で歩いている場合、地理的測位デバイスは、４０２．３ｍ（４分の１マイル）の半径を決定することができる。たとえば、ユーザがより速い速度を有する（たとえば、ユーザが１時間あたり１０４．６ｋｍ（６５マイル）で運転している）場合、地理的測位デバイスは、ロケーション変化を頻繁に検出し過ぎないように、より大きな半径（たとえば８．０４７ｋｍ（５マイル））を決定することができる。特定の実施形態では、ユーザが静止している（たとえば、ユーザが自宅で映画を見ている）場合、地理的測位デバイスは、半径に所定の値（たとえば１５２．４ｍ（５００フィート））を割り当てることができる。
【００１７】
特定の実施形態では、地理的測位デバイスは、移動体デバイスにローカルに記憶されている最近のロケーションデータに基づいて、移動体デバイスの速度を決定することができる。いくつかの実施形態では、地理的測位デバイスは、最近のロケーションデータが利用できない場合、デフォルト速度（たとえば、１時間あたり４．８２８ｋｍ（３マイル））を決定することができる。
【００１８】
いくつかの実施形態では、地理的測位デバイスは、時刻に基づいて半径を決定することができる。たとえば、地理的測位デバイスは、システムコールを通じて時刻情報にアクセスすることが可能である。たとえば、時刻情報が夜間の時刻（たとえば、午後１０時から午前６時）に相当する場合、移動体デバイスのユーザの移動がより少ない可能性が高いので、地理的測位デバイスは、より小さな半径（たとえば４０２．３ｍ（４分の１マイル））を決定することが可能である。他の実施形態では、地理的測位デバイスは、移動体デバイスが利用できる電力バジェットに基づいて半径を決定することができる。たとえば、移動体デバイスによってホストされるオペレーティングシステムまたはアプリケーションプログラムは、（たとえば、関数呼び出しを通じて）バッテリレベル情報にアクセスし、そのバッテリレベル情報を地理的測位デバイスに送信することが可能である。たとえば、移動体デバイスのバッテリレベルが所定の閾値（たとえば全容量の２０％）よりも低い場合、地理的測位デバイスは、半径の拡大を決定することができ、その結果、ロケーション変化の検出頻度が低下し、したがって電力の消費が低下し、残りのバッテリ電力が温存される。さらに別の実施形態では、地理的測位デバイスは、１または複数のロケーションの記
録に関連付けられた誤差に基づいて半径を決定することができる。記録された１または複数のロケーションに関連付けられた誤差は、１または複数の記録源（たとえば、ＧＰＳ、セルタワー三角測量など）、移動体デバイスの移動、記録時刻などに依る。たとえば、誤ったロケーション変化の検出を回避するために、地理的測位デバイスは、正確な距離、たとえば記録された１または複数のロケーションに関連付けられた誤差よりも長い水平距離を取得し、この正確な距離の少なくとも２倍である半径を決定することが可能である。特定の実施形態では、地理的測位デバイスは、時刻、電力バジェット、および／または上述した記録されたロケーションに関連付けられた誤差などの複数の要因に基づいて、半径を決定することができる。たとえば、地理的測位デバイスは、各個別の要因によって決定された半径の加重平均に基づいて、半径を決定することが可能である。たとえば、地理的測位デバイスは、移動体デバイスのバッテリレベルが非常に低い（たとえば全容量の１０％）場合のみ、電力バジェットに基づいて半径を決定することが可能である。いくつかの実施形態では、移動体システムの１または複数のプロセッサによってホストされる１または複数のクライアントアプリケーションは、速度、時刻、電力バジェット、または記録されたロケーションに関連付けられた誤差に基づいて、半径を決定することができる。たとえば、ユーザのロケーションデータを継続的に収集して遠隔のデータストアに記憶するための専用クライアントアプリケーションは、ユーザの直近のロケーションデータによって計算される速度に基づいて半径を決定し、その半径を地理的測位デバイスに提供することができる。いくつかの実施形態では、１または複数のクライアントアプリケーションは、速度、時刻、電力バジェット、および／または記録されたロケーションに関連付けられた誤差などの複数の要因に基づいて、半径を決定することができる。
【００１９】
特定の実施形態では、地理的測位デバイスは、１または複数の追加ロケーションを所定の頻度（たとえば１０分ごと）で記録し、１または複数の追加ロケーションのうち第２のロケーションが第１のロケーションからの半径を超えたところにあるか否かを決定することができる（３０３）。さらに他の実施形態では、地理的測位デバイスは、たとえばユーザのロケーションを含む移動体デバイスに関連する要因に基づいて動的に決定される頻度において、１または複数の追加ロケーションを記録することができる。第１のロケーションから半径を超えるところに追加ロケーションが存在しない、すなわち、実質的にロケーションの変化が生じていない場合、地理的測位デバイスは、１または複数の追加ロケーションを所定の頻度において引き続き記録することができる。追加ロケーションのうち第２のロケーションが第１のロケーションから半径を超えるところにある場合、地理的測位デバイスは、移動体デバイスの１または複数のプロセッサにメッセージを送信することができる（３０４）。特定の実施形態では、このメッセージは第２のロケーションを含むことができる。特定の実施形態では、このメッセージは、１または複数のプロセッサのうち少なくとも１つを、スリープ状態からアクティブ状態に遷移させることができる。さらに、地理的測位デバイスは、図３の例示的な方法を続行することができる。たとえば、地理的測位デバイスは、以前の第１のロケーションから以前の半径を超えるところにある以前の第２のロケーションを使用することによって新たな第１の位置を記録し（３０１）、新たな半径を決定し（３０２）、新たな第１のロケーションおよび新たな半径に基づいてロケーションの変化が実質的に生じているか否かを決定する（３０３）ことができる。
【００２０】
図３の例示的な方法は、図４Ａおよび図４Ｂによってさらに説明される。図４Ａおよび図４Ｂは、ユーザの移動を示す。図４Ａの例では、ＧＰＳを搭載した携帯電話を携帯するユーザが公園（「Ｈｏｏｖｅｒ  Ｐａｒｋ」）にいる。携帯電話の１または複数のプロセッサによってホストされる専用クライアントアプリケーションは、（デバイスドライバを通じて携帯電話のＧＰＳセンサにアクセスすることによって）ユーザのロケーションを継続的に収集し、そのロケーションをたとえば１０分ごとの間隔でロケーションデータベース１０４に記憶することが可能である。間隔の長さは、他の実施形態では、変化されてもよい。通常、移動体デバイスの１または複数のプロセッサは、ＧＰＳセンサにアクセスし
ロケーションをロケーションデータベース１０４に記憶するために、少なくとも１０分ごとにアクティブである。反対に、図３の例示的な方法では、専用クライアントアプリケーションは、ＧＰＳセンサおよび他のセンサとメモリとより低電力の１または複数のプロセッサと移動体デバイスの１または複数のプロセッサと通信するインタフェース回路とを備えるセンサハブに、第１のロケーション（図４Ａのロケーション「１」）を記録し始め、携帯電話の速度に基づいて半径４１０を決定するように指示することが可能であり、その時に１または複数のプロセッサ上で実行されている他のプログラムが存在しない場合、１または複数のプロセッサはスリープ状態に入ることができる。センサハブは、引き続き新たなロケーションを１０分ごとに記録し、新たなロケーションが第１のロケーションから半径４１０を超えるか否かを決定することが可能である。たとえば、ユーザは、次の３０分間公園で子供と共に遊んでおり（たとえば、ロケーション「２」、「３」、および「４」と記録される）、その後、ちょうど公園から出始める場合がある（たとえば、ロケーション「５」と記録される）。半径４１０によって決定されるように、ユーザのロケーションの実質的な変化が生じていない（すなわち、ユーザは公園またはその近くにいる）ので、より低電力の１または複数のプロセッサを有するセンサハブは、移動体デバイスの１または複数のプロセッサよりも実質的に低い電力を消費することができ、移動体デバイスの１または複数のプロセッサがスリープ状態にある間、引き続き新たなロケーションを１０分ごとに記録することが可能である。特定の実施形態では、ロケーション収集の頻度は、たとえば移動体デバイスのロケーションを含むさまざまな要因に基づいて動的に決定される間隔で行われてよい。図４Ａの例では、センサハブが、ユーザが半径４１０を超えて、図４Ａのロケーション「６」によって示される特定のロケーションに移動したと決定した場合、センサハブは、特定のロケーションを含むメッセージを１または複数のプロセッサに送信し、１または複数のプロセッサのうち少なくとも１つをスリープ状態からアクティブ状態に遷移させ、更新されたロケーションデータを処理するように専用クライアントアプリケーションを実行することが可能である。たとえば、専用クライアントアプリケーションは、ロケーションに関連する情報（たとえば、レストラン、公園などのロケーション近くの関心地点、またはロケーション近くの喫茶店からのクーポンなどのロケーションに関連する広告）を受信するために、ロケーションベースの照会の一部として遠隔ホストにロケーションを送信することができる。専用クライアントアプリケーションはまた、ユーザ識別子に関連した記憶の目的で、更新されたロケーションデータをロケーションデータベース１０４などの遠隔のデータストアに送信し、追加機能、たとえばロケーション近くの場所にユーザを自動的にチェックインすること、またはロケーション近くにいるユーザの第一次連絡先に知らせる（またはその逆とする）ことを可能にすることができる。図４Ｂの例では、センサハブは、半径４２０（ロケーション「６」を中心とする）を決定し、新たなロケーション（ロケーション「７」、「８」、「９」）を記録し始め、ロケーションの変化が実質的に生じているか否かを決定することができ、移動体デバイスの１または複数のプロセッサは、１または複数のプロセッサ上で実行されている他のプログラムが存在しない場合、スリープ状態に入ることができる。
【００２１】
特定の実施形態では、移動体デバイスの地理的測位デバイスを用いて地理的位置に継続的にアクセスしながら移動体デバイスのプロセッサのデューティサイクルを動的に決定するための方法は、ロケーション半径の計算を伴う必要はない。特定の実施形態では、半径計算に対するハードウェアまたはソフトウェアに対応していてもいなくても、移動体デバイスの１または複数のプロセッサは、本明細書に説明するように、特定の条件が満たされたことに基づいて状態が（たとえばスリープ状態からアクティブ状態に）遷移したことを知らされ得る。一例として、移動体システムの１または複数のプロセッサは、移動体デバイスのユーザの現在のロケーションに基づいてスリープ状態からアクティブ状態に遷移したことを知らされ得る。このロケーションは、限定するものではないが例として、ＧＰＳ、Ｗｉ−Ｆｉ、またはセルタワー信号を通じて、ならびに以前の地理的位置信号値によって、たとえば推測航法またはカルマンフィルタリングを含む任意の適切な技法を用いて、
決定されてよい。別の例として、移動体システムの１または複数のプロセッサは、ユーザの速度に基づいて状態を遷移させたことを知らされ得る。ユーザの速度は、たとえば現在のユーザロケーションと過去のユーザロケーションの両方を把握してユーザの軌跡および速度の推定値を生成することによって、決定されてよい。他の実施形態では、移動体デバイスの１または複数のプロセッサは、時刻に基づいて状態を遷移させたことを知らされ得る。たとえば、時刻が、（特定の実施形態では、以前のユーザアクティビティに基づいて）ユーザが眠っている可能性の高い真夜中である場合、移動体デバイスのプロセッサは、スリープ状態に遷移したことを知らされ得る。他の実施形態では、移動体デバイスの１または複数のプロセッサは、ユーザアクティビティに基づいて状態を遷移させたことを知らされ得る。たとえば、移動体デバイスがユーザのポケットまたは机の中にあると決定される場合、プロセッサはスリープ状態に遷移することができるが、移動体デバイスがユーザの手の中にあると決定される場合、プロセッサはアクティブ状態に遷移することができる。別の例として、プロセッサは、移動体デバイス上のハンドセンサからの入力に基づいて状態を遷移させることができる。そのようなハンドセンサが、ユーザの手が移動体デバイスに接触しているまたはその近傍にあると決定した場合、移動体デバイスのプロセッサは、たとえば、アラート状態に遷移することができる。さらに他の実施形態では、ユーザが、ユーザにとって興味深い（たとえば、ソーシャルネットワーク上のユーザのプロフィールによって決定される）（ソーシャルネットワーク上の）ソーシャルエンティティまたはその近くにいる場合、移動体デバイスのプロセッサは解除状態に遷移したことを知らされてよく、同様に、ユーザが、ユーザにとって興味深いソーシャルエンティティのいずれの近く（または、その閾値数の近く）にもいない場合、プロセッサは、スリープ状態に遷移してよい。たとえば、ユーザが、ソーシャルエンティティでもあるロケーションの近くにおり、ユーザがこのロケーションを頻繁に訪れる（たとえば、そのロケーションへのユーザのソーシャルネットワークチェックインによって決定される）場合、移動体システムのプロセッサは、アクティブ状態に遷移したことを知らされ得る。同様に、ユーザが、ユーザの１つまたは複数の友達すなわち第一次連絡先の近くにいる場合、プロセッサは、アクティブ状態に遷移したことを知らされ得る。別の例として、ユーザのロケーションの履歴も、軌跡を作成するために使用されてよく、軌跡情報も、同様に、ユーザの軌跡の近くに存在する対象となるロケーションまたは連絡先に応じて、移動体システムのプロセッサに知らせるために使用されてよい。本明細書で説明する要因の任意の組み合わせも、移動体デバイスのプロセッサは状態を遷移させたことを知らされるべきか否かを決定するために使用されてよい。さらに、移動体デバイスのプロセッサのいずれかが解除状態に遷移したことを知らされる頻度（たとえば１０分ごと）は、たとえば、ユーザのロケーションに基づいて、ならびにたとえば本明細書で言及する要因を含む任意の適切な要因によって、動的に決定されてよい。
【００２２】
特定の実施形態では、地理的位置検知回路を制御し、地理的位置検知回路からの地理的測位信号を地理的ロケーションに変換し、（たとえば、地理的位置検知回路から取得された２つの地理的ロケーション間の距離を計算する、すなわち条件が満たされているか否かを決定する）計算を実行し、条件が満たされている場合（たとえば、計算された距離が所定の閾値よりも大きい場合）移動体デバイスの１または複数のプロセッサに知らせるためのプログラムを実行するようにプログラムされる地理的測位デバイスを利用する。
【００２３】
前述の実施形態は、さまざまなネットワーク構成で実施されてよいが、以下は、教示的だが限定的ではない目的で、例示的なネットワーク環境を示す。図５は、例示的なネットワーク環境５００を示す。ネットワーク環境５００は、１または複数のサーバ５２０および１または複数のクライアント５３０を互いに結合するネットワーク５１０を含む。ネットワーク環境５００はまた、１または複数のサーバ５２０にリンクされた１または複数のデータストレージ５４０を含む。特定の実施形態は、ネットワーク環境５００で実施され得る。たとえば、ソーシャルネットワーキングシステムフロントエンド１２０は、１また
は複数のサーバ５２０によってホストされるソフトウェアプログラムに書き込まれてよい。たとえば、イベントデータベース１０２は、１または複数のストレージ５４０に記憶されてよい。特定の実施形態では、ネットワーク５１０は、イントラネット、エクストラネット、仮想プライベートネットワーク（ＶＰＮ）、ローカルエリアネットワーク（ＬＡＮ）、無線ＬＡＮ（ＷＬＡＮ）、ワイドエリアネットワーク（ＷＡＮ）、メトロポリタンエリアネットワーク（ＭＡＮ）、インターネットの一部分、または別のネットワーク５１０もしくは２以上のそのようなネットワーク５１０の組み合わせである。本開示は、任意の適切なネットワーク５１０を企図する。
【００２４】
１または複数のリンク５５０は、サーバ５２０またはクライアント５３０をネットワーク５１０に結合する。特定の実施形態では、１または複数のリンク５５０はそれぞれ、１または複数の有線リンク、無線リンク、または光リンク５５０を含む。特定の実施形態では、１または複数のリンク５５０はそれぞれ、イントラネット、エクストラネット、ＶＰＮ、ＬＡＮ、ＷＬＡＮ、ＷＡＮ、ＭＡＮ、インターネットの一部分、または別のリンク５５０もしくは２以上のそのようなリンク５５０の組み合わせを含む。本開示は、サーバ５２０およびクライアント５３０をネットワーク５１０に結合する任意の適切なリンク５５０を企図する。
【００２５】
特定の実施形態では、各サーバ５２０は、単一のサーバであってもよいし、複数のコンピュータまたは複数のデータセンタに跨る分散型サーバであってもよい。サーバ５２０は、たとえば、限定するものではないが、ウェブサーバ、ニュースサーバ、メールサーバ、メッセージサーバ、広告サーバ、ファイルサーバ、アプリケーションサーバ、交換サーバ、データベースサーバ、またはプロキシサーバなどの、さまざまなタイプであってよい。特定の実施形態では、各サーバ５２０は、サーバ５２０によって実装または対応される適切な機能を実行するための、ハードウェア、ソフトウェア、または組み込み論理部品もしくは２以上のそのような部品の組み合わせを含むことができる。たとえば、ウェブサーバは、一般に、ウェブページまたはウェブページの特定の要素を含むウェブサイトをホストすることが可能である。より具体的には、ウェブサーバは、ＨＴＭＬファイルまたは他のファイルタイプをホストしてもよいし、要求時にファイルを動的に作成または構成し、クライアント５３０からのＨＴＴＰ要求または他の要求に応答してクライアント５３０にそれらのファイルを通信してもよい。メールサーバは、一般に、さまざまなクライアント５３０に電子メールサービスを提供することが可能である。データベースサーバは、一般に、１または複数のデータストアに記憶されているデータを管理するためのインタフェースを提供することが可能である。
【００２６】
特定の実施形態では、１または複数のデータストレージ５４０は、１または複数のリンク５５０を通じて１または複数のサーバ５２０に通信可能にリンクされてよい。特定の実施形態では、データストレージ５４０は、さまざまな種類の情報を記憶するために使用されてよい。特定の実施形態では、データストレージ５４０に記憶された情報は、特定のデータ構造に従って編成されてよい。特定の実施形態では、各データストレージ５４０は、関係データベースであってよい。特定の実施形態は、サーバ５２０またはクライアント５３０がデータストレージ５４０に記憶された情報を管理する、たとえば、検索する、修正する、追加する、または削除することを可能にするインタフェースを提供することができる。
【００２７】
特定の実施形態では、各クライアント５３０は、ハードウェア、ソフトウェア、または組み込み論理部品、または２以上のそのような部品の組み合わせを含み、かつクライアント５３０によって実装または対応される適切な機能を実行することが可能な、電子デバイスであってよい。たとえば、限定するものではないが、クライアント５３０は、デスクトップコンピュータシステム、ノートブックコンピュータシステム、ネットブックコンピュ
ータシステム、ハンドヘルド電子デバイス、または携帯電話であってよい。本開示は、任意の適切なクライアント５３０を企図する。クライアント５３０は、クライアント５３０のネットワークユーザがネットワーク５３０にアクセスすることを可能にすることができる。クライアント５３０は、そのユーザが他のクライアント５３０の他のユーザと通信することを可能にすることができる。
【００２８】
クライアント５３０は、ＭＩＣＲＯＳＯＦＴ  ＩＮＴＥＲＮＥＴ  ＥＸＰＬＯＲＥＲ、ＧＯＯＧＬＥ  ＣＨＲＯＭＥ、またはＭＯＺＩＬＬＡ  ＦＩＲＥＦＯＸなどのウェブブラウザ５３２を有することができ、ツールバーまたはＹＡＨＯＯツールバーなどの、１または複数のアドオン、プラグイン、または他の拡張機能を有することができる。クライアント５３０におけるユーザは、ユニフォームリソースロケータ（ＵＲＬ）またはサーバ５２０にウェブブラウザ５３２を向ける他のアドレスを入力することができ、ウェブブラウザ５３２は、ハイパーテキスト転送プロトコル（ＨＴＴＰ）要求を生成し、このＨＴＴＰ要求をサーバ５２０に通信することができる。サーバ５２０は、このＨＴＴＰ要求を受信し、このＨＴＴＰ要求に応答する１または複数のハイパーテキストマークアップ言語（ＨＴＭＬ）ファイルをクライアント５３０に通信することができる。クライアント５３０は、ユーザに提示するために、サーバ５２０からのＨＴＭＬファイルに基づいてウェブページをレンダリングすることができる。本開示は、任意の適切なウェブページファイルを企図する。限定としてではなく一例として、ウェブページは、特定のニーズに従って、ＨＴＭＬファイル、拡張ハイパーテキストマークアップ言語（ＸＨＴＭＬ）ファイル、または拡張マークアップ言語（ＸＭＬ）ファイルからレンダリングされてよい。そのようなページはまた、たとえば限定するものではないが、ＪＡＶＡＳＣＲＩＰＴ（登録商標）、ＪＡＶＡ（登録商標）、ＭＩＣＲＯＳＯＦＴ  ＳＩＬＶＥＲＬＩＧＨＴ、ＡＪＡＸ（非同期ＪＡＶＡＳＣＲＩＰＴとＸＭＬ）などのマークアップ言語とスクリプトの組み合わせなどで記述されたスクリプトなどのスクリプトを実行することができる。本明細書では、必要に応じて、ウェブページに言及する場合、１または複数の対応するウェブページファイル（ブラウザが、ウェブページをレンダリングするために使用することができる）を包含し、その逆も同様である。
【００２９】
図６は、特定の実施形態と共に使用できる例示的なコンピュータシステム６００を示す。本開示は、任意の適切な数のコンピュータシステム６００を企図する。本開示は、任意の適切な物理的形態をとるコンピュータシステム６００を企図する。限定としてではなく一例として、コンピュータシステム６００は、組み込み型コンピュータシステム、システムオンチップ（ＳＯＣ）、シングルボードコンピュータシステム（ＳＢＣ）（たとえば、コンピュータオンモジュール（ＣＯＭ）またはシステムオンモジュール（ＳＯＭ）など）、デスクトップコンピュータシステム、ラップトップコンピュータシステムまたはノートブックコンピュータシステム、インタラクティブキオスク、メインフレーム、コンピュータシステムのメッシュ、携帯電話、携帯情報端末（ＰＤＡ）、サーバ、またはこれらのうち２以上の組み合わせであってよい。必要に応じて、コンピュータシステム６００は、１または複数のコンピュータシステム６００を含むことができ、単体であってもよいし、分散型であってもよく、複数のロケーションに跨ることができ、複数のマシンに跨ることができ、または、１つもしくは複数のネットワーク内の１つもしくは複数のクラウドコンポーネントを含み得るクラウドに存在することができる。必要に応じて、１または複数のコンピュータシステム６００は、本明細書で説明または図示する１または複数の方法の１または複数の工程を、実質的な空間的制限または時間的制限なしで実行することができる。限定としてではなく一例として、１または複数のコンピュータシステム６００は、本明細書で説明または図示する１または複数の方法の１または複数の工程を、リアルタイムで、またはバッチモードで、実行することができる。必要に応じて、１または複数のコンピュータシステム６００は、本明細書で説明または図示する１または複数の方法の１または複数の工程を、異なる時刻に、または異なるロケーションで、実行することができる。
【００３０】
特定の実施形態では、コンピュータシステム６００は、プロセッサ６０２と、メモリ６０４と、ストレージ６０６と、入出力（Ｉ／Ｏ）インタフェース６０８と、通信インタフェース６１０と、バス６１２とを含む。本開示では、特定の数の特定の構成要素を特定の配置で有する特定のコンピュータシステムについて説明し図示するが、本開示は、任意の適切な数の任意の適切な構成要素を任意の適切な配置で有する任意の適切なコンピュータシステムを企図する。
【００３１】
特定の実施形態では、プロセッサ６０２は、コンピュータプログラムを構成する命令などの命令を実行するためのハードウェアを含む。限定としてではなく一例として、命令を実行するため、プロセッサ６０２は、内部レジスタ、内部キャッシュ、メモリ６０４、またはストレージ６０６から、命令を取り出し（またはフェッチし）、それらの命令をデコードして実行し、次に、１または複数の結果を、内部レジスタ、内部キャッシュ、メモリ６０４、またはストレージ６０６に書き込むことができる。特定の実施形態では、プロセッサ６０２は、データ、命令、またはアドレス用の１または複数の内部キャッシュを含むことができる。本開示は、必要に応じて、任意の適切な数の任意の適切な内部キャッシュを含むプロセッサ６０２を企図する。限定としてではなく一例として、プロセッサ６０２は、１または複数の命令キャッシュと、１または複数のデータキャッシュと、１または複数の変換索引バッファ（ＴＬＢ：ｔｒａｎｓｌａｔｉｏｎ  ｌｏｏｋａｓｉｄｅ  ｂｕｆｆｅｒ）とを含むことができる。命令キャッシュ内の命令は、メモリ６０４またはストレージ６０６内の命令のコピーであってよく、命令キャッシュは、プロセッサ６０２によるこれらの命令の取り出しを高速化することができる。データキャッシュ内のデータは、プロセッサ６０２で実行される命令が作用する、メモリ６０４またはストレージ６０６内のデータのコピーであってもよいし、プロセッサ６０２で実行される後続の命令によるアクセスのための、またはメモリ６０４もしくはストレージ６０６に書き込むための、プロセッサ６０２で実行された前の命令の結果であってもよいし、他の適切なデータであってもよい。データキャッシュは、プロセッサ６０２による読み取り動作または書き込み動作を高速化することができる。ＴＬＢは、プロセッサ６０２のための仮想アドレス変換を高速化することができる。特定の実施形態では、プロセッサ６０２は、データ、命令、またはアドレス用の１または複数の内部レジスタを含むことができる。本開示は、必要に応じて、任意の適切な数の任意の適切な内部レジスタを含むプロセッサ６０２を企図する。必要に応じて、プロセッサ６０２は、１または複数の演算論理ユニット（ＡＬＵ）を含んでもよいし、マルチコアプロセッサであってもよいし、１または複数のプロセッサ６０２を含んでもよい。本開示では、特定のプロセッサについて説明し図示するが、本開示は、任意の適切なプロセッサを企図する。
【００３２】
特定の実施形態では、メモリ６０４は、プロセッサ６０２が実行する命令またはプロセッサ６０２が作用するデータを記憶するためのメインメモリを含む。限定としてではなく一例として、コンピュータシステム６００は、ストレージ６０６または別の供給源（たとえば、別のコンピュータシステム６００など）からメモリ６０４に命令をロードすることができる。プロセッサ６０２は、次に、その命令をメモリ６０４から内部レジスタまたは内部キャッシュにロードすることができる。その命令を実行するため、プロセッサ６０２は、その命令を内部レジスタまたは内部キャッシュから取り出して、その命令をデコードすることができる。命令の実行中またはその後に、プロセッサ６０２は、１または複数の結果（中間結果であってもよいし、最終結果であってもよい）を内部レジスタまたは内部キャッシュに書き込むことができる。プロセッサ６０２は、次に、それらの結果のうち１または複数をメモリ６０４に書き込むことができる。特定の実施形態では、プロセッサ６０２は、１または複数の内部レジスタもしくは内部キャッシュ内または（ストレージ６０６または他の場所ではなく）メモリ６０４内の命令のみを実行し、１または複数の内部レジスタもしくは内部キャッシュ内または（ストレージ６０６または他の場所ではなく）メ
モリ６０４内のデータのみに作用する。１または複数のメモリバス（それぞれ、アドレスバスおよびデータバスを含むことができる）は、プロセッサ６０２をメモリ６０４に結合することができる。バス６１２は、以下で説明するように、１または複数のメモリバスを含むことができる。特定の実施形態では、１または複数のメモリ管理ユニット（ＭＭＵ）がプロセッサ６０２とメモリ６０４の間に存在し、プロセッサ６０２によって要求されるメモリ６０４へのアクセスを容易にする。特定の実施形態では、メモリ６０４にはランダムアクセスメモリ（ＲＡＭ）が含まれる。このＲＡＭは、必要に応じて、揮発性メモリであってよい。必要に応じて、このＲＡＭはダイナミック（ＤＲＡＭ）であってもよいし、スタティックＲＡＭ（ＳＲＡＭ）であってもよい。さらに、必要に応じて、このＲＡＭは、シングルポートＲＡＭであってもよいし、マルチポートＲＡＭであってもよい。本開示は、任意の適切なＲＡＭを企図する。メモリ６０４は、必要に応じて、１または複数のメモリ６０２を含むことができる。本開示では、特定のメモリについて説明し図示するが、本開示は、任意の適切なメモリを企図する。
【００３３】
特定の実施形態では、ストレージ６０６は、データまたは命令のための大容量記憶装置を含む。限定としてではなく一例として、ストレージ６０６には、ＨＤＤ、フロッピー（登録商標）ディスクドライブ、フラッシュメモリ、光ディスク、光磁気ディスク、磁気テープ、またはユニバーサルシリアルバス（ＵＳＢ）ドライブ、またはこれらのうち２以上の組み合わせがあり得る。ストレージ６０６としては、必要に応じて、リムーバブルメディアまたは非リムーバブル（すなわち固定）メディアがあり得る。ストレージ６０６は、必要に応じて、コンピュータシステム６００の内部にあってもよいし、外部にあってもよい。特定の実施形態では、ストレージ６０６は、不揮発性のソリッドステートメモリである。特定の実施形態では、ストレージ６０６には、読み出し専用メモリ（ＲＯＭ）が含まれる。必要に応じて、このＲＯＭは、マスクプログラムＲＯＭ、プログラマブルＲＯＭ（ＰＲＯＭ）、消去可能ＰＲＯＭ（ＥＰＲＯＭ）、電気的消去可能ＰＲＯＭ（ＥＥＰＲＯＭ）、電気的書き換え可能ＲＯＭ（ＥＡＲＯＭ）、またはフラッシュメモリ、またはこれらのうち２以上の組み合わせであってよい。本開示は、任意の適切な物理的形態をとる大容量ストレージ６０６を企図する。ストレージ６０６は、必要に応じて、プロセッサ６０２とストレージ６０６の間の通信を容易にする１または複数のストレージ制御ユニットを含むことができる。必要に応じて、ストレージ６０６は、１または複数のストレージ６０６を含むことができる。本開示では、特定のストレージについて説明し図示するが、本開示は、任意の適切なストレージを企図する。
【００３４】
特定の実施形態では、Ｉ／Ｏインタフェース６０８は、コンピュータシステム６００と１または複数のＩ／Ｏデバイスの間の通信のための１または複数のインタフェースを提供する、ハードウェア、ソフトウェア、またはこれらの両方を含む。コンピュータシステム６００は、必要に応じて、これらのＩ／Ｏデバイスのうちの１または複数を含むことができる。これらのＩ／Ｏデバイスのうちの１または複数は、人間とコンピュータシステム６００の間の通信を可能にすることができる。限定としてではなく一例として、Ｉ／Ｏデバイスとしては、キーボード、キーパッド、マイクロホン、モニタ、マウス、プリンタ、スキャナ、スピーカ、スチールカメラ、スタイラス、タブレット、タッチスクリーン、トラックボール、ビデオカメラ、別の適切なＩ／Ｏデバイス、またはこれらのうち２以上の組み合わせがあり得る。Ｉ／Ｏデバイスは、１または複数のセンサを含むことができる。本開示は、任意の適切なＩ／Ｏデバイスと、それらのＩ／Ｏデバイス用の任意の適切なＩ／Ｏインタフェース６０８を企図する。必要に応じて、Ｉ／Ｏインタフェース６０８は、プロセッサ６０２がこれらのＩ／Ｏデバイスのうちの１または複数を駆動することを可能にする１または複数のデバイスドライバまたはソフトウェアドライバを含むことができる。Ｉ／Ｏインタフェース６０８は、必要に応じて、１または複数のＩ／Ｏインタフェース６０８を含むことができる。本開示では、特定のＩ／Ｏインタフェースについて説明し図示するが、本開示は、任意の適切なＩ／Ｏインタフェースを企図する。
【００３５】
特定の実施形態では、通信インタフェース６１０は、コンピュータシステム６００と１つもしくは複数の他のコンピュータシステム６００または１つもしくは複数のネットワークの間の通信（たとえば、パケットベースの通信など）のための１または複数のインタフェースを提供する、ハードウェア、ソフトウェア、またはこれらの両方を含む。限定としてではなく一例として、通信インタフェース６１０としては、イーサネット（登録商標）もしくは他の有線ベースのネットワークと通信するためのネットワークインタフェースコントローラ（ＮＩＣ）もしくはネットワークアダプタ、またはＷＩ−ＦＩネットワークなどの無線ネットワークと通信するための無線ＮＩＣ（ＷＮＩＣ）もしくは無線アダプタがあり得る。本開示は、任意の適切なネットワークと、そのネットワークのための任意の適切な通信インタフェース６１０を企図する。限定としてではなく一例として、コンピュータシステム６００は、アドホックネットワーク、パーソナルエリアネットワーク（ＰＡＮ）、ローカルエリアネットワーク（ＬＡＮ）、ワイドエリアネットワーク（ＷＡＮ）、メトロポリタンエリアネットワーク（ＭＡＮ）、またはインターネットの１つもしくは複数の部分、またはこれらのうち２以上の組み合わせと通信することができる。これらのネットワークのうちの１または複数の１または複数の部分は、有線であってもよいし、無線であってもよい。一例として、コンピュータシステム６００は、無線ＰＡＮ（ＷＰＡＮ）（たとえば、ブルートゥースＷＰＡＮなど）、ＷＩ−ＦＩネットワーク（たとえば、８０２．１１ａ／ｂ／ｇ／ｎ  ＷＩ−ＦＩネットワーク、８０２．１１ｓメッシュネットワークなど）、ＷＩ−ＭＡＸネットワーク、セルラ式電話ネットワーク（たとえば、Ｇｌｏｂａｌ  Ｓｙｓｔｅｍ  ｆｏｒ  Ｍｏｂｉｌｅ  Ｃｏｍｍｕｎｉｃａｔｉｏｎｓ（ＧＳＭ（登録商標））ネットワーク、Ｅｎｈａｎｃｅｄ  Ｄａｔａ  Ｒａｔｅｓ  ｆｏｒ  ＧＳＭ  Ｅｖｏｌｕｔｉｏｎ（ＥＤＧＥ）ネットワーク、Ｕｎｉｖｅｒｓａｌ  Ｍｏｂｉｌｅ  Ｔｅｌｅｃｏｍｍｕｎｉｃａｔｉｏｎｓ  Ｓｙｓｔｅｍ（ＵＭＴＳ）ネットワーク、Ｌｏｎｇ  Ｔｅｒｍ  Ｅｖｏｌｕｔｉｏｎ（ＬＴＥ）ネットワーク）、または他の適切な無線ネットワーク、またはこれらのうち２以上の組み合わせと通信することができる。コンピュータシステム６００は、必要に応じて、これらのネットワークのいずれかのための任意の適切な通信インタフェース６１０を含むことができる。通信インタフェース６１０は、必要に応じて、１または複数の通信インタフェース６１０を含むことができる。本開示では、特定の通信インタフェースについて説明し図示するが、本開示は、任意の適切な通信インタフェースを企図する。
【００３６】
特定の実施形態では、バス６１２は、コンピュータシステム６００の構成要素を互いに結合する、ハードウェア、ソフトウェア、またはこれらの両方を含む。限定としてではなく一例として、バス６１２としては、Ａｃｃｅｌｅｒａｔｅｄ  Ｇｒａｐｈｉｃｓ  Ｐｏｒｔ（ＡＧＰ）または他のグラフィックスバス、Ｅｎｈａｎｃｅｄ  Ｉｎｄｕｓｔｒｙ  Ｓｔａｎｄａｒｄ  Ａｒｃｈｉｔｅｃｔｕｒｅ（ＥＩＳＡ）バス、フロントサイドバス（ＦＳＢ）、ＨＹＰＥＲＴＲＡＮＳＰＯＲＴ（ＨＴ）相互接続、Ｉｎｄｕｓｔｒｙ  Ｓｔａｎｄａｒｄ  Ａｒｃｈｉｔｅｃｔｕｒｅ（ＩＳＡ）バス、ＩＮＦＩＮＩＢＡＮＤ相互接続、ｌｏｗ−ｐｉｎ−ｃｏｕｎｔ（ＬＰＣ）バス、メモリバス、マイクロチャネルアーキテクチャ（ＭＣＡ）バス、Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ（ＰＣＩ）バス、ＰＣＩ−エクスプレス（ＰＣＩ−Ｅｘｐｒｅｓｓ）、（ＰＣＩ−Ｘ）バス、シリアルアドバンスドテクノロジーアタッチメント（ＳＡＴＡ）バス、Ｖｉｄｅｏ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｓｔａｎｄａｒｄｓ  Ａｓｓｏｃｉａｔｉｏｎローカル（ＶＬＢ）バス、Ｕｎｉｖｅｒｓａｌ  Ａｓｙｎｃｈｒｏｎｏｕｓ  Ｒｅｃｅｉｖｅｒ／Ｔｒａｎｓｍｉｔｔｅｒ（ＵＡＲＴ）インタフェース、Ｉｎｔｅｒ−Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ（Ｉ２Ｃ）バス、シリアルペリフェラルインタフェース（ＳＰＩ）バス、セキュアデジタル（ＳＤ）メモリインタフェース、マルチメディアカード（ＭＭＣ）メモリインタフェース、メモリスティック（ＭＳ）メモリインタフェース、セキュアデジタル入出力（ＳＤＩＯ）インタフェース、マルチチャネルバッファードシリアルポート
（ＭｃＢＳＰ）バス、ユニバーサルシリアルバス（ＵＳＢ）バス、Ｇｅｎｅｒａｌ  Ｐｕｒｐｏｓｅ  Ｍｅｍｏｒｙ  Ｃｏｎｔｒｏｌｌｅｒ（ＧＰＭＣ）バス、ＳＤＲＡＭコントローラ（ＳＤＲＣ）バス、汎用入出力（ＧＰＩＯ）バス、Ｓｅｐａｒａｔｅ  Ｖｉｄｅｏ（Ｓ−Ｖｉｄｅｏ）バス、ディスプレイシリアルインタフェース（ＤＳＩ）バス、Ａｄｖａｎｃｅｄ  Ｍｉｃｒｏｃｏｎｔｒｏｌｌｅｒ  Ｂｕｓ  Ａｒｃｈｉｔｅｃｔｕｒｅ（ＡＭＢＡ）バス、または別の適切なバス、またはこれらのうち２以上の組み合わせがあり得る。バス６１２は、必要に応じて、１または複数のバス６１２を含むことができる。本開示では、特定のバスについて説明し図示するが、本開示は、任意の適切なバスまたは相互接続を企図する。
【００３７】
上述したクライアント側機能は、実行されるとプログラマブルプロセッサに上述した動作を実施させるコンピュータ可読記憶媒体上に記憶された一連の命令として実施することが可能である。クライアントデバイス１２２は、さまざまな異なるハードウェアおよびコンピューティングシステムにおいて実施されてよいが、図７は、さまざまな特定の実施形態によれば、クライアントすなわち移動体デバイスの例示的なコンピューティングプラットフォームの主要構成要素の概略図を示す。特定の実施形態では、コンピューティングプラットフォーム７０２は、コントローラ７０４と、メモリ７０６と、入出力サブシステム７１０とを備えることができる。特定の実施形態は、コントローラ７０４は、命令を実行するように、かつコンピューティングプラットフォームに関連付けられた動作を実行するように構成された１つもしくは複数のプロセッサおよび／または１または複数のマイクロコントローラを備えることができる。さまざまな実施形態では、コントローラ７０４は、シングルチップ、複数のチップ、および／または１つもしくは複数の集積回路とプリント回路基板とを含む他の電気構成要素として実装されてよい。コントローラ７０４は、命令、データ、またはコンピュータアドレスを一時的にローカルに記憶するためのキャッシュメモリユニットを任意選択で含むことができる。例として、メモリから取り出された命令を使用して、コントローラ７０４は、コンピューティングプラットフォーム７０２の構成要素の間で入出力されたデータの受信および操作を制御することができる。例として、コントローラ７０４は、コンピューティングプラットフォーム７０２の特定の処理タスク、たとえば２Ｄ／３Ｄグラフィックス処理、画像処理、またはビデオ処理に専用の１つもしくは複数のプロセッサまたは１つもしくは複数のコントローラを含むことができる。
【００３８】
コントローラ７０４は、適切なオペレーティングシステムと共に、コンピュータコードの形態の命令を実行し、データを生成および使用する働きをすることができる。限定としてではなく例として、オペレーティングシステムは、さまざまな適切なオペレーティングシステムの中でもとりわけ、Ｗｉｎｄｏｗｓベース、Ｍａｃベース、またはＵｎｉｘ（登録商標）もしくはＬｉｎｕｘ（登録商標）ベース、またはＳｙｍｂｉａｎベースであってよい。オペレーティングシステム、他のコンピュータコードおよび／またはデータは、コントローラ７０４に動作可能に結合されたメモリ７０６の内部に物理的に記憶することができる。
【００３９】
メモリ７０６は、１または複数の記憶媒体を包含し、一般に、コンピューティングプラットフォーム７０２によって使用されるコンピュータコード（たとえば、ソフトウェアおよび／またはファームウェア）およびデータを記憶する場所を提供する。例として、メモリ７０６には、読み出し専用メモリ（ＲＯＭ）および／またはランダムアクセスメモリ（ＲＡＭ）を含む、さまざまな有形のコンピュータ可読記憶媒体があり得る。当技術分野でよく知られているように、ＲＯＭは、コントローラ７０４にデータおよび命令を一方向に転送するように機能し、ＲＡＭは、一般的には、データおよび命令を双方向に転送するために使用される。メモリ７０６は、例として、コントローラ７０４に双方向に結合されるメモリのさまざまな適切な形態の中でもとりわけ、ハードディスクドライブ（ＨＤＤ）、ソリッドステートドライブ（ＳＳＤ）、フラッシュメモリカード（たとえば、セキュアー
ドデジタルすなわちＳＤカード、組み込みマルチメディアカードすなわちｅＭＭＤカード）の形態の、１または複数の固定ストレージデバイスも含むことがある。情報はまた、必要なときにコンピューティングプラットフォーム７０２にロードまたはインストールされる１または複数のリムーバブル記憶媒体上に存在することがある。例として、いくつかの適切なメモリカード（たとえばＳＤカード）のいずれかは、一時的または永続的にコンピューティングプラットフォーム７０２にロードされてよい。
【００４０】
入出力サブシステム７１０は、コントローラ７０４に動作可能に接続された１または複数の入出力デバイスを備えることができる。たとえば、入出力サブシステムは、キーボード、マウス、１または複数のボタン、サムホイール、および／またはディスプレイ（たとえば液晶ディスプレイ（ＬＣＤ）、発光ダイオード（ＬＥＤ）、光干渉変調器ディスプレイ（ＩＭＯＤ）、または他の任意の適切なディスプレイ技術）を含むことができる。一般に、入力デバイスは、データ、コマンド、および応答を外界からコンピューティングプラットフォーム７０２へと転送するように構成される。ディスプレイは、一般に、コンピューティングプラットフォーム７０２のユーザと移動体デバイス上で実行されているオペレーティングシステムまたはアプリケーションとの間の視覚的インタフェースを使用する簡単な方法を提供するグラフィカルユーザインタフェース（ＧＵＩ）を表示するように構成される。一般に、ＧＵＩは、プログラム、ファイル、および動作に関する選択肢をグラフィカル画像付きで提示する。動作中に、ユーザは、機能およびそれに関連するタスクを開始するために、ディスプレイ上に表示されるさまざまなグラフィカル画像を選択して作動させることができる。入出力サブシステム７１０はまた、タッチパッドおよびタッチスクリーンなどのタッチベースのデバイスを含むことができる。タッチパッドは、ユーザのタッチベース入力を検出する表面を含む入力デバイスである。同様に、タッチスクリーンは、ユーザのタッチ入力の存在およびロケーションを検出するディスプレイである。入出力システム７１０はまた、２本または３本の指でのタッチなどの複数のタッチ入力の存在、ロケーション、および動きを識別できる、デュアルタッチまたはマルチタッチのディスプレイまたはタッチパッドを含むことができる。
【００４１】
特定の実施形態では、コンピューティングプラットフォーム７０２は、コンピューティングプラットフォーム７０２のさまざまな機能を容易にするためにコントローラ７０４に動作可能に接続された、オーディオサブシステム７１２、カメラサブシステム７１２、無線通信サブシステム７１６、センササブシステム７１８、および／または有線通信サブシステム７２０をさらに備えることができる。たとえば、スピーカとマイクロホンと音声信号を処理するように構成されたコーデックモジュールとを含むオーディオサブシステム７１２は、音声認識機能、音声再現（ｒｅｐｌｉｃａｔｉｏｎ）機能、デジタル記録機能、および電話機能などの音声対応機能を容易にするために利用することが可能である。たとえば、光センサ（たとえば電荷結合素子（ＣＣＤ）画像センサまたは相補型金属酸化膜半導体（ＣＭＯＳ）画像センサ）を含むカメラサブシステム７１２は、写真およびビデオクリップの記録などのカメラ機能を容易にするために利用することが可能である。たとえば、有線通信サブシステム７２０は、ファイル転送のためのユニバーサルシリアルバス（ＵＳＢ）ポートまたはローカルエリアネットワーク（ＬＡＮ）への接続のためのイーサネットポートを含むことが可能である。さらに、コンピューティングプラットフォーム７０２は、電源７３２によって電力を供給されてよい。
【００４２】
無線通信サブシステム７１６は、１または複数の無線ネットワーク、たとえば、無線ＰＡＮ（ＷＰＡＮ）（たとえば、ブルートゥースＷＰＡＮ、赤外線ＰＡＮなど）、ＷＩ−ＦＩネットワーク（たとえば、８０２．１１ａ／ｂ／ｇ／ｎ  ＷＩ−ＦＩネットワーク、８０２．１１ｓメッシュネットワークなど）、ＷＩ−ＭＡＸネットワーク、セルラ式電話ネットワーク（たとえば、Ｇｌｏｂａｌ  Ｓｙｓｔｅｍ  ｆｏｒ  Ｍｏｂｉｌｅ  Ｃｏｍｍｕｎｉｃａｔｉｏｎｓ（ＧＳＭ）ネットワーク、Ｅｎｈａｎｃｅｄ  Ｄａｔａ  Ｒａｔｅ
ｓ  ｆｏｒ  ＧＳＭ  Ｅｖｏｌｕｔｉｏｎ（ＥＤＧＥ）ネットワーク、ユニバーサル移動体通信システム（ＵＭＴＳ）ネットワーク、および／またはＬｏｎｇ  Ｔｅｒｍ  Ｅｖｏｌｕｔｉｏｎ（ＬＴＥ）ネットワークなど）上で動作するように設計することが可能である。さらに、無線通信サブシステム７１６は、コンピューティングプラットフォーム７０２が他の無線デバイス用の基地局として構成され得るように、ホスティングプロトコルを含んでよい。他の入出力デバイスとしては、デバイスの向きを検出するために使用されることが可能な加速度計があり得る。
【００４３】
センササブシステム７１８は、追加の入力を提供してコンピューティングプラットフォーム７０２の複数の機能を容易にするために、１または複数のセンサデバイスを含んでよい。たとえば、センササブシステム７１８は、ロケーション測位のためのＧＰＳセンサ、高度測位のための高度計、移動体デバイスの向きを決定するためのモーションセンサ、カメラサブシステム７１４を用いた撮影機能のための光センサ、周囲温度を測定するための温度センサ、および／またはセキュリティアプリケーションのためのバイオメトリックセンサ（たとえば指紋読み取り装置）を含んでよい。
【００４４】
特定の実施形態では、コンピューティングプラットフォーム７０２のさまざまな構成要素は、１または複数のバス（ハードウェアおよび／またはソフトウェアを含む）によって動作可能に一緒に接続され得る。限定としてではなく一例として、１または複数のバスとしては、Ａｃｃｅｌｅｒａｔｅｄ  Ｇｒａｐｈｉｃｓ  Ｐｏｒｔ（ＡＧＰ）または他のグラフィックスバス、Ｅｎｈａｎｃｅｄ  Ｉｎｄｕｓｔｒｙ  Ｓｔａｎｄａｒｄ  Ａｒｃｈｉｔｅｃｔｕｒｅ（ＥＩＳＡ）バス、フロントサイドバス（ＦＳＢ）、ＨＹＰＥＲＴＲＡＮＳＰＯＲＴ（ＨＴ）相互接続、Ｉｎｄｕｓｔｒｙ  Ｓｔａｎｄａｒｄ  Ａｒｃｈｉｔｅｃｔｕｒｅ（ＩＳＡ）バス、ＩＮＦＩＮＩＢＡＮＤ相互接続、ｌｏｗ−ｐｉｎ−ｃｏｕｎｔ（ＬＰＣ）バス、メモリバス、マイクロチャネルアーキテクチャ（ＭＣＡ）バス、Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ（ＰＣＩ）バス、ＰＣＩ−エクスプレス（ＰＣＩ−Ｅｘｐｒｅｓｓ）、（ＰＣＩ−Ｘ）バス、シリアルアドバンスドテクノロジーアタッチメント（ＳＡＴＡ）バス、Ｖｉｄｅｏ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｓｔａｎｄａｒｄｓ  Ａｓｓｏｃｉａｔｉｏｎローカル（ＶＬＢ）バス、Ｕｎｉｖｅｒｓａｌ  Ａｓｙｎｃｈｒｏｎｏｕｓ  Ｒｅｃｅｉｖｅｒ／Ｔｒａｎｓｍｉｔｔｅｒ（ＵＡＲＴ）インタフェース、Ｉｎｔｅｒ−Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ（Ｉ２Ｃ）バス、シリアルペリフェラルインタフェース（ＳＰＩ）バス、セキュアデジタル（ＳＤ）メモリインタフェース、マルチメディアカード（ＭＭＣ）メモリインタフェース、メモリスティック（ＭＳ）メモリインタフェース、セキュアデジタル入出力（ＳＤＩＯ）インタフェース、マルチチャネルバッファードシリアルポート（ＭｃＢＳＰ）バス、ユニバーサルシリアルバス（ＵＳＢ）バス、Ｇｅｎｅｒａｌ  Ｐｕｒｐｏｓｅ  Ｍｅｍｏｒｙ  Ｃｏｎｔｒｏｌｌｅｒ（ＧＰＭＣ）バス、ＳＤＲＡＭコントローラ（ＳＤＲＣ）バス、汎用入出力（ＧＰＩＯ）バス、Ｓｅｐａｒａｔｅ  Ｖｉｄｅｏ（Ｓ−Ｖｉｄｅｏ）バス、ディスプレイシリアルインタフェース（ＤＳＩ）バス、Ａｄｖａｎｃｅｄ  Ｍｉｃｒｏｃｏｎｔｒｏｌｌｅｒ  Ｂｕｓ  Ａｒｃｈｉｔｅｃｔｕｒｅ（ＡＭＢＡ）バス、または別の適切なバス、またはこれらのうち２以上の組み合わせがあり得る。さらに、コンピューティングプラットフォーム７０２は、電源７３２によって電力を供給されてよい。
【００４５】
本開示は、任意の適切なストレージを実装する１または複数のコンピュータ可読記憶媒体を企図する。特定の実施形態では、コンピュータ可読記憶媒体は、必要に応じて、プロセッサ６０２の１つもしくは複数の部分（たとえば、１または複数の内部レジスタまたは内部キャッシュなど）、メモリ６０４の１つもしくは複数の部分、ストレージ６０６の１つもしくは複数の部分、またはこれらの組み合わせを実装する。特定の実施形態では、コンピュータ可読記憶媒体は、ＲＡＭまたはＲＯＭを実装する。特定の実施形態では、コンピュータ可読記憶媒体は、揮発性メモリまたは永続性メモリを実装する。特定の実施形態
では、１または複数のコンピュータ可読記憶媒体は、ソフトウェアを実施する。本明細書では、ソフトウェアに言及する場合、必要に応じて、１または複数のアプリケーション、バイトコード、１または複数のコンピュータプログラム、１または複数の実行ファイル、１または複数の命令、論理、機械コード、１または複数のスクリプト、またはソースコードを包含することができ、その逆も同様である。特定の実施形態では、ソフトウェアは、１または複数のアプリケーションプログラミングインタフェース（ＡＰＩ）を含む。本開示は、任意の適切なプログラミング言語またはプログラミング言語の組み合わせで記述または表された任意の適切なソフトウェアを企図する。特定の実施形態では、ソフトウェアは、ソースコードまたはオブジェクトコードとして表される。特定の実施形態では、ソフトウェアは、たとえば、Ｃ、Ｐｅｒｌ、ＪａｖａＳｃｒｉｐｔ、またはそれらの適切な拡張機能などのハイレベルプログラミング言語で表される。特定の実施形態では、ソフトウェアは、アセンブリ言語（または機械コード）などのローレベルプログラミング言語で表される。特定の実施形態では、ソフトウェアはＪＡＶＡで表される。特定の実施形態では、ソフトウェアは、ハイパーテキストマークアップ言語（ＨＴＭＬ）、拡張マークアップ言語（ＸＭＬ）、または他の適切なマークアップ言語で表される。
【００４６】
本明細書では、「または（もしくは）」は、別段の指示がない限り、または文脈によって指示されない限り、排他的ではなく包含的である。したがって、本明細書では、「ＡまたはＢ」は、別段の指示がない限り、または文脈によって指示されない限り、「Ａ、Ｂ、または両方」を意味する。さらに、「および」は、別段の指示がない限り、または文脈によって指示されない限り、共同かつ別個である。したがって、本明細書では、「ＡおよびＢ」は、別段の指示がない限り、または文脈によって指示されない限り、「共同でまたは別個にＡおよびＢ」を意味する。
【００４７】
本開示は、本明細書における例示的な実施形態に対して当業者であれば理解されるであろうあらゆる変更、置換、変形、改変、および修正を包含する。さらに、本開示は、本明細書のそれぞれの実施形態を特定の構成要素、要素、機能、動作、または工程を含むと説明し図示しているが、これらの実施形態のいずれも、本明細書において、当業者であれば理解されるであろうと記載されまたは図示される、構成要素、要素、機能、動作、または工程のいずれかの任意の組み合わせまたは順列を含んでよい。さらに、添付の特許請求の範囲において、特定の機能を実行するように適合された、構成された、可能である、構成された、可能にする、または動作可能である装置またはシステムまたは装置もしくはシステムの構成要素に言及する場合、その装置、システム、または構成要素がそのように適合されている、配置されている、可能である、構成される、可能にされている、または動作可能である限り、その装置、システム、構成要素またはその特定の機能が起動されていてもいなくても、有効にされていてもいなくても、または無効にされていてもいなくても、これらを包含する。
【図１】
2015222974.tif 000003
【図２】
2015222974.tif 000004
【図３】
2015222974.tif 000005
【図４】
2015222974.tif 000006
【図４Ａ】
2015222974.tif 000007
【図４Ｂ】
2015222974.tif 000008
【図５】
2015222974.tif 000009
【図６】
2015222974.tif 000010
【図７】
2015222974.tif 000011