モバイルネットワークにおけるユーザの特定及び位置探索
【課題】通信ネットワークに接続されたモバイル機器を持っていて、かつユーザアカウントに関連付けられている「友達」を探すシステムおよび方法を提供する。
【解決手段】モバイル機器の位置探索のために、要求をモバイル機器に送信する工程と、モバイル機器が自身の地理的位置を測定する工程と、この情報とともに要求者に応答する工程とを含む。この情報はGPS位置のような座標位置の形式であってもよいし、モバイル機器の所有者が特定の領域に割り当てた名前(例えば「自宅」)の形式であってもよい。この位置情報を有することで、ユーザはモバイル機器に関連付けた友達の位置を見る。
【解決手段】モバイル機器の位置探索のために、要求をモバイル機器に送信する工程と、モバイル機器が自身の地理的位置を測定する工程と、この情報とともに要求者に応答する工程とを含む。この情報はGPS位置のような座標位置の形式であってもよいし、モバイル機器の所有者が特定の領域に割り当てた名前(例えば「自宅」)の形式であってもよい。この位置情報を有することで、ユーザはモバイル機器に関連付けた友達の位置を見る。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、携帯電話機やメディアプレーヤのようなモバイル機器との遠隔的な通信に関し、特には、1つ以上のリモートコマンドの送信を通じて、モバイル機器に機能を実行させることに関する。
【背景技術】
【0002】
モバイル機器は、コンピューティング、通信、およびエンターテインメントを含む様々な用途に適応されてきている。近年の改良により、モバイル機器は、内蔵GPS(global position system)アンテナを用いたり、位置が固定されたセルラアンテナを通じて受信する信号から自身の位置を推定したりすることにより、自身の地理的な位置を測定できるようになっている。そのため、ユーザは自分がいる場所を測定するためにモバイル機器を用いることができる。
【0003】
モバイル機器のユーザは、友達や家族が自分のいる場所を知らせたいと思うかもしれない。また同様に、ユーザは友達や家族のいる場所を知りたいと思うかもしれない。いくつかの既知のシステムがそのようなサービスを提供している。しかし、そのようなサービスの問題の1つは、位置の測定に多くの電力を消費しうることである。この問題は特にGPS機器を用いる場合に顕著である。
【0004】
電池寿命とモバイル機器性能のバランスを取ることは、モバイル機器メーカの重要な関心事であり、また、位置情報を用いる(location-aware)プログラムはこれら関心事の大きな部分を占める。特に、GPS機器に頻繁に要求を行うアプリケーションは多くの電力を消費する。そのようなアプリケーションにはマッピングプログラムおよび、FOURSQUAREおよびGOOGLE LATITUDEのような位置情報を用いるソーシャルアプリケーションが含まれる。このようなソーシャルアプリケーションは、自分のいる場所を、認証された友達が友達のモバイル機器で見ることができるよう、自分のいる場所をサーバと共有することを可能にする。このようなサービスは、ユーザのモバイル機器で稼動するアプリケーションに、周期的にGPS機器を起動させ、ユーザの位置を把握してサーバを更新することを要求するものが多い。このようなGPS機器の反復利用は、モバイル機器の電池寿命を大幅に減少させる。
【発明の概要】
【0005】
本発明のさらなる特徴及び利点は以下の記述によって説明され、また一部は記述から自明であるか、ここに開示される原理を実施することによって知ることができるであろう。発明の特徴及び利点は、添付した特許請求の範囲において特に示される装置及び組み合わせによって実現され、また手に入れることが可能である。本発明のこれらの特徴及び他の特徴は、以下の説明および添付した特許請求の範囲からより完全に明らかになるか、ここで説明される原理の実施を通じて知ることができる。
【0006】
通信ネットワークに接続された1つ以上のモバイル機器の位置を測定するためのシステム、方法、及び恒久的なコンピュータ可読記憶媒体が開示される。本技術は、ユーザが、位置情報の共有を許可している他のユーザの位置を知ることを可能にするシステムを提供する。好適な一実施形態においてユーザは、友達の位置を記述した情報の受信許可をユーザが友達に要求することを可能にするアプリケーションを起動することができる。このアプリケーションは、ユーザに自分の位置情報を見ることを許可している友達の一覧表示が可能である。
【0007】
1人以上の友達の位置を見ることをユーザが希望する場合、アプリケーションは、システムサーバから各友達に、あるいは選択された複数の友達に、位置情報を要求することができる。サーバは、アプリケーションが詳細な位置情報と大まかな位置情報のどちらを要求しているかを判別するため、要求を受信し、解釈する。例えば、アプリケーションが全ての友達について位置情報を要求しているとすると、その要求は大まかな情報のみについての要求と解釈されるであろう。その代表的な理由は、全ての友達をコンピュータ画面上に表示するには大まかな位置で十分だからである。しかし、アプリケーションが特定の友達に関する更新された大まかな情報を最近受信済みであるにも関わらず、同じ友達について追加の位置情報を要求している場合には、そのアプリケーションが詳細な位置情報を必要としている可能性が高い。
【0008】
詳細な位置情報と大まかな位置情報との差異は、位置情報の許容変動の閾値だけでなく、更新された位置情報をサーバが受信してからの経過時間および友達の機器で正確な位置情報を知るために必要な電力にも基づく。例えば、詳細な位置情報は±3mの精度を必要とし、現在の技術では、そのような精度はほとんどの場合GPS機器を用いることで実現される。さらに、詳細な位置情報は1分以下の期間についてだけ、正確であると見なされる。それに対し、大まかな位置情報は都市レベルの精度(例えば±1km)のみを必要とし、15分以上に渡って有用と見なされる。
【0009】
友達の位置探索要求は中央サーバによって処理される。サーバは要求を受信すると、要求を友達の機器に転送し、応答を待つ。あるいは、サーバは友達の機器と通信することなく要求に応答してもよい。例えば、サーバは友達の機器の位置情報をキャッシュしておいてもよい。位置情報は所定の精度かつ所定の期間でのみ有用なので、サーバは要求を友達の機器に送信する代わりにキャッシュされた位置情報を送信する前に、キャッシュされた情報を要求および/または予め定められた制約事項と比較してよい。
【0010】
本発明の上述した利点および特徴ならびに他の利点および特徴を得るための方法を説明するため、簡単に説明済みの原理のより具体的な説明を、添付図面に記載される特定の実施形態に関して行う。これら図面が単に例示的な実施形態を図示するものであり、従って本発明の範囲を限定するものと解されるべきでないことを踏まえ、添付図面を用いてより具体的かつ詳細に本発明の原理を記述および説明する。
【図面の簡単な説明】
【0011】
【図1】例示的なシステムの実施形態を示す図である。
【図2】例示的なコンピューティング環境を示す図である。
【図3a】モバイル機器の位置探索のための例示的な手順を説明するフローチャートである。
【図3b】モバイル機器の位置探索のための例示的な手順を説明するフローチャートである。
【図4】モバイル機器を位置探索し、位置情報を更新するための例示的な手順を説明するフローチャートである。
【図5】モバイル機器ユーザに位置情報を共有するために招待状を送信するための例示的な手順を説明するフローチャートである。
【図6】ユーザがどのように友達を位置探索しうるのかを図示する例示的なユーザインタフェースの図である。
【図7】ユーザがどのように友達を位置探索しうるのかを図示する例示的なユーザインタフェースの図である。
【図8】ユーザがどのように友達を位置探索しうるのかを図示する例示的なユーザインタフェースの図である。
【図9】ユーザがどのように友達を位置探索しうるのかを図示する例示的なユーザインタフェースの図である。
【図10】ユーザがどのように友達を位置探索しうるのかを図示する例示的なユーザインタフェースの図である。
【図11】ユーザがどのように友達を位置探索しうるのかを図示する例示的なユーザインタフェースの図である。
【図12】ユーザがどのように友達を位置探索しうるのかを図示する例示的なユーザインタフェースの図である。
【図13】位置探索される友達に対してユーザがどのように招待状を送信しうるのかを図示する例示的なユーザインタフェースの図である。
【図14】位置探索される友達に対してユーザがどのように招待状を送信しうるのかを図示する例示的なユーザインタフェースの図である。
【図15】位置探索される友達に対してユーザがどのように招待状を送信しうるのかを図示する例示的なユーザインタフェースの図である。
【図16】ユーザがどのように位置探索の招待状を受信し、応答しうるかを示す例示的なユーザインタフェースの図である。
【図17】ユーザがどのように位置探索の招待状を受信し、応答しうるかを示す例示的なユーザインタフェースの図である。
【図18】ユーザがどのように自身の位置情報を変更しうるのかを図示する例示的なユーザインタフェースの図である。
【図19】ユーザがどのように自身の位置情報を変更しうるのかを図示する例示的なユーザインタフェースの図である。
【図20】ユーザがどのように自身の位置情報を変更しうるのかを図示する例示的なユーザインタフェースの図である。
【図21】有効期限まで位置情報を共有するための招待状がどのように生成され、また表示されるのかを図示する例示的なユーザインタフェースの図である。
【図22】有効期限まで位置情報を共有するための招待状がどのように生成され、また表示されるのかを図示する例示的なユーザインタフェースの図である。
【図23】有効期限まで位置情報を共有するための招待状がどのように生成され、また表示されるのかを図示する例示的なユーザインタフェースの図である。
【図24】有効期限まで位置情報を共有するための招待状がどのように生成され、また表示されるのかを図示する例示的なユーザインタフェースの図である。
【発明を実施するための形態】
【0012】
以下、本発明の様々な実施形態について詳細に検討する。特定の実施について検討するが、それは説明のみを目的としたものであることを理解すべきである。関連技術分野に属する当業者は、本発明の精神及び範囲を超えることなく他の構成要素や機器構成を用いうることを理解するであろう。
【0013】
本発明は、本技術分野における、ユーザのモバイル機器の位置情報を送信するとともに、友達および家族が有するそれぞれのモバイル機器を通じて、友達および家族を位置探索するための仕組みに対する必要性を解決する。モバイル機器に、現在の位置を測定して要求者に報告させるコマンドを送信することにより、モバイル機器を位置探索するシステム、方法、および恒久的コンピュータ可読媒体が開示される。本発明のコンセプトを実施するために適用可能な、図1に示す汎用的なシステムまたはコンピュータ機器をまず簡単に説明する。その後、方法およびシステムのより詳細な説明を行う。
【0014】
図1を参照すると、汎用コンピュータ機器100を含む例示的なシステム100は、処理ユニット(CPUまたはプロセッサ)120と、読み出し専用メモリ(ROM)140およびランダムアクセスメモリ150のようなシステムメモリ130を含む様々なシステム構成部品をプロセッサ120と接続するシステムバス110とを含んでいる。システム100は、直接接続された、近接した、あるいはプロセッサ120の一部として統合された高速メモリのキャッシュ122を含むことができる。システム100はメモリ130および/または記憶装置160からキャッシュ122へ、プロセッサ120による高速アクセスのためにデータをコピーする。このようにして、キャッシュ122はデータ待ち時間によりプロセッサ120の動作が遅くなることを回避し、性能を向上させている。これらの、また他のモジュールは、プロセッサ120が様々な動作を実行するよう、プロセッサ120を制御可能であるか、プロセッサ120を制御するように構成されてよい。他のシステムメモリ130もまた同様に利用可能であってよい。メモリ130は、異なる性能特性を有する複数の異なるタイプのメモリを含んでよい。本発明は複数のプロセッサ120を有するコンピュータ機器100や、より強力な処理性能を提供するためにネットワーク化された複数のコンピュータ機器のグループ又はクラスタ上でも実施可能であることは理解されよう。プロセッサ120は、任意の汎用プロセッサおよび、プロセッサ120を制御するように構成されたハードウェアモジュールまたは記憶装置160に記憶されたモジュール1 162、モジュール2 164、およびモジュール3 166のようなソフトウェアモジュールや、実際のプロセッサ設計にソフトウェア命令が統合された特定用途向けプロセッサを含むことができる。プロセッサ120は本質的に、複数のコアまたはプロセッサ、バス、メモリコントローラ、キャッシュなどを含む、完全内蔵型のコンピュータシステムであってよい。マルチコアプロセッサは対象型でも非対称型であってもよい。
【0015】
システムバス110は、様々なバスアーキテクチャのいずれかを用いるメモリバスまたはメモリコントローラ、周辺バス、およびローカルバスを含むバス構成の任意のタイプであってよい。ROM140などに保存される基本入力/出力(BIOS)は、起動中などにコンピュータ機器100内の要素間で情報を転送するのを支援する基本ルーチンを提供する。コンピュータ機器100はさらに、ハードディスクドライブ、磁気ディスクドライブ、光学ディスクドライブ、テープドライブなどの記憶装置160を含む。記憶装置160はプロセッサ120を制御するためのソフトウェアモジュール162,164,166を含むことができる。他のハードウェア又はソフトウェアモジュールがあってもよい。記憶装置160はドライブインタフェースによってシステムバス110に接続される。ドライブおよび関連するコンピュータ可読記憶媒体は、コンピュータ機器100用のコンピュータ可読命令、データ構造、プログラムモジュールおよび他のデータの不揮発性記憶を提供する。一見地において、特定の機能を実行するハードウェアモジュールは、恒久的コンピュータ可読媒体に格納されたソフトウェア構成部品と、プロセッサ120、バス110、出力機器170などの、機能を実行するのに必要なハードウェア部品とを含む。
【0016】
基本的な構成要素は本技術分野における当業者に既知であり、機器100が小型のハンドヘルドコンピュータ機器、デスクトップコンピュータ、およびコンピュータサーバのいずれであるかといった、機器のタイプに応じた適切なバリエーションが考えられる。
【0017】
ここで説明する例示的な実施形態は記憶装置160を用いているが、本技術分野の当業者が理解するように、コンピュータがアクセス可能な、データを保存可能な他のタイプのコンピュータ可読媒体を例示的な動作環境で用いてもよい。このような他のタイプのコンピュータ可読媒体には、磁気カセット、フラッシュメモリ(登録商標)カード、DVD、カートリッジ、ランダムアクセスメモリ(RAM)150、読み出し専用メモリ(ROM)140、ビットストリームなどを含んだ有線又は無線信号などがある。恒久的コンピュータ可読媒体は、エネルギー、搬送信号、電磁波、および信号それ自体を明示的に除外する。
【0018】
コンピュータ機器100とのユーザインタラクションを可能にするため、入力機器190は、音声入力用のマイク、ジェスチャまたはグラフィカル入力用のタッチパネル、キーボード、マウス、動きによる入力、音声といった任意数の入力機構を代表している。出力機器170は、本技術分野の当業者に既知な複数の出力機構の1つ以上であってよい。ある形態においては、マルチモーダルシステムが、コンピュータ機器100と通信するためにユーザが複数のタイプの入力を提供することを可能にする。通信インタフェース180は一般にユーザ入力およびシステム出力を統制および管理する。任意のハードウェア構成上で動作可能であり、従って基本的な機能は、進歩に応じてよりよいハードウェアまたはファームウェア構成と容易に置換可能である。
【0019】
説明の明瞭さのために、「プロセッサ」またはプロセッサ120とラベルが付された機能ブロックを含む、個別的な機能ブロックを含むものとして具体的なシステム実施形態を表した。これらブロックが表す機能は、例えば、ソフトウェアを実行可能なハードウェアおよび、汎用プロセッサ上で稼動するソフトウェアと同等に動作するように製造されたプロセッサ120のようなハードウェアを含む、共有または専用ハードウェアの使用を通じて提供されてもよい。例えば、図1に示される1つ以上のプロセッサの機能は、1つの共用プロセッサまたは複数のプロセッサによって提供されてよい。(用語「プロセッサ」の使用は、ソフトウェアを実行可能なハードウェアのみを指すものとして解されるべきではない。)例示的な実施形態は、マイクロプロセッサおよび/またはデジタルシグナルプロセッサ(DSP)ハードウェア、以下に説明する動作を実行するソフトウェアを格納するための読み出し専用メモリ(ROM)140、および結果を格納するためのランダムアクセスメモリ(RAM)150を含んでよい。大規模集積(VLSI)ハードウェア実施形態ならびにカスタムVLSI回路と汎用DSP回路との組み合わせもまた提供されてよい。
【0020】
様々な実施形態の論理的な動作は、以下のものとして実装される。(1)汎用コンピュータ内のプログラム可能な回路で稼動する、コンピュータによって実施される工程、動作、または手順のシーケンス、(2)特定用途向けのプログラム可能な回路上で稼働する、コンピュータによって実施される工程、動作、または手順のシーケンス、および/または(3)プログラム可能な回路内部で相互接続された機械モジュール(machine module)またはプログラムエンジン。図1に示すシステム100は、説明される方法の少なくとも一部を実行可能であり、説明されるシステムの一部であってよく、および/または説明される恒久的コンピュータ可読記憶媒体内の命令に従って動作可能である。そのような論理動作は、モジュールのプログラミングに従って特定の機能を実行するようにプロセッサ120を制御するように構成されたモジュールとして実施することができる。例えば、図1は、プロセッサ120を制御するように構成された3つのモジュールMod1 162、Mod2 164、およびMod3 166を示している。これらのモジュールは記憶装置160に格納され、実行時にRAM150またはメモリ130に読み込まれるか、本技術分野で既知であろう他のコンピュータ可読メモリ位置に格納されてよい。
【0021】
コンピュータシステムの構成要素のいくつかを説明したため、図2に移る。図2は、汎用モバイルコンピューティング環境200を示している。通信ネットワーク210はコンピューティング環境200内で提供される機器およびアプリケーションを接続する。このコンピューティング環境200では、様々な機器が様々な方法で互いに通信したりコマンドを送信したりすることができる。例えばサーバ230は、コンピュータ220、モバイル機器240、およびモバイル機器245といった2つ以上のユーザ機器間の中継物(intermediary)として機能してよい。サーバ230はあるユーザ機器から送信されたメッセージを他のユーザ機器に渡してよい。例えば、サーバ230は機器240(「要求機器」)から、他の機器245(「被要求機器」)を位置探索するための要求を受信してよい。そのような要求に応答して(要求が被要求機器のユーザによって許可されたものであることを保証するため、好ましくは適切な認証および承認の手順が行われた後で)、サーバ230は要求を被要求機器245に送信し、被要求機器245の位置に関する情報を含んだ応答を受信することができる。被要求機器245はこの位置情報を、例えばGPS衛星260から自身が受信した信号に基づいて取得しておくことができる。応答を受信すると、サーバ230はその情報を要求機器240に送信してよい。あるいは、サーバ230はキャッシュされた被要求機器245に関する最近の位置情報を有するため、要求を被要求機器245に送信しない。そのような実施形態においてサーバ230は、被要求機器245とは通信せずに、キャッシュされた位置情報を要求機器240に送信することにより要求に応答してもよい。
【0022】
機器220、240、および245は、それらで稼動する、1つ以上の位置情報利用アプリケーションを有する事が好ましい。これらのアプリケーションのうちいくつかは、要求ユーザが友達の機器の位置を探索できるよう、他のユーザ機器に要求を送信する機能を有する。位置探索の承認を受信すると、要求機器は位置要求を被要求機器に送信し、その後、被要求機器の位置を含んだ応答を受信することが可能になる。承認はサーバレベルで管理されることが好ましいが、さらに、あるいはその代わりに、機器レベルでも管理されてよい。
【0023】
図2に戻って、通信ネットワーク210は、イントラネットのようなローカルエリアネットワーク(LAN)、インターネットのような広域ネットワーク(WAN)、またはそれらの組み合わせを含む、任意のタイプのネットワークであってよい。さらに、通信ネットワーク210は公衆網、プライベート網、またはそれらの組み合わせであってよい。通信ネットワークはまた、任意の1以上のタイプの物理媒体の利用を通じて実施されてもよい。物理媒体は、1つ以上のサービスプロバイダに関連する有線通信経路および無線通信経路を含む。さらに、通信ネットワーク210は様々なプロトコルを用いてフォーマットされたメッセージの送信を支援するように構成されてよい。
【0024】
ユーザ局220のようなユーザ機器は、コンピュータ環境200で動作するように構成されてよい。ユーザ局220は、ウェブブラウザのような、ウェブの取扱いが可能なアプリケーションと通信するように構成可能な任意の汎用コンピューティング機器であってよい。例えば、ユーザ局220はデスクトップコンピュータ、ワークステーション、ラップトップコンピュータや、スマートフォン、ポストPC機器といったポータブルコンピュータ機器のようなパーソナルコンピュータ機器であってよい。ユーザ局220は、図1のコンピュータ機器100の機能、構成部品および周辺機器の一部または全てを含んでよい。
【0025】
ユーザ局220はさらに、通信ネットワーク210へのネットワーク接続を含んでもよい。ネットワーク接続は有線又は無線インタフェースを通じて実現することができ、またユーザ局220および他の1つ以上のコンピュータ機器との間の通信ネットワークを通じた双方向通信をサポートすることができる。
【0026】
アプリケーションサーバ230はさらに、コンピューティング環境200で動作するように構成されてもよい。アプリケーションサーバ230は、1つ以上のアプリケーションを提供するように構成可能な任意のコンピュータ機器であってよい。例えば、アプリケーションサーバ230はサーバ、ワークステーション、またはパーソナルコンピュータであってよい。アプリケーションサーバ230は、例えば1つ以上の場所に設置された複数のコンピュータ機器の一群、例えば複数のサーバ、として構成されてもよい。アプリケーションサーバ230は、図1のコンピュータ機器100の機能、構成部品および周辺機器の一部または全てを含んでよい。
【0027】
アプリケーションサーバ230はさらに、通信ネットワーク210へのネットワーク接続を含んでもよい。ネットワーク接続は有線又は無線インタフェースを通じて実現することができ、またアプリケーションサーバ230および他の1つ以上のコンピュータ機器との間の通信ネットワークを通じた双方向通信をサポートすることができる。さらに、アプリケーションサーバ230は1つ以上のアプリケーションを提供するように構成可能である。例えば、アプリケーションサーバ230は、ネットワークに接続された1つ以上のモバイル機器との通信を容易にするリモート管理アプリケーションを提供するように構成されてよい。モバイル機器240、245およびアプリケーションサーバ230は、リモート管理機能を実行するため、リモート管理フレームワーク内で動作してもよい。アプリケーションサーバ230は、コンピューティングシステム200に含まれる複数の通信機器間の、ネットワーク210を通じた双方向通信をサポートするように構成された通知サービスを提供するように構成されてよい。例えば、通知サービスアプリケーションは、複数のコンピュータ機器によって様々なメッセージが送受信されることを許可することができる。
【0028】
通知サービスは、ユニークコマンドコレクショントピックが加入モバイル機器の各々に対して生成されてよい、規定された名前空間を含むことができる。加入モバイル機器を対応するコマンドコレクショントピックと関連付けるために、割り当てられた番号やアドレスのような固有識別子を用いることができる。固有識別子はまた、加入されたコマンドコレクショントピックに関連付けられたURI(Uniform Resource Identifier)内に埋め込まれてもよい。さらに、各コマンドノードが特定の利モードコマンドタイプに対応するように、コマンドコレクショントピックの下に1つ以上のコマンドノードを生成してもよい。例えば、コマンドコレクショントピックは、位置探索コマンド用の個別コマンドノードを含むことができる。
【0029】
個別コマンドノードの利用を通じ、1つ以上のモバイル機器に対して実質的に同時に複数のコマンドを送信する事ができる。あるコマンドコレクショントピックで複数のコマンドが受信された場合、実行順序を決定するためにサーバタイムスタンプを比較してもよい。
【0030】
通知サービスを通じ、遠隔管理アプリケーションのような発行者は、特定のモバイル機器に関連付けられたコマンドコレクショントピックにリモートコマンドメッセージを発行することができる。リモートコマンドメッセージがコマンドコレクショントピックに発行されると、1つ以上の加入モバイル機器へ通知メッセージを送信することができる。そして、モバイル機器は、加入しているトピックにアクセスし、1つ以上の発行されたメッセージを読み出す。この、発行者とモバイル機器との間の通信は、分離されてもよい。さらに、リモートコマンドメッセージは、コマンドコレクショントピックの適切なコマンドノードに発行されてもよい。また、リモートコマンドメッセージを受信するモバイル機器は、通知サービスが提供する結果トピックに応答を発行することができる。遠隔管理アプリケーションのような発行者は、結果トピックを購読したり、発行された応答メッセージを受信したりすることができる。
【0031】
さらに、コンピューティング環境200は、モバイル機器240およびモバイル機器245のような1つ以上のモバイル機器を含んでよい。これらのモバイル機器は好ましくはアップル社製のiPhone(登録商標)のようなスマートフォンまたはアップル社製のiPad(登録商標)のようなポストPCデバイスである。コンピューティング環境200に含まれるモバイル機器の各々は、通信ネットワーク210へのコネクションを確立するように構成されたネットワークインタフェースを含んでよい。例えば、モバイル機器240は、通信ネットワーク210へのデータアクセスを提供するセルラ(例えばGSM, EDGE, 3G,または4G)ネットワークコネクションを確立することができる。モバイル機器240および245の範囲内に設けられ、ネットワーク210に接続された1つ以上の基地局250によって、このようなコネクションの確立を容易にすることができる。さらに、モバイル機器245は通信ネットワーク210へのIEE802.11(すなわち、WiFiまたはWLAN)ネットワークコネクションを確立することができる。モバイル機器240および245の範囲内に設けられ、ネットワーク210に接続された1つ以上の無線ネットワークルータ255により、このようなコネクションの確立を容易にすることができる。さらに、これらモバイル機器240,245または他の機器のいずれかが、IEEE802.16(すなわち、無線ブロードバンドまたはWiBB)規格に基づいてネットワーク210に接続してもよい。繰り返すが、モバイル機器240,245は、基地局250や無線ルータ255の助けを借りて、通信ネットワーク210に接続してもよい。
【0032】
さらに、モバイル機器240および245の各々は、メッセージを発行したり受信したりするために、アプリケーションサーバ230が提供する通知サービスアプリケーションと通信するように構成されてもよい。また、モバイル機器240および245の各々は、通知サービスアプリケーションを通じて受信したリモートコマンドに応じて、遠隔管理アプリケーションや遠隔管理機能を実行するように構成されてもよい。一部の実施形態において遠隔管理アプリケーションは、モバイル機器のオペレーティングシステムに組み込まれてもよい。
【0033】
モバイル機器は1つ以上の関連付けられた機能を実行するため、リモートコマンドを実行することができる。例えば、リモートコマンドは位置探索コマンド、通知コマンド、およびメッセージコマンドを含んでよい。メッセージコマンドはテキストベースのメッセージをモバイル機器のディスプレイに提示するために使用することができる。位置探索コマンドは、位置探索コマンド実行時のモバイル機器の位置を示すメッセージをモバイル機器に送信させるために使用することができる。位置探索コマンドはさらに、自身の位置を測定するために、内蔵GPSシステムのような所定のリソースを使用するようにモバイル機器に命令してもよい。
【0034】
加えて、モバイル機器240および245の各々は、1つ以上の入力を受信可能な入力インタフェースを含んでよい。例えば入力インタフェースは、キーボード、マウス、ジョイスティック、トラックボール、タッチパッド、キーパッド、タッチスクリーン、スクロールホイール、汎用および特定用途ボタン、スタイラス、ビデオカメラ、およびマイクの1つ以上を含んでよい。モバイル機器240および245の各々は、1つ以上のディスプレイ、1つ以上のスピーカ、および触覚インタフェースを含む、出力を提示することの可能な出力インタフェースを含むことができる。さらに、位置情報(例えば現在位置の表示)を取得するための、GPS衛星260から送信される信号を、受信および処理するために、GPS(Global Positioning System)プロセッサのような位置探索インタフェースが、モバイル機器240および245の1つ以上に含まれていてもよい。モバイル機器240および245の1つ以上に含まれている汎用または特定用途プロセッサが、基地局三角測量やビデオインタフェースを通じた固定地上物の認識などを通じて位置の推定を行うように構成されてもよい。
【0035】
基本的なシステム構成要素およびそのコンセプトについて説明した。次に、図3aおよび図3bに示す例示的な方法の実施形態300aおよび300bについて説明する。簡潔さのために、方法を実施するように構成された図1に示した例示的なシステムおよび図2に示した動作環境に関して方法を説明する。ここで概要を述べる工程は例示的なものであり、所定の工程の除外、追加、または変更を行う組み合わせを含む、工程の任意の組み合わせにおいて実施することができる。
【0036】
図3aは、図2における通信ネットワーク210のような通信ネットワークに接続された、図2におけるモバイル機器240および245のような1つ以上のモバイル機器(被要求機器)の位置探索のために、要求機器による要求を処理するサーバが実行する例示的な処理を示すフローチャートである。この処理は図2におけるアプリケーションサーバ230のようなサーバによって実行することができる。
【0037】
好適な実施形態において、サーバ230は1つ以上のサービスのメンバーに関するデータを維持する。維持されるデータは、例えば、メンバーのユーザ名および他の個人的な識別情報、メンバーの電話機に関する固有識別情報、およびそのメンバーに自分の位置情報を共有することを許可することを選択している他のメンバーの識別情報のような、各メンバーに関する所定の識別情報を含んでよい。この情報はまた、各メンバーの最近の位置情報を含んでもよい。この位置情報は、メンバーのモバイル機器上の所定のアプリケーション/プロセスによって、および/または要求機器の要求により、更新されてよい。例えば、モバイル機器の位置を測定するため、ユーザによって地図サービスや他の位置情報利用アプリケーションのようなモバイル機器上のアプリケーションが要求されうる。そして、そのような測定が行われる度に、モバイル機器はその情報をアプリケーションサーバに提供することができる。そして、サーバはこの情報を、モバイル機器の位置を表していると見なされる期間(例えば15分以下といった期間)、記憶装置335aに保持することができる。
【0038】
好適な実施形態において、ユーザ/要求者は、自身のコンピュータまたはモバイル機器上のアプリケーションであって、実行時に、自分の位置情報を要求者と共有することに同意したメンバー(要求者の「友達」)の機器全てに対して1つ以上の位置探索要求を開始するアプリケーションを有してよい。このような実施形態において、アプリケーションはまずユーザ/要求者に、全ての友達の位置を地図上もしくはリストで提示することができる。位置探索要求310aは、図2におけるアプリケーションサーバ230のようなサーバによって、処理のために受信されてよい。
【0039】
位置探索要求を要求ユーザのモバイル機器301aから受信すると、サーバはまず、335aにキャッシュされている位置データで応答してもよい。上述の通り、好ましい実施形態では、アプリケーションサーバが、最近の位置情報を含む、サービスのメンバーに関する情報を維持および/またはキャッシュすることができる。位置情報の更新は、古い位置情報への上書きであることが好ましい。従って、サーバはまずステップ315aで、最近の位置情報を有しているかどうかを判定する。上述したように、サーバは自身が維持する位置情報に対して設定された「年齢(time of life)」を有してよい。有している位置情報が最近のものであると判定された場合、ステップ330aでサーバは既知の最新位置を記憶装置335aから読み出す。ここでも、人物が外出している場合などにおいては、直近の位置情報だけが有意であろう。そのため、実施形態によっては、機器の最近の位置変動の活発さ(location activity)に基づいて情報の年齢を調整してもよい。例えば、機器の所有者が自信の位置を、自宅又は勤務先といったような、通常は所有者が毎日数時間滞在するような場所を指定している場合が含まれる。従って、サーバは、要求されたモバイル機器について自身が有している位置情報が最近のものであると見なされる場合には、その情報をステップ360aで要求機器に提供するであろう。
【0040】
サーバはさらに、この位置情報を比較的低い精度レベルで維持することが好ましい。その理由は、位置が短時間しか有意であると見なされない理由と似ている。位置情報が正確であるほど、その特定位置から人物が移動している可能性は高くなり、その結果位置は不正確になる。従って、最近の位置情報を低めの精度レベルで保持することにより、位置が依然として正しい可能性を高めることができ、ユーザ機器と通信する必要が無くなる。
【0041】
あるいは、サーバはステップ315aで、被要求機器に関する最近の位置情報を有していないと判定する。その場合サーバはステップ320aで、1つ以上の被要求機器(すなわち、友達に関連付けられた機器)に、位置探索要求を送信する。このステップにおいてサーバは、位置探索要求メッセージを被要求機器の各々に送信する。サーバが送信するメッセージは、被要求機器に、自身の現在位置情報を取得し、取得した現在位置情報を応答メッセージの形式でサーバに返送するように命令する効果を有しさえすれば、どのような形式であってもよい。別の実施形態では、サーバは位置探索要求メッセージを、被要求機器に関する最近の位置情報を継続的に保持しているセルラネットワークシステムにのみ送信する。このような位置情報は例えば、被要求機器に最も近いと思われるセルサイトの座標を含んでよい。
【0042】
ステップ320aで要求を送信してしばらくすると、サーバはステップ340aで応答を受信する。例えば被要求機器の位置およびネットワークトラフィックに応じて、応答の到着はいかなる順序にもなりうるし、応答までに要する時間も様々である。機器からの応答メッセージは、応答機器の位置に関する情報と、その位置が測定された時間とを含むことが好ましい。
【0043】
この位置情報は、上述した方法のいずれかによって測定されてよいが、他の方法を用いて測定されたものであってもよい。位置情報はまた、機器が通信しているセルラ通信ネットワークからのように、間接的に(すなわち、被要求機器から直接的にではなく)取得されてもよい。例えば、モバイル機器に最も近いと特定された基地局から位置情報を取得してもよい。この選択肢は精度が低くなるかもしれないが、より早く応答が得られることが多く、また被要求機器の電池寿命を延ばすことができる。従って、位置情報の精度レベルは変化しうる。そのため、位置情報はさらに精度情報も含んでよい。
【0044】
実施形態によっては、応答機器の所有者が、位置に関連付けられた固有の位置識別子やラベルを入力できてもよい。例えば、ユーザはそのような位置に「自宅」、「勤務先」、または「学校」といったラベルを割り当ててもよい。ユーザのモバイル機器はそのようなラベルと所定の地理的座標とを関連付けることが好ましい。
【0045】
この情報を受信すると、ステップ350aでサーバは、その機器の既知の最新位置を保持する情報が保存された情報335aにあれば、次の要求者が利用できるように更新することが好ましい。
【0046】
応答を被要求機器から受信すると、ステップ360aでサーバは、位置情報を要求機器に送信する。このステップは様々な被要求機器からサーバが受信した応答の各々に対して実行されてもよい。一部の機器に関する位置情報はステップ330aにおいてキャッシュ335aから取得済みかもしれないが、サーバはさらに要求を行い、更新された情報を要求機器に送信してもよい。実施形態によっては、サーバは、最近受信した位置情報を送信することに違いが存在するかどうかを判定するため、最初に要求機器に送信した「既知の位置情報」と、被要求機器から受信したばかりの位置情報とを比較するステップ(不図示)をさらに有してもよい。すなわち、ある実施形態では、被要求機器の位置が変化した場合だけ、位置情報が要求機器に送信されるであろう。そのような実施形態では、通信が必要なデータ量の削減が実現できる。
【0047】
時間精度に加え、サーバは所定の地理的位置精度を有する位置探索要求をどのように処理するかを判定する論理回路を有してもよい。図3bは、所定の精度レベル内で1つ以上のモバイル機器の位置を探索するための要求機器による要求を処理するサーバーによって実行される例示的な処理300bを示すフローチャートである。
【0048】
好適な実施形態において、ステップ310bでサーバは、被要求機器に関する位置情報を所定の許容精度レベル(精度y)で取得する要求を受信する。好適な実施形態において、サーバは通常、記憶装置335bに、機器に関する位置情報を1つの精度レベル(精度x)でのみ保持している。要求の受信後、ステップ315bでサーバは、記憶装置335bに保有している位置情報の精度が、要求機器によって要求された以上か(すなわち、精度x≧精度yかどうか)を判定する。もしそうであれば、精度レベルは許容範囲であると見なされ、ステップ330bでサーバは保持された位置情報を読み出し、ステップ360bで要求機器に送信する。
【0049】
しかし、サーバが被要求機器の位置情報の要求を受信した際、要求された精度(精度y)が355bに保存された情報の精度(精度x)より高い(すなわち、精度y>精度x)のがより一般的であろう。精度y>精度xであることがステップ315bで判定されると、サーバはステップ320bで被要求機器に要求を送信する。この要求はいくつかの異なる形式を取りうる。例えば、サーバは、要求精度情報を含んだ要求の内容を単に被要求機器に送信し、(被要求機器のハードウェア、オペレーティングシステムおよびアプリケーションを通じて)その要求に対してどうやって応答するかの決定を被要求機器に任せてもよい。あるいは、サーバは(被要求機器が所定精度のGPSアンテナを有するといったような)被要求機器の能力に関する十分な情報を有しており、送信されるメッセージは、被要求機器が自身のGPSアンテナを用いて位置を測定し、その情報をサーバに送信するためのコマンドである。そして、ステップ340bでサーバは、位置情報を被要求機器から受信する。ここでも、この情報は、サーバが既知の機器情報に応じていくつかの異なる形式を取りうる。例えば、応答は被要求機器から提供される精度情報を含んでもよいし、単に位置および位置を取得した手段を含んでもよい。後者の形式の場合、好ましくは被要求機器の機種の特徴(model feature)を知っているサーバは、被要求機器によって提供される精度を判定してもよい。さらに、サーバによって送信される要求に応じて、手段の情報は応答では提供されず、何が要求されたかと同様にサーバによって暗示されてもよい。位置情報がサーバに受信されると、ステップ350bで、サーバは自身で保存している位置情報335bを更新し、ステップ360bで位置情報を要求機器に送信する。
【0050】
一般に、取り扱われる位置情報の精度は低く、街レベルまたは数マイル内の精度である。上述の通り、そのような情報は、例えば被要求機器が通信中の基地局またはISPの地理的位置を知ることによってサーバが間接的に取得してもよい。セルラ通信ネットワークと通信中の携帯電話機が信号強度が最も強いセルサイトを周期的に探索することは一般的に知られている。多くの場合、最強の信号は、最も距離が短いセルによって測定される。従って、例えば4マイルごとに基地局が存在する領域では、モバイル機器の位置は最も近い基地局から2マイル以内であると推定することができる。より正確なモバイル機器の位置探索方法の1つは、到達時間差(TDOA)の測定によるものであってよい。TDOA方式は、ある移動機無線信号の到達時間差を3つ以上の個別のセルサイトで測定することによる三辺測量に基づいて機能する。このような方法は、セルラネットワークによって供給される特定の機器が利用可能であることに基づくものであり、常に利用可能とは限らないため、代替実施形態に留まる。いずれの場合も、位置/精度判定が、モバイル機器ではなく通信ネットワークで実施されうる。このような低精度情報は、要求機器のユーザが友達の居場所にざっと目を通すことができるよう、サーバから要求機器に最初に送信されることが好ましい。このような低精度情報の取得に関する動作を、ここでは「浅い位置探索」と呼ぶ。
【0051】
低精度(すなわち、精度の高くない)位置探索要求は、単なる概算ではあるが、応答を最速で得ることができ、また被要求機器で必要となるリソースが少ないため、最初に実行されることが好ましい。一方、「深い位置探索要求」は、被要求機器から比較的高い精度(より高い精度)の位置情報を取得するために、要求機器のユーザによって要求されうる。例えば、「深い位置探索要求」は、上述した他の位置探索方法のいくつかよりも高い精度レベルを有するであろう位置情報を取得するために、被要求機器に自身のGPS位置探索リソースを使用するように命令してもよい。GPSのような機器の機能を用いることで精度は向上するであろうが、十分な数のGPS衛星から信号を得て、位置を計算するために必要な時間およびリソースは、より長く、より多くのエネルギーを必要とするであろう。そのため、「深い位置探索要求」オプションは、要求機器のユーザによる特定の要求のために予約しておくことが好ましい。
【0052】
この、「浅い位置探索要求」および「深い位置探索要求」のコンセプトを、モバイル機器のような要求機器の観点から、図4の例示的な方法400でさらに説明する。好適な実施形態において、方法400はモバイル機器でアプリケーションが開始された際にステップ410から開始する。まず、ステップ420で、機器は、ユーザに関連付けられている全ての友達の位置情報を要求する。この初期要求は好ましくは全ての「友達」機器(すなわち、要求者が位置情報を取得することを許可している所有者の機器)に送信される「浅い位置探索要求」である。この要求はサーバに送信され、上述の通り、要求はサーバから被要求機器に渡されるか、サーバにより処理されるか、その両方が行われる。そして、要求機器はステップ430で、自身のユーザの友達の浅い位置を含んだ応答を受信する。応答が受信されたので、要求機器はユーザの友達の位置をステップ440で表示することができる。
【0053】
個人は動き回っていることが多いので、友達の位置情報が時々更新されるようにすることは、要求ユーザにとって価値がある。ステップ450で行われる位置情報の更新又はリフレッシュは、15秒ごとや15分ごとといったような所定間隔で自動的に行われてもよいし、ユーザの要求時に行われてもよいし、その両方であってもよい。これらの予め定められた時間間隔は、全てのユーザに対して共通に適用されてもよいし、個々のユーザの観測された動きの頻度(moment frequency)と、観測された一般的なユーザの動きデータの推測の組み合わせとに基づいて、個々のユーザで異ならせて適用されてもよい(例えば、高速道路を移動中と思われるユーザにたいていはより短い時間間隔を決定する反面、レストランのような場所に「チェックイン」しているユーザに対してはより長い時間間隔を決定する)。方法400に示すように、リフレッシュステップ450は、ユーザの友達全ての浅い位置情報に対する要求を繰り返すように動作する。
【0054】
ユーザの友達全ての浅い位置情報の要求および取得に加え、ユーザは1人以上の友達についてのより詳細な、あるいは「深い」位置情報をステップ460から始まる手順で要求してもよい。好適な実施形態においては、浅い位置探索要求後に提示されている友達をユーザが選択することで、「深い位置探索要求」を実行することができる。この好適な実施形態において、深い位置探索要求はサーバに送信され、サーバは被要求機器に、より詳細な位置情報を提供するよう命令するコマンドを送信する。この要求は、自身の有するGPSシステムから正確な位置情報を取得するように機器に命令することを含んでもよい。ステップ470で応答を受信すると、要求機器は友達の深い位置をステップ480で表示することができる。深い位置の精度もまた要求ユーザに対して表示してもよい。
【0055】
友達に関連付けられた機器の位置情報を取得するための承認をユーザが取得する一方法を図5の方法500に示す。大半の実施形態において、ユーザが友達の位置を特定できるように、ユーザは友達に承認要求を送信しなければならない。ユーザはこれを、ステップ510で、承認を要求する友達の選択により実行することができる。好適な実施形態において、位置探索アプリケーションは、ユーザの友達の情報を維持するため、ユーザの機器上の他のアプリケーションを参照したり用いたりすることができる。機器のユーザが知っている人物の連絡先情報を保存するアドレスブックアプリケーションはその一例である。これらの人物は、友達、家族、仕事上の知り合いや、ユーザが連絡先情報を取得した他の人物を含んでよい。特定の人物がユーザのアドレスブックに存在しない場合、ユーザがその人物の連絡先情報を稼動中のアプリケーションに直接入力することができてもよい。位置探索すべき相手が選択/入力されると、ステップ520で、承認要求が用意され、ユーザの機器から送信される。
【0056】
ユーザから要求を受信すると、要求された人物(例えば「友達」)に、要求の内容および要求を受け入れるか拒否するかを記述したメッセージが提示されることが好ましい。ステップ530で友達が要求を受け入れると、ステップ540で承認応答がその友達の機器から送信される。承認応答を受信すると、サーバは、ユーザが位置探索要求を送信すると、その要求をサーバがステップ550で処理するように、要求ユーザと承諾した友達の少なくとも一方について保持している情報を更新する。さらに、要求が承認されたことをユーザおよび/またはユーザの機器に示すために、サーバは通知を要求ユーザに送信することができる。このようにして、ユーザはその友達に関する位置情報を取得できるようになる。好適な実施形態において、友達はユーザに与えた承認をいかなるときも無効化することができる。それにより、その友達は、自身の位置情報のプライバシのコントロール権を維持することができる。
【0057】
一方、ユーザから位置探索についての認証要求を受信したが、ステップ560で要求を拒否または無視した友達に関する位置情報は取得できない。従って、ユーザがその後その友達の位置探索をステップ570で試みても、機器およびサーバのいずれもその要求を処理しないであろう。要求ユーザおよび機器の観点からすると、そのような友達は、「応答待ち」、「位置探索不能」というステータスを有するものとして表示されるか、または単にリスト表示されない。もちろん、実施形態によっては、ユーザは引き続きその友達に対して他の要求を送信することができてもよい。
【0058】
図6〜20は、本発明の好適な実施形態に係る一連の「スクリーンショット」を、アップル社のiPhone(登録商標)やiPad(登録商標)のようなモバイル機器で見たかのように示している。好適な実施形態はアップル社の製品上に表示されるように記載されているが、位置探索アプリケーションは任意のタイプのモバイル機器、スマートフォン、ポストPC機器、ラップトップコンピュータ、デスクトップコンピュータで用いられてもよいことを当業者は理解するであろう。
【0059】
図6は、ユーザが位置探索アプリケーションを最初に実行した際に提示されるインタフェースウィンドウ600を示している。このウィンドウでユーザは、ユーザがおそらく既に位置探索サービスについて登録済みのアカウントに関する自身のユーザID610およびパスワード620の入力を促される。ユーザIDおよびパスワードの入力後、ユーザは、認証してプログラムを実行するために「サインイン」ボタン630を選択することができる。ユーザがアカウントをまだ登録していない場合、ユーザはボタン640を選択することで登録を行える。
【0060】
図7に示すように、ユーザが最初にログインすると、位置情報を共有する友達を招待するようユーザに促す画面700が提示される。位置共有に友達を招待するため、ユーザは「+」ボタン710をタップして、招待する友達を選択する画面を開くことができる。この動作のより詳細な説明は、図11〜16に関して以下で行う。
【0061】
一方、図8は、位置共有するためのユーザの招待を何人かの友達が承認した後におけるログイン直後に表示される典型的な内容を示している。図8に示すように、友達のリスト800がユーザに示される。友達の情報810の隣に、位置探索状況インジケータ820がある。図8では、機器が友達の機器の全てに位置探索要求を送信済みで、各機器からの応答を待っている状況である。
【0062】
少し時間が経過し、機器がユーザの友達に関する位置情報を受信すると、ディスプレイインタフェース900でユーザに提示される。図9から分かるように、この時点で、友達情報910は友達920の位置、位置情報の精度930、および位置情報の取得時刻940を含むようになっている。位置920はさまざまな方法で提示することができる。例えば、位置情報920はユーザによって選択されたラベルを含む。あるいは、950に示すように、位置情報はユーザがいる街の名前や住所を含んでもよい。さらに、位置要求が失敗した場合、表示900は960のようなメッセージを提示してもよい。
【0063】
図10は、友達の位置情報表示の別の実施形態を示す。図10に示すように、地図インタフェース100が提示される。好ましい実施形態において、地図インタフェース1000の初期の縮尺は、ユーザの友達の全てを1画面で見ることができるように、ユーザの友達のそれぞれについて特定された場所によって決定される。従って、ユーザの友達が互いに数マイル離れて位置する場合、地図インタフェース1000の縮尺は、数マイル(すなわち、街レベル)が示されるように拡大される。一方、ユーザの友達が国中にいたり外国にいたりすれば、地図の縮尺は地図インタフェース1000が数百または数千マイル(すなわち、国(state)レベル)に縮小される。
【0064】
再び図10を参照して、ユーザは友達の位置を地図1000上で提示される。好適な実施形態において、友達の位置はドット1010および1020で示される。しかし、他の任意のアイコンやインタラクティブ地図上で人物の位置を示すための他の合理的な方法を用いることができる。ユーザがドットの1つを選択すると、その位置にいる友達に関する情報が、ドット1010に示されるように表示される。さらに、ドット1010に示されるように、精度情報が、友達のドットを囲む、精度のレベルに等しい半径を有する陰つきの円の形式で地図上にグラフィカルに提示されてもよい。
【0065】
図11および図12は、本発明の別の実施形態を示している。この実施形態は、iPad、ラップトップコンピュータ、デスクトップコンピュータのような、より大きな画面を有する機器で用いるのに適している。図11において、インタフェース1100はユーザの友達の一覧表示をテーブル形式1110で表示するとともに、友達の地理的位置を地図1120に表示している。インタフェース1100において、ユーザが地図1120上で友達の1人1130を選択すると、その友達の位置に関する詳細が地図の下部1140に現れる。同様に、縦横比の異なるインタフェースを提供する図12において、インタフェース1200はユーザに、ユーザの友達の地理的位置1225を示す地図1220を提示する。地図に重畳する表1220には、ユーザの友達のリストが示されている。インタフェース1100と同様、ユーザが表1210の中の友達の1人を選択すると、その友達の詳細がディスプレイの下部1240に表示される。
【0066】
ユーザは、位置情報を共有するための招待を友達に送信したい場合、図13に示すような「友達を追加」インタフェース1300を用いることができる。インタフェース1300では、ユーザは友達/招待する人の連絡先情報を1310に入力することができる。さらに、オプションのパーソナルメッセージを1320に入力することもできる。上述の通り、また図14の連絡先リスト1400に示されるように、連絡先情報は他のサービスやユーザ機器上のアプリケーションから取得することもできる。
【0067】
図15は、1510に連絡先の名前(好ましくは連絡先の電子メールアドレス、電話番号または他の関連連絡先情報)埋め込みリンク)が入力された、友達追加要求フォーム1500の完成形を示している。また、短いパーソナルメッセージ1520も示されている。
【0068】
図16は、自身の位置情報を要求ユーザと共用するための招待状を受信したことを、ウィンドウ1600で友達に通知する方法の1つを示している。ウィンドウ1600で友達に示されるように、ユーザはボタン1610を選択して招待の内容を直ちに見るか、ボタン1620を選択して招待を後で見るかを選択することができる。なお、この通知は、現在どのようなアプリケーションが実行中であろうと通知を提供するシステムベースのメッセージの形式を有することが好ましい。
【0069】
友達が招待の内容を見ることを選択した場合、図17に示すように要求メッセージ1700が友達に提示される。要求メッセージ1700において、招待は招待者の名前1710および短いパーソナルメッセージ1720を含むことが好ましい。さらに、招待は承認ボタン1730と辞退ボタン1740とを含むことができる。
【0070】
図18を参照して、モバイル機器ユーザは、インタフェース1800に自身のアカウントに関する所定の項目を保持することができる。インタフェース1800でユーザは、例えばフィールド1820内の現在位置にラベル1810を設定することができる。ユーザはまた、フォローの招待を受け入れた全ての友達を含むフォロワーのリスト1830を見直すこともできる。ユーザはさらに、スイッチ1840を切り替えることにより、自分のフォロワーから隠すことを選択できる。
【0071】
所定の場所にラベルを割り当てることに関し、図19のインタフェース1900がユーザに提示されてもよい。インタフェース1900において、ユーザは用意されたラベル1910の1つを選択するか、フィールド1930にテキストを入力してカスタムラベルを追加することができる。現在用いられているラベルはフィールド1920に示される。図20のインタフェース2000に示すように、インタフェース1900に用意されたラベル1910に加え、追加の場所固有ラベルオプションが自動的に追加されてもよい。図20に示すように、場所ラベル2010が用意された場所ラベルのリストに追加されている。このようなラベル2010は、例えばユーザがスターバックス(登録商標)の近くにいることが判明した際に追加されてよい。
【0072】
本発明の所定の実施形態についてさらに説明するため、以下では、モバイル機器の所定のユーザが友達の位置を取得するために本発明の1つ以上の実施形態をどのように用いることができるのかを示すシナリオを用いる。
【0073】
1つめのシナリオは、モバイル機器ユーザが昼にどこか、例えばパロアルトのダウンタウンにいて、簡単な昼食に誘える友達が近くにいるかどうかを知りたい場合に相当しうる。ユーザは、友達の場所を調べ、近くにいる友達を特定し、連絡を取るために本発明の実施形態を用いることができるであろう。
【0074】
2つめのシナリオは、複数のモバイル機器ユーザが、自分たちが所定時刻にどこにいるのか他者が知ることを許す必要がある、あるいは許したい場合に相当する。モバイル機器ユーザが例えばマラソンのトレーニングをしており、毎日外で数マイル走っている場合がこのような状況に該当する。このユーザは、何かあった場合に常に位置を把握してもらえるよう、トレーニング時間中、パートナーに自分の位置を知らせたいと思っている。このような場合、本発明の実施形態が役立つであろう。また、この人物が実際にマラソンに参加している場合、友達はこの人物をレース中に励ますのに適切な場所に行けるよう、コースをどの程度走ったかを知りたいと考えるだろう。このようなシナリオでは、そのエリアのストリートマップにレースのコースを重畳した地図であって、ユーザがランナーの場所を知ることができ、ランナーが次に向かっている場所についての何らかの表示を有するような地図を提供する本発明の実施形態が役立つであろう。
【0075】
3つめのシナリオは、複数のモバイル機器ユーザが、だれかが所定の位置に達したことの通知の受信を希望する場合に該当する。このようなシナリオは、1人のモバイル機器ユーザが例えば車での旅行に出かけており、別の人物が、このユーザが到着した際に通知を受けたい場合が該当する。このようなシナリオには、週末の休日に、家の車を使って数時間の距離に住む従兄弟に会いに行くことを十代の息子に許した親もまた該当するだろう。親は到着次第連絡するよう息子に言いつけているが、息子は忘れて連絡してこないことが多い。このような場合、息子が目的地に着いた際に親に自動的に通知するように警報をセットしておくことで、親または息子は、本発明の実施形態の利点を享受できるであろう。それまでの間、親は手動で息子のモバイル機器の位置を探索する別の実施形態をさらに用いて、息子が道に迷っていないことを確認することもできる。
【0076】
4つめのシナリオは、誰かが所定の地理的位置に入ったことの通知の受信を複数のモバイル機器ユーザが希望する場合に該当する。例えば、公共交通機関を用いて都市に通勤しているが、駅やバス停まで歩いて行ける距離に住んでいない人物である。この人物は、夜や天気が荒れ模様の際には、自分で車を運転して駐車するよりも、配偶者かパートナーに迎えに来て欲しいと考えている。バスや鉄道の中には、携帯電話での通話を禁止する決まりや礼儀を有するものがあるため、この通勤者は到着するまで配偶者やパートナーへの電話を控えなくてはならず、その後例えば雨の中で待たなければならない。このようなユーザは、通勤者が所定の地理的範囲(すなわち、目的のバス停や駅に近い場所)に入ると、通勤者が通話する必要なく、通勤者のモバイル機器がパートナーの機器に通知することを可能にする本発明の実施形態の恩恵を享受できるであろう。従って、通勤者およびそのパートナーは、駅やバス停に同時に到着できるであろう。
【0077】
同様に、5つめのシナリオは、ある人物が所定の範囲に入った際に通知を受信すると所定の動作を実行可能な、ネットワークに接続された所定の家電製品を有するユーザが該当する。例えば、ある人物が山中の別荘に旅行中に、この人物が所定の地理的範囲に入った(すなわち別荘に近づいた)際に例えば暖房や玄関先の照明といった別荘内の所定の家電製品がオンする。本発明の実施形態は、ユーザがこのような設定を行ったり、このような設定による利益を享受したりすることを可能にする。
【0078】
6つめのシナリオは、誰かが所定の地理的位置から出たことの通知の受信を誰かが希望する場合に該当する。例えば、次の月曜が期限の宿題を終えるため、週末は外出しないように娘にいいつけた親が該当する。娘がモバイル機器をもって近所に出かけると、親は通知を受ける。ここで開示される技術は、親がそのような通知をうけることを可能にする。
【0079】
7つめのシナリオは、何人かのモバイル機器ユーザが短期間に限って自分の位置が把握されることを希望する場合である。例えば、都市に出張中で、そこに住む旧友と夕食を取るために会うことを希望する人物が該当する。この人物はその都市に住んでおらず、旧友とあまり連絡を取り合っていないので、旧友が自分の位置を常に知ることができるようにはしたくない。この場合、旧友に24時間だけ自分の位置を知ることを許可するための「1日パス」を、その人物が旧友に送信する用いる実施形態が有効である。24時間経過後は、1日パスは失効し、旧友はその人物の位置を知ることができなくなる。
【0080】
8つめのシナリオにおいて、ユーザはある限られた期間だけ複数人の間で位置情報を共用するため、複数人を連絡先リストから選択する。例えば、ユーザはアップル社のWWDCのような会議に参加するため街にいる。ユーザは、自分の知っている何人かの人物が同じ会議に参加していることを知っており、イベント中彼らの居場所を知りたいと思っている。本発明の一実施形態は、このユーザがその会議中に位置を知りたい複数の人物に招待状を送信することを可能にする。そのユーザの知人が招待を承認すると、ユーザおよび知人は互いに相手の位置を知ることができるようになる。しかし、相互に位置を知ることができる機能に対しては、(会議中だけといったような)1日のうちの特定の時間や、有効期限までといったような、何らかの制限がユーザによって設定されてもよい。
【0081】
図21〜図24は、有効期限まで位置情報を共有するために用いたり、例えば8つめのシナリオで説明したようなシナリオの間に用いたりすることのできる所定のインタフェースの構成を示している。図21は、位置を相互に共有するために友達に送信する招待状をユーザが設定および送信するための招待インタフェース画面の一実施形態を示している。図7で説明したものと同様、「+」ボタン2110をタッピングすることでユーザは招待状に友達を追加することができる。招待状に追加された友達は、追加されたことを示すために、作成された電子メールにおける「To:」の欄と同様に、画面2110上に表示される。図21は、ユーザが2人の友達を招待状に追加した状態を示しており、そのため友達の名前”Jared Gosler”および”Susan Adams”が表示されている。
【0082】
図21に示す例示的なインタフェースにおいて、ユーザはさらに、特定のイベント2130を入力し、有効期限2140を設定して、例えば招待状に関連付けることができる。しかし、適用可能な地理的範囲や他の時間制限を設定するような他の設定オプションが提供されてもよい。図21において、ユーザは招待状を「WWDC」会議に関連付けるとともに有効期限を「6月10日(金)午前10時」に設定している。実施形態によっては、招待状を特定のイベントに関連付けることは、その特定のイベントによって提供される所定の地図および、例えばより正確な非GPS位置情報(すなわち、特定の会議室)を提供しうる無線アクセスポートへのアクセスをユーザに許可する。有効期限はユーザおよび招待された友達がいつまで位置情報を共有しうるかの制限を設定している。
【0083】
図22は、ユーザが送信した位置情報共有への招待状受信時に、招待された友達が受け取る警告の例を示している。友達への要求の通知を提供するメッセージボックス2210が表示される。要求のテキスト2220は、その友達が、ユーザおよび他の人物(Susan Adams)との、設定された有効期限までの位置情報共有に招待されていることを説明している。この実施形態において、メッセージボックス2210は機器のユーザがメッセージボックスを閉じることまたは招待状を見ることを可能にするボタンを含んでいる。他の実施形態において、メッセージボックスは、招待を承認、無視、または拒否するための、追加の/別のボタンを有する。
【0084】
図23は招待状の表示の例示的な実施形態を示している。この招待状は関連付けられたイベント2310および、設定された有効期限を含む、位置情報共有要求の詳細を説明するテキスト2320を含んでいる。さらに、位置共有招待状に招待された全ての人物の名前と対応する応答状況2330,2340,2350がさらに表示されている。図示の通り、人物名の隣のチェックマークはその人物が招待を承認していることを示す。同様に、人物名の隣に表示されるクエスチョンマークは、その人物が招待に未応答であり、招待が承認されるかどうか不確定であることを示す。ある人物が招待を拒否した場合、位置情報を共有しないという決定を示すため、その名前の隣にXが表示される。Xの表示はまた、その人物がその会議の地理的範囲に存在しないことおよび/または、場合によってはまだチェックインしていないことを示してもよい。招待状を受信すると、機器ユーザは選択可能なオプション2360および2370の1つを選択して拒否または承認することができる。
【0085】
図24は、限定的な期間についての位置情報共有に招待した友達がユーザの招待を承認した後に、ユーザが一時的な友達2460を見ることを選択した際にユーザに表示される可能性の高い状態を示した実施形態を示す。図24に示すように、この位置情報の共有に関連付けられたイベント2410(WWDC)がある。上述の通り、実施形態によっては、特定のイベントと位置が関連付けられている場合、ジオコーディングされたアクセスポートへの接続や、イベント開催者からの通知受信といった所定の追加機能が利用可能になる。あるいは、またはさらに、イベント名の入力および位置とイベントとの関連付けは、会議やイベントの終了時刻のようなオートフィル情報であってもよい。ここで、位置探索許可の終了時刻2420は、6月10日の午前10時と示されている。一時的な位置探索要求を承認した友達に関する情報は、この表示の2430a、2430bに示されている。図9に示した実施形態と同様に、友達情報はとりわけ、友達の名前、既知の最新位置およびその取得時刻を含むことができる。要求を特定のイベントに関連付ける場合、グループメッセージ2440を送信するためのボタンをクリックすることで、ユーザがリスト上の他の全てのユーザに連絡することが可能とすることが好ましい。このボタンは選択されると、位置情報を共有するための招待を承認した友達それぞれに送信される1つのメッセージをユーザが作成することを可能にする。ユーザはまた、地図を見るためのボタン2450を選択することができる。このボタンが選択されると、各友達の位置が示された頭上図が表示される。上述したように、この地図は通常の位置マップであっても、カスタマイズされかつ関連イベントに関連付けられた地図(すなわちMoscone CenterやYerba Buena Center内の部屋を示す地図)であってもよい。
【0086】
上述の通り、本発明の一側面は、ユーザのモバイル機器から入手可能なデータを集めて使用することである。本発明はその一部の実施形態において、この収集されたデータが特定の人物を特定したり、特定の人物に連絡を取ったり位置探索したりすることが可能な個人情報データを含みうることを想定している。このような個人情報データは、ユーザ機器に関するハードウェア情報、位置関連データ、電話番号、電子メールアドレス、ツイッターIDのようなソーシャルメディアID、勤務先および自宅住所、友達、または他の任意の個人特定情報を含みうる。ユーザは通常このデータを、アカウント登録時および/またはアプリケーション使用中に入力する。
【0087】
本発明は、そのような個人情報をここで示す技術で利用することが、ユーザに利便性を提供するために使用可能であることを認識している。ここで開示する技術の核となる機能(すなわち、ユーザの位置探索)を提供するために必要となるだけでなく、個人情報データはユーザの振る舞いのより良い理解や、効率的な適用の促進および測定にも利用することができる。さらに、ユーザに恩恵を与える個人情報データの他の使用もまた本発明が想定するところである。
【0088】
本発明はさらに、そういった個人情報データの収集、解析、開示、転送、保存や他の利用を受け持つエンティテイが、個人情報データをプライベートかつセキュアに保つという業界または政府の要求に合致するまたはそれを超えると一般的に認識されるプライバシポリシおよび慣行を実装しかつ一貫して用いるべきであることを想定している。例えば、ユーザからの個人情報はエンティテイの合法的かつ合理的な利用のために収集すべきであり、合法的な利用を超えて共用または販売されるべきではない。さらに、このような収集はユーザに説明をして同意を得た後でのみ行われるべきである。また、このようなエンティテイは個人情報データへのアクセスを保護し、セキュアに保つとともに、個人情報データにアクセス可能な第3者が個人のプライバシーおよびセキュリティポリシーならびに手続を順守することを確実にするために必要ないかなる手順をも行うであろう。さらに、このようなエンティテイは、広く受け入れられているプライバシーポリシーおよび慣行を順守していることの第3者評価の対象とすることができる。
【0089】
これまで説明していないが、個人情報データの利用またはアクセスをユーザが選択的にブロックする実施形態も考えられる。すなわち、個人情報データへのアクセスを防いだりブロックしたりするためのハードウェアおよび/またはソフトウェアもまた本発明の範囲に含まれる。例えば、位置情報に応じたサービスにおいて、ユーザが、個人情報データの送信の参加の「オプトイン」または「オプトアウト」を選択できるように本発明を構成してもよい。ユーザの個人情報データへのアクセスをブロックするための他の方法または技術も本発明の想定するところである。
【0090】
本発明の範囲に含まれる実施形態は、コンピュータが実行可能な命令またはデータ構造を格納する有形および/または恒久的なコンピュータ可読記憶媒体をも含みうる。このような恒久的なコンピュータ可読記憶媒体は、上述した特定用途向けプロセッサの機能設計を含む、汎用もしくは特定用途向けコンピュータによってアクセス可能な任意の入手可能な媒体であってよい。非限定的な例として、このような恒久的なコンピュータ可読媒体は、RAM、ROM、EEPROM、CD-ROMまたは他の光ディスク記憶装置、磁気ディスク記憶装置または他の磁気記憶装置、または所望のプログラムコード手段をコンピュータが実行可能な命令、データ構造もしくはプロセッサチップ設計の形式で保持または格納するために使用可能な任意の他の媒体を含むことができる。情報がネットワークまたは他の通信接続(有線、無線またはその組み合わせのいずれか)を通じてコンピュータに転送または提供される場合、コンピュータはその接続をコンピュータ可読媒体と見なす。従って、そういった接続も正にコンピュータ可読媒体に含まれる。上述したものの組み合わせもまた、コンピュータ可読媒体の範囲に含まれる。
【0091】
コンピュータが実行可能な命令には、例えば、汎用コンピュータ、特定用途向けコンピュータ、または特定用途向け処理装置に、所定の機能または機能群を実行させる命令およびデータを含む。コンピュータが実行可能な命令はまた、コンピュータが単体で、あるいはネットワーク環境において実行するプログラムモジュールを含む。通常、プログラムモジュールは、特定のタスクを実行したり特定の抽象データタイプを実装したりするルーチン、プログラム、部品、データ構造、オブジェクト、および特定用途向けプロセッサの設計に固有な機能などを含む。コンピュータが実行可能な命令、関連するデータ構造、およびプログラムモジュールは、ここで開示した方法の工程を実行するためのプログラムコード手段の例である。このような実行可能な命令または関連するデータ構造の特定のシーケンスは、そのような工程で説明される機能を実施するための対応する活動の例を示す。
【0092】
本技術分野に属する当業者は、本発明の他の実施形態が、パーソナルコンピュータ、ハンドヘルド機器、マルチプロセッサシステム、マイクロプロセッサを用いた、あるいはプログラム可能な電化製品、ネットワークPC、ミニコンピュータ、メインフレームコンピュータなど、コンピュータシステムの多くの形式を用いるネットワークコンピューティング環境で実施されうることを理解するであろう。実施形態はまた、通信ネットワーク(有線リンク、無線リンク、またはその組み合わせのいずれか)を通じて接続されたローカルおよびリモート処理装置でタスクが実行される分散コンピューティング環境において実施されてもよい。分散コンピューティング環境において、プログラムモジュールはローカルおよびリモートメモリ記憶装置におかれてもよい。
【0093】
上述した様々な実施形態は例示のみを目的としたものであり、本発明の範囲を限定するものと解されるべきではない。本技術分野の当業者は、ここで図示および説明した例示的な実施形態および用途に従わずに、また本発明の精神および範囲を離れることなく、ここで説明した基本原理に対して行いうる様々な修正や変更を容易に理解するであろう。
【技術分野】
【0001】
本開示は、携帯電話機やメディアプレーヤのようなモバイル機器との遠隔的な通信に関し、特には、1つ以上のリモートコマンドの送信を通じて、モバイル機器に機能を実行させることに関する。
【背景技術】
【0002】
モバイル機器は、コンピューティング、通信、およびエンターテインメントを含む様々な用途に適応されてきている。近年の改良により、モバイル機器は、内蔵GPS(global position system)アンテナを用いたり、位置が固定されたセルラアンテナを通じて受信する信号から自身の位置を推定したりすることにより、自身の地理的な位置を測定できるようになっている。そのため、ユーザは自分がいる場所を測定するためにモバイル機器を用いることができる。
【0003】
モバイル機器のユーザは、友達や家族が自分のいる場所を知らせたいと思うかもしれない。また同様に、ユーザは友達や家族のいる場所を知りたいと思うかもしれない。いくつかの既知のシステムがそのようなサービスを提供している。しかし、そのようなサービスの問題の1つは、位置の測定に多くの電力を消費しうることである。この問題は特にGPS機器を用いる場合に顕著である。
【0004】
電池寿命とモバイル機器性能のバランスを取ることは、モバイル機器メーカの重要な関心事であり、また、位置情報を用いる(location-aware)プログラムはこれら関心事の大きな部分を占める。特に、GPS機器に頻繁に要求を行うアプリケーションは多くの電力を消費する。そのようなアプリケーションにはマッピングプログラムおよび、FOURSQUAREおよびGOOGLE LATITUDEのような位置情報を用いるソーシャルアプリケーションが含まれる。このようなソーシャルアプリケーションは、自分のいる場所を、認証された友達が友達のモバイル機器で見ることができるよう、自分のいる場所をサーバと共有することを可能にする。このようなサービスは、ユーザのモバイル機器で稼動するアプリケーションに、周期的にGPS機器を起動させ、ユーザの位置を把握してサーバを更新することを要求するものが多い。このようなGPS機器の反復利用は、モバイル機器の電池寿命を大幅に減少させる。
【発明の概要】
【0005】
本発明のさらなる特徴及び利点は以下の記述によって説明され、また一部は記述から自明であるか、ここに開示される原理を実施することによって知ることができるであろう。発明の特徴及び利点は、添付した特許請求の範囲において特に示される装置及び組み合わせによって実現され、また手に入れることが可能である。本発明のこれらの特徴及び他の特徴は、以下の説明および添付した特許請求の範囲からより完全に明らかになるか、ここで説明される原理の実施を通じて知ることができる。
【0006】
通信ネットワークに接続された1つ以上のモバイル機器の位置を測定するためのシステム、方法、及び恒久的なコンピュータ可読記憶媒体が開示される。本技術は、ユーザが、位置情報の共有を許可している他のユーザの位置を知ることを可能にするシステムを提供する。好適な一実施形態においてユーザは、友達の位置を記述した情報の受信許可をユーザが友達に要求することを可能にするアプリケーションを起動することができる。このアプリケーションは、ユーザに自分の位置情報を見ることを許可している友達の一覧表示が可能である。
【0007】
1人以上の友達の位置を見ることをユーザが希望する場合、アプリケーションは、システムサーバから各友達に、あるいは選択された複数の友達に、位置情報を要求することができる。サーバは、アプリケーションが詳細な位置情報と大まかな位置情報のどちらを要求しているかを判別するため、要求を受信し、解釈する。例えば、アプリケーションが全ての友達について位置情報を要求しているとすると、その要求は大まかな情報のみについての要求と解釈されるであろう。その代表的な理由は、全ての友達をコンピュータ画面上に表示するには大まかな位置で十分だからである。しかし、アプリケーションが特定の友達に関する更新された大まかな情報を最近受信済みであるにも関わらず、同じ友達について追加の位置情報を要求している場合には、そのアプリケーションが詳細な位置情報を必要としている可能性が高い。
【0008】
詳細な位置情報と大まかな位置情報との差異は、位置情報の許容変動の閾値だけでなく、更新された位置情報をサーバが受信してからの経過時間および友達の機器で正確な位置情報を知るために必要な電力にも基づく。例えば、詳細な位置情報は±3mの精度を必要とし、現在の技術では、そのような精度はほとんどの場合GPS機器を用いることで実現される。さらに、詳細な位置情報は1分以下の期間についてだけ、正確であると見なされる。それに対し、大まかな位置情報は都市レベルの精度(例えば±1km)のみを必要とし、15分以上に渡って有用と見なされる。
【0009】
友達の位置探索要求は中央サーバによって処理される。サーバは要求を受信すると、要求を友達の機器に転送し、応答を待つ。あるいは、サーバは友達の機器と通信することなく要求に応答してもよい。例えば、サーバは友達の機器の位置情報をキャッシュしておいてもよい。位置情報は所定の精度かつ所定の期間でのみ有用なので、サーバは要求を友達の機器に送信する代わりにキャッシュされた位置情報を送信する前に、キャッシュされた情報を要求および/または予め定められた制約事項と比較してよい。
【0010】
本発明の上述した利点および特徴ならびに他の利点および特徴を得るための方法を説明するため、簡単に説明済みの原理のより具体的な説明を、添付図面に記載される特定の実施形態に関して行う。これら図面が単に例示的な実施形態を図示するものであり、従って本発明の範囲を限定するものと解されるべきでないことを踏まえ、添付図面を用いてより具体的かつ詳細に本発明の原理を記述および説明する。
【図面の簡単な説明】
【0011】
【図1】例示的なシステムの実施形態を示す図である。
【図2】例示的なコンピューティング環境を示す図である。
【図3a】モバイル機器の位置探索のための例示的な手順を説明するフローチャートである。
【図3b】モバイル機器の位置探索のための例示的な手順を説明するフローチャートである。
【図4】モバイル機器を位置探索し、位置情報を更新するための例示的な手順を説明するフローチャートである。
【図5】モバイル機器ユーザに位置情報を共有するために招待状を送信するための例示的な手順を説明するフローチャートである。
【図6】ユーザがどのように友達を位置探索しうるのかを図示する例示的なユーザインタフェースの図である。
【図7】ユーザがどのように友達を位置探索しうるのかを図示する例示的なユーザインタフェースの図である。
【図8】ユーザがどのように友達を位置探索しうるのかを図示する例示的なユーザインタフェースの図である。
【図9】ユーザがどのように友達を位置探索しうるのかを図示する例示的なユーザインタフェースの図である。
【図10】ユーザがどのように友達を位置探索しうるのかを図示する例示的なユーザインタフェースの図である。
【図11】ユーザがどのように友達を位置探索しうるのかを図示する例示的なユーザインタフェースの図である。
【図12】ユーザがどのように友達を位置探索しうるのかを図示する例示的なユーザインタフェースの図である。
【図13】位置探索される友達に対してユーザがどのように招待状を送信しうるのかを図示する例示的なユーザインタフェースの図である。
【図14】位置探索される友達に対してユーザがどのように招待状を送信しうるのかを図示する例示的なユーザインタフェースの図である。
【図15】位置探索される友達に対してユーザがどのように招待状を送信しうるのかを図示する例示的なユーザインタフェースの図である。
【図16】ユーザがどのように位置探索の招待状を受信し、応答しうるかを示す例示的なユーザインタフェースの図である。
【図17】ユーザがどのように位置探索の招待状を受信し、応答しうるかを示す例示的なユーザインタフェースの図である。
【図18】ユーザがどのように自身の位置情報を変更しうるのかを図示する例示的なユーザインタフェースの図である。
【図19】ユーザがどのように自身の位置情報を変更しうるのかを図示する例示的なユーザインタフェースの図である。
【図20】ユーザがどのように自身の位置情報を変更しうるのかを図示する例示的なユーザインタフェースの図である。
【図21】有効期限まで位置情報を共有するための招待状がどのように生成され、また表示されるのかを図示する例示的なユーザインタフェースの図である。
【図22】有効期限まで位置情報を共有するための招待状がどのように生成され、また表示されるのかを図示する例示的なユーザインタフェースの図である。
【図23】有効期限まで位置情報を共有するための招待状がどのように生成され、また表示されるのかを図示する例示的なユーザインタフェースの図である。
【図24】有効期限まで位置情報を共有するための招待状がどのように生成され、また表示されるのかを図示する例示的なユーザインタフェースの図である。
【発明を実施するための形態】
【0012】
以下、本発明の様々な実施形態について詳細に検討する。特定の実施について検討するが、それは説明のみを目的としたものであることを理解すべきである。関連技術分野に属する当業者は、本発明の精神及び範囲を超えることなく他の構成要素や機器構成を用いうることを理解するであろう。
【0013】
本発明は、本技術分野における、ユーザのモバイル機器の位置情報を送信するとともに、友達および家族が有するそれぞれのモバイル機器を通じて、友達および家族を位置探索するための仕組みに対する必要性を解決する。モバイル機器に、現在の位置を測定して要求者に報告させるコマンドを送信することにより、モバイル機器を位置探索するシステム、方法、および恒久的コンピュータ可読媒体が開示される。本発明のコンセプトを実施するために適用可能な、図1に示す汎用的なシステムまたはコンピュータ機器をまず簡単に説明する。その後、方法およびシステムのより詳細な説明を行う。
【0014】
図1を参照すると、汎用コンピュータ機器100を含む例示的なシステム100は、処理ユニット(CPUまたはプロセッサ)120と、読み出し専用メモリ(ROM)140およびランダムアクセスメモリ150のようなシステムメモリ130を含む様々なシステム構成部品をプロセッサ120と接続するシステムバス110とを含んでいる。システム100は、直接接続された、近接した、あるいはプロセッサ120の一部として統合された高速メモリのキャッシュ122を含むことができる。システム100はメモリ130および/または記憶装置160からキャッシュ122へ、プロセッサ120による高速アクセスのためにデータをコピーする。このようにして、キャッシュ122はデータ待ち時間によりプロセッサ120の動作が遅くなることを回避し、性能を向上させている。これらの、また他のモジュールは、プロセッサ120が様々な動作を実行するよう、プロセッサ120を制御可能であるか、プロセッサ120を制御するように構成されてよい。他のシステムメモリ130もまた同様に利用可能であってよい。メモリ130は、異なる性能特性を有する複数の異なるタイプのメモリを含んでよい。本発明は複数のプロセッサ120を有するコンピュータ機器100や、より強力な処理性能を提供するためにネットワーク化された複数のコンピュータ機器のグループ又はクラスタ上でも実施可能であることは理解されよう。プロセッサ120は、任意の汎用プロセッサおよび、プロセッサ120を制御するように構成されたハードウェアモジュールまたは記憶装置160に記憶されたモジュール1 162、モジュール2 164、およびモジュール3 166のようなソフトウェアモジュールや、実際のプロセッサ設計にソフトウェア命令が統合された特定用途向けプロセッサを含むことができる。プロセッサ120は本質的に、複数のコアまたはプロセッサ、バス、メモリコントローラ、キャッシュなどを含む、完全内蔵型のコンピュータシステムであってよい。マルチコアプロセッサは対象型でも非対称型であってもよい。
【0015】
システムバス110は、様々なバスアーキテクチャのいずれかを用いるメモリバスまたはメモリコントローラ、周辺バス、およびローカルバスを含むバス構成の任意のタイプであってよい。ROM140などに保存される基本入力/出力(BIOS)は、起動中などにコンピュータ機器100内の要素間で情報を転送するのを支援する基本ルーチンを提供する。コンピュータ機器100はさらに、ハードディスクドライブ、磁気ディスクドライブ、光学ディスクドライブ、テープドライブなどの記憶装置160を含む。記憶装置160はプロセッサ120を制御するためのソフトウェアモジュール162,164,166を含むことができる。他のハードウェア又はソフトウェアモジュールがあってもよい。記憶装置160はドライブインタフェースによってシステムバス110に接続される。ドライブおよび関連するコンピュータ可読記憶媒体は、コンピュータ機器100用のコンピュータ可読命令、データ構造、プログラムモジュールおよび他のデータの不揮発性記憶を提供する。一見地において、特定の機能を実行するハードウェアモジュールは、恒久的コンピュータ可読媒体に格納されたソフトウェア構成部品と、プロセッサ120、バス110、出力機器170などの、機能を実行するのに必要なハードウェア部品とを含む。
【0016】
基本的な構成要素は本技術分野における当業者に既知であり、機器100が小型のハンドヘルドコンピュータ機器、デスクトップコンピュータ、およびコンピュータサーバのいずれであるかといった、機器のタイプに応じた適切なバリエーションが考えられる。
【0017】
ここで説明する例示的な実施形態は記憶装置160を用いているが、本技術分野の当業者が理解するように、コンピュータがアクセス可能な、データを保存可能な他のタイプのコンピュータ可読媒体を例示的な動作環境で用いてもよい。このような他のタイプのコンピュータ可読媒体には、磁気カセット、フラッシュメモリ(登録商標)カード、DVD、カートリッジ、ランダムアクセスメモリ(RAM)150、読み出し専用メモリ(ROM)140、ビットストリームなどを含んだ有線又は無線信号などがある。恒久的コンピュータ可読媒体は、エネルギー、搬送信号、電磁波、および信号それ自体を明示的に除外する。
【0018】
コンピュータ機器100とのユーザインタラクションを可能にするため、入力機器190は、音声入力用のマイク、ジェスチャまたはグラフィカル入力用のタッチパネル、キーボード、マウス、動きによる入力、音声といった任意数の入力機構を代表している。出力機器170は、本技術分野の当業者に既知な複数の出力機構の1つ以上であってよい。ある形態においては、マルチモーダルシステムが、コンピュータ機器100と通信するためにユーザが複数のタイプの入力を提供することを可能にする。通信インタフェース180は一般にユーザ入力およびシステム出力を統制および管理する。任意のハードウェア構成上で動作可能であり、従って基本的な機能は、進歩に応じてよりよいハードウェアまたはファームウェア構成と容易に置換可能である。
【0019】
説明の明瞭さのために、「プロセッサ」またはプロセッサ120とラベルが付された機能ブロックを含む、個別的な機能ブロックを含むものとして具体的なシステム実施形態を表した。これらブロックが表す機能は、例えば、ソフトウェアを実行可能なハードウェアおよび、汎用プロセッサ上で稼動するソフトウェアと同等に動作するように製造されたプロセッサ120のようなハードウェアを含む、共有または専用ハードウェアの使用を通じて提供されてもよい。例えば、図1に示される1つ以上のプロセッサの機能は、1つの共用プロセッサまたは複数のプロセッサによって提供されてよい。(用語「プロセッサ」の使用は、ソフトウェアを実行可能なハードウェアのみを指すものとして解されるべきではない。)例示的な実施形態は、マイクロプロセッサおよび/またはデジタルシグナルプロセッサ(DSP)ハードウェア、以下に説明する動作を実行するソフトウェアを格納するための読み出し専用メモリ(ROM)140、および結果を格納するためのランダムアクセスメモリ(RAM)150を含んでよい。大規模集積(VLSI)ハードウェア実施形態ならびにカスタムVLSI回路と汎用DSP回路との組み合わせもまた提供されてよい。
【0020】
様々な実施形態の論理的な動作は、以下のものとして実装される。(1)汎用コンピュータ内のプログラム可能な回路で稼動する、コンピュータによって実施される工程、動作、または手順のシーケンス、(2)特定用途向けのプログラム可能な回路上で稼働する、コンピュータによって実施される工程、動作、または手順のシーケンス、および/または(3)プログラム可能な回路内部で相互接続された機械モジュール(machine module)またはプログラムエンジン。図1に示すシステム100は、説明される方法の少なくとも一部を実行可能であり、説明されるシステムの一部であってよく、および/または説明される恒久的コンピュータ可読記憶媒体内の命令に従って動作可能である。そのような論理動作は、モジュールのプログラミングに従って特定の機能を実行するようにプロセッサ120を制御するように構成されたモジュールとして実施することができる。例えば、図1は、プロセッサ120を制御するように構成された3つのモジュールMod1 162、Mod2 164、およびMod3 166を示している。これらのモジュールは記憶装置160に格納され、実行時にRAM150またはメモリ130に読み込まれるか、本技術分野で既知であろう他のコンピュータ可読メモリ位置に格納されてよい。
【0021】
コンピュータシステムの構成要素のいくつかを説明したため、図2に移る。図2は、汎用モバイルコンピューティング環境200を示している。通信ネットワーク210はコンピューティング環境200内で提供される機器およびアプリケーションを接続する。このコンピューティング環境200では、様々な機器が様々な方法で互いに通信したりコマンドを送信したりすることができる。例えばサーバ230は、コンピュータ220、モバイル機器240、およびモバイル機器245といった2つ以上のユーザ機器間の中継物(intermediary)として機能してよい。サーバ230はあるユーザ機器から送信されたメッセージを他のユーザ機器に渡してよい。例えば、サーバ230は機器240(「要求機器」)から、他の機器245(「被要求機器」)を位置探索するための要求を受信してよい。そのような要求に応答して(要求が被要求機器のユーザによって許可されたものであることを保証するため、好ましくは適切な認証および承認の手順が行われた後で)、サーバ230は要求を被要求機器245に送信し、被要求機器245の位置に関する情報を含んだ応答を受信することができる。被要求機器245はこの位置情報を、例えばGPS衛星260から自身が受信した信号に基づいて取得しておくことができる。応答を受信すると、サーバ230はその情報を要求機器240に送信してよい。あるいは、サーバ230はキャッシュされた被要求機器245に関する最近の位置情報を有するため、要求を被要求機器245に送信しない。そのような実施形態においてサーバ230は、被要求機器245とは通信せずに、キャッシュされた位置情報を要求機器240に送信することにより要求に応答してもよい。
【0022】
機器220、240、および245は、それらで稼動する、1つ以上の位置情報利用アプリケーションを有する事が好ましい。これらのアプリケーションのうちいくつかは、要求ユーザが友達の機器の位置を探索できるよう、他のユーザ機器に要求を送信する機能を有する。位置探索の承認を受信すると、要求機器は位置要求を被要求機器に送信し、その後、被要求機器の位置を含んだ応答を受信することが可能になる。承認はサーバレベルで管理されることが好ましいが、さらに、あるいはその代わりに、機器レベルでも管理されてよい。
【0023】
図2に戻って、通信ネットワーク210は、イントラネットのようなローカルエリアネットワーク(LAN)、インターネットのような広域ネットワーク(WAN)、またはそれらの組み合わせを含む、任意のタイプのネットワークであってよい。さらに、通信ネットワーク210は公衆網、プライベート網、またはそれらの組み合わせであってよい。通信ネットワークはまた、任意の1以上のタイプの物理媒体の利用を通じて実施されてもよい。物理媒体は、1つ以上のサービスプロバイダに関連する有線通信経路および無線通信経路を含む。さらに、通信ネットワーク210は様々なプロトコルを用いてフォーマットされたメッセージの送信を支援するように構成されてよい。
【0024】
ユーザ局220のようなユーザ機器は、コンピュータ環境200で動作するように構成されてよい。ユーザ局220は、ウェブブラウザのような、ウェブの取扱いが可能なアプリケーションと通信するように構成可能な任意の汎用コンピューティング機器であってよい。例えば、ユーザ局220はデスクトップコンピュータ、ワークステーション、ラップトップコンピュータや、スマートフォン、ポストPC機器といったポータブルコンピュータ機器のようなパーソナルコンピュータ機器であってよい。ユーザ局220は、図1のコンピュータ機器100の機能、構成部品および周辺機器の一部または全てを含んでよい。
【0025】
ユーザ局220はさらに、通信ネットワーク210へのネットワーク接続を含んでもよい。ネットワーク接続は有線又は無線インタフェースを通じて実現することができ、またユーザ局220および他の1つ以上のコンピュータ機器との間の通信ネットワークを通じた双方向通信をサポートすることができる。
【0026】
アプリケーションサーバ230はさらに、コンピューティング環境200で動作するように構成されてもよい。アプリケーションサーバ230は、1つ以上のアプリケーションを提供するように構成可能な任意のコンピュータ機器であってよい。例えば、アプリケーションサーバ230はサーバ、ワークステーション、またはパーソナルコンピュータであってよい。アプリケーションサーバ230は、例えば1つ以上の場所に設置された複数のコンピュータ機器の一群、例えば複数のサーバ、として構成されてもよい。アプリケーションサーバ230は、図1のコンピュータ機器100の機能、構成部品および周辺機器の一部または全てを含んでよい。
【0027】
アプリケーションサーバ230はさらに、通信ネットワーク210へのネットワーク接続を含んでもよい。ネットワーク接続は有線又は無線インタフェースを通じて実現することができ、またアプリケーションサーバ230および他の1つ以上のコンピュータ機器との間の通信ネットワークを通じた双方向通信をサポートすることができる。さらに、アプリケーションサーバ230は1つ以上のアプリケーションを提供するように構成可能である。例えば、アプリケーションサーバ230は、ネットワークに接続された1つ以上のモバイル機器との通信を容易にするリモート管理アプリケーションを提供するように構成されてよい。モバイル機器240、245およびアプリケーションサーバ230は、リモート管理機能を実行するため、リモート管理フレームワーク内で動作してもよい。アプリケーションサーバ230は、コンピューティングシステム200に含まれる複数の通信機器間の、ネットワーク210を通じた双方向通信をサポートするように構成された通知サービスを提供するように構成されてよい。例えば、通知サービスアプリケーションは、複数のコンピュータ機器によって様々なメッセージが送受信されることを許可することができる。
【0028】
通知サービスは、ユニークコマンドコレクショントピックが加入モバイル機器の各々に対して生成されてよい、規定された名前空間を含むことができる。加入モバイル機器を対応するコマンドコレクショントピックと関連付けるために、割り当てられた番号やアドレスのような固有識別子を用いることができる。固有識別子はまた、加入されたコマンドコレクショントピックに関連付けられたURI(Uniform Resource Identifier)内に埋め込まれてもよい。さらに、各コマンドノードが特定の利モードコマンドタイプに対応するように、コマンドコレクショントピックの下に1つ以上のコマンドノードを生成してもよい。例えば、コマンドコレクショントピックは、位置探索コマンド用の個別コマンドノードを含むことができる。
【0029】
個別コマンドノードの利用を通じ、1つ以上のモバイル機器に対して実質的に同時に複数のコマンドを送信する事ができる。あるコマンドコレクショントピックで複数のコマンドが受信された場合、実行順序を決定するためにサーバタイムスタンプを比較してもよい。
【0030】
通知サービスを通じ、遠隔管理アプリケーションのような発行者は、特定のモバイル機器に関連付けられたコマンドコレクショントピックにリモートコマンドメッセージを発行することができる。リモートコマンドメッセージがコマンドコレクショントピックに発行されると、1つ以上の加入モバイル機器へ通知メッセージを送信することができる。そして、モバイル機器は、加入しているトピックにアクセスし、1つ以上の発行されたメッセージを読み出す。この、発行者とモバイル機器との間の通信は、分離されてもよい。さらに、リモートコマンドメッセージは、コマンドコレクショントピックの適切なコマンドノードに発行されてもよい。また、リモートコマンドメッセージを受信するモバイル機器は、通知サービスが提供する結果トピックに応答を発行することができる。遠隔管理アプリケーションのような発行者は、結果トピックを購読したり、発行された応答メッセージを受信したりすることができる。
【0031】
さらに、コンピューティング環境200は、モバイル機器240およびモバイル機器245のような1つ以上のモバイル機器を含んでよい。これらのモバイル機器は好ましくはアップル社製のiPhone(登録商標)のようなスマートフォンまたはアップル社製のiPad(登録商標)のようなポストPCデバイスである。コンピューティング環境200に含まれるモバイル機器の各々は、通信ネットワーク210へのコネクションを確立するように構成されたネットワークインタフェースを含んでよい。例えば、モバイル機器240は、通信ネットワーク210へのデータアクセスを提供するセルラ(例えばGSM, EDGE, 3G,または4G)ネットワークコネクションを確立することができる。モバイル機器240および245の範囲内に設けられ、ネットワーク210に接続された1つ以上の基地局250によって、このようなコネクションの確立を容易にすることができる。さらに、モバイル機器245は通信ネットワーク210へのIEE802.11(すなわち、WiFiまたはWLAN)ネットワークコネクションを確立することができる。モバイル機器240および245の範囲内に設けられ、ネットワーク210に接続された1つ以上の無線ネットワークルータ255により、このようなコネクションの確立を容易にすることができる。さらに、これらモバイル機器240,245または他の機器のいずれかが、IEEE802.16(すなわち、無線ブロードバンドまたはWiBB)規格に基づいてネットワーク210に接続してもよい。繰り返すが、モバイル機器240,245は、基地局250や無線ルータ255の助けを借りて、通信ネットワーク210に接続してもよい。
【0032】
さらに、モバイル機器240および245の各々は、メッセージを発行したり受信したりするために、アプリケーションサーバ230が提供する通知サービスアプリケーションと通信するように構成されてもよい。また、モバイル機器240および245の各々は、通知サービスアプリケーションを通じて受信したリモートコマンドに応じて、遠隔管理アプリケーションや遠隔管理機能を実行するように構成されてもよい。一部の実施形態において遠隔管理アプリケーションは、モバイル機器のオペレーティングシステムに組み込まれてもよい。
【0033】
モバイル機器は1つ以上の関連付けられた機能を実行するため、リモートコマンドを実行することができる。例えば、リモートコマンドは位置探索コマンド、通知コマンド、およびメッセージコマンドを含んでよい。メッセージコマンドはテキストベースのメッセージをモバイル機器のディスプレイに提示するために使用することができる。位置探索コマンドは、位置探索コマンド実行時のモバイル機器の位置を示すメッセージをモバイル機器に送信させるために使用することができる。位置探索コマンドはさらに、自身の位置を測定するために、内蔵GPSシステムのような所定のリソースを使用するようにモバイル機器に命令してもよい。
【0034】
加えて、モバイル機器240および245の各々は、1つ以上の入力を受信可能な入力インタフェースを含んでよい。例えば入力インタフェースは、キーボード、マウス、ジョイスティック、トラックボール、タッチパッド、キーパッド、タッチスクリーン、スクロールホイール、汎用および特定用途ボタン、スタイラス、ビデオカメラ、およびマイクの1つ以上を含んでよい。モバイル機器240および245の各々は、1つ以上のディスプレイ、1つ以上のスピーカ、および触覚インタフェースを含む、出力を提示することの可能な出力インタフェースを含むことができる。さらに、位置情報(例えば現在位置の表示)を取得するための、GPS衛星260から送信される信号を、受信および処理するために、GPS(Global Positioning System)プロセッサのような位置探索インタフェースが、モバイル機器240および245の1つ以上に含まれていてもよい。モバイル機器240および245の1つ以上に含まれている汎用または特定用途プロセッサが、基地局三角測量やビデオインタフェースを通じた固定地上物の認識などを通じて位置の推定を行うように構成されてもよい。
【0035】
基本的なシステム構成要素およびそのコンセプトについて説明した。次に、図3aおよび図3bに示す例示的な方法の実施形態300aおよび300bについて説明する。簡潔さのために、方法を実施するように構成された図1に示した例示的なシステムおよび図2に示した動作環境に関して方法を説明する。ここで概要を述べる工程は例示的なものであり、所定の工程の除外、追加、または変更を行う組み合わせを含む、工程の任意の組み合わせにおいて実施することができる。
【0036】
図3aは、図2における通信ネットワーク210のような通信ネットワークに接続された、図2におけるモバイル機器240および245のような1つ以上のモバイル機器(被要求機器)の位置探索のために、要求機器による要求を処理するサーバが実行する例示的な処理を示すフローチャートである。この処理は図2におけるアプリケーションサーバ230のようなサーバによって実行することができる。
【0037】
好適な実施形態において、サーバ230は1つ以上のサービスのメンバーに関するデータを維持する。維持されるデータは、例えば、メンバーのユーザ名および他の個人的な識別情報、メンバーの電話機に関する固有識別情報、およびそのメンバーに自分の位置情報を共有することを許可することを選択している他のメンバーの識別情報のような、各メンバーに関する所定の識別情報を含んでよい。この情報はまた、各メンバーの最近の位置情報を含んでもよい。この位置情報は、メンバーのモバイル機器上の所定のアプリケーション/プロセスによって、および/または要求機器の要求により、更新されてよい。例えば、モバイル機器の位置を測定するため、ユーザによって地図サービスや他の位置情報利用アプリケーションのようなモバイル機器上のアプリケーションが要求されうる。そして、そのような測定が行われる度に、モバイル機器はその情報をアプリケーションサーバに提供することができる。そして、サーバはこの情報を、モバイル機器の位置を表していると見なされる期間(例えば15分以下といった期間)、記憶装置335aに保持することができる。
【0038】
好適な実施形態において、ユーザ/要求者は、自身のコンピュータまたはモバイル機器上のアプリケーションであって、実行時に、自分の位置情報を要求者と共有することに同意したメンバー(要求者の「友達」)の機器全てに対して1つ以上の位置探索要求を開始するアプリケーションを有してよい。このような実施形態において、アプリケーションはまずユーザ/要求者に、全ての友達の位置を地図上もしくはリストで提示することができる。位置探索要求310aは、図2におけるアプリケーションサーバ230のようなサーバによって、処理のために受信されてよい。
【0039】
位置探索要求を要求ユーザのモバイル機器301aから受信すると、サーバはまず、335aにキャッシュされている位置データで応答してもよい。上述の通り、好ましい実施形態では、アプリケーションサーバが、最近の位置情報を含む、サービスのメンバーに関する情報を維持および/またはキャッシュすることができる。位置情報の更新は、古い位置情報への上書きであることが好ましい。従って、サーバはまずステップ315aで、最近の位置情報を有しているかどうかを判定する。上述したように、サーバは自身が維持する位置情報に対して設定された「年齢(time of life)」を有してよい。有している位置情報が最近のものであると判定された場合、ステップ330aでサーバは既知の最新位置を記憶装置335aから読み出す。ここでも、人物が外出している場合などにおいては、直近の位置情報だけが有意であろう。そのため、実施形態によっては、機器の最近の位置変動の活発さ(location activity)に基づいて情報の年齢を調整してもよい。例えば、機器の所有者が自信の位置を、自宅又は勤務先といったような、通常は所有者が毎日数時間滞在するような場所を指定している場合が含まれる。従って、サーバは、要求されたモバイル機器について自身が有している位置情報が最近のものであると見なされる場合には、その情報をステップ360aで要求機器に提供するであろう。
【0040】
サーバはさらに、この位置情報を比較的低い精度レベルで維持することが好ましい。その理由は、位置が短時間しか有意であると見なされない理由と似ている。位置情報が正確であるほど、その特定位置から人物が移動している可能性は高くなり、その結果位置は不正確になる。従って、最近の位置情報を低めの精度レベルで保持することにより、位置が依然として正しい可能性を高めることができ、ユーザ機器と通信する必要が無くなる。
【0041】
あるいは、サーバはステップ315aで、被要求機器に関する最近の位置情報を有していないと判定する。その場合サーバはステップ320aで、1つ以上の被要求機器(すなわち、友達に関連付けられた機器)に、位置探索要求を送信する。このステップにおいてサーバは、位置探索要求メッセージを被要求機器の各々に送信する。サーバが送信するメッセージは、被要求機器に、自身の現在位置情報を取得し、取得した現在位置情報を応答メッセージの形式でサーバに返送するように命令する効果を有しさえすれば、どのような形式であってもよい。別の実施形態では、サーバは位置探索要求メッセージを、被要求機器に関する最近の位置情報を継続的に保持しているセルラネットワークシステムにのみ送信する。このような位置情報は例えば、被要求機器に最も近いと思われるセルサイトの座標を含んでよい。
【0042】
ステップ320aで要求を送信してしばらくすると、サーバはステップ340aで応答を受信する。例えば被要求機器の位置およびネットワークトラフィックに応じて、応答の到着はいかなる順序にもなりうるし、応答までに要する時間も様々である。機器からの応答メッセージは、応答機器の位置に関する情報と、その位置が測定された時間とを含むことが好ましい。
【0043】
この位置情報は、上述した方法のいずれかによって測定されてよいが、他の方法を用いて測定されたものであってもよい。位置情報はまた、機器が通信しているセルラ通信ネットワークからのように、間接的に(すなわち、被要求機器から直接的にではなく)取得されてもよい。例えば、モバイル機器に最も近いと特定された基地局から位置情報を取得してもよい。この選択肢は精度が低くなるかもしれないが、より早く応答が得られることが多く、また被要求機器の電池寿命を延ばすことができる。従って、位置情報の精度レベルは変化しうる。そのため、位置情報はさらに精度情報も含んでよい。
【0044】
実施形態によっては、応答機器の所有者が、位置に関連付けられた固有の位置識別子やラベルを入力できてもよい。例えば、ユーザはそのような位置に「自宅」、「勤務先」、または「学校」といったラベルを割り当ててもよい。ユーザのモバイル機器はそのようなラベルと所定の地理的座標とを関連付けることが好ましい。
【0045】
この情報を受信すると、ステップ350aでサーバは、その機器の既知の最新位置を保持する情報が保存された情報335aにあれば、次の要求者が利用できるように更新することが好ましい。
【0046】
応答を被要求機器から受信すると、ステップ360aでサーバは、位置情報を要求機器に送信する。このステップは様々な被要求機器からサーバが受信した応答の各々に対して実行されてもよい。一部の機器に関する位置情報はステップ330aにおいてキャッシュ335aから取得済みかもしれないが、サーバはさらに要求を行い、更新された情報を要求機器に送信してもよい。実施形態によっては、サーバは、最近受信した位置情報を送信することに違いが存在するかどうかを判定するため、最初に要求機器に送信した「既知の位置情報」と、被要求機器から受信したばかりの位置情報とを比較するステップ(不図示)をさらに有してもよい。すなわち、ある実施形態では、被要求機器の位置が変化した場合だけ、位置情報が要求機器に送信されるであろう。そのような実施形態では、通信が必要なデータ量の削減が実現できる。
【0047】
時間精度に加え、サーバは所定の地理的位置精度を有する位置探索要求をどのように処理するかを判定する論理回路を有してもよい。図3bは、所定の精度レベル内で1つ以上のモバイル機器の位置を探索するための要求機器による要求を処理するサーバーによって実行される例示的な処理300bを示すフローチャートである。
【0048】
好適な実施形態において、ステップ310bでサーバは、被要求機器に関する位置情報を所定の許容精度レベル(精度y)で取得する要求を受信する。好適な実施形態において、サーバは通常、記憶装置335bに、機器に関する位置情報を1つの精度レベル(精度x)でのみ保持している。要求の受信後、ステップ315bでサーバは、記憶装置335bに保有している位置情報の精度が、要求機器によって要求された以上か(すなわち、精度x≧精度yかどうか)を判定する。もしそうであれば、精度レベルは許容範囲であると見なされ、ステップ330bでサーバは保持された位置情報を読み出し、ステップ360bで要求機器に送信する。
【0049】
しかし、サーバが被要求機器の位置情報の要求を受信した際、要求された精度(精度y)が355bに保存された情報の精度(精度x)より高い(すなわち、精度y>精度x)のがより一般的であろう。精度y>精度xであることがステップ315bで判定されると、サーバはステップ320bで被要求機器に要求を送信する。この要求はいくつかの異なる形式を取りうる。例えば、サーバは、要求精度情報を含んだ要求の内容を単に被要求機器に送信し、(被要求機器のハードウェア、オペレーティングシステムおよびアプリケーションを通じて)その要求に対してどうやって応答するかの決定を被要求機器に任せてもよい。あるいは、サーバは(被要求機器が所定精度のGPSアンテナを有するといったような)被要求機器の能力に関する十分な情報を有しており、送信されるメッセージは、被要求機器が自身のGPSアンテナを用いて位置を測定し、その情報をサーバに送信するためのコマンドである。そして、ステップ340bでサーバは、位置情報を被要求機器から受信する。ここでも、この情報は、サーバが既知の機器情報に応じていくつかの異なる形式を取りうる。例えば、応答は被要求機器から提供される精度情報を含んでもよいし、単に位置および位置を取得した手段を含んでもよい。後者の形式の場合、好ましくは被要求機器の機種の特徴(model feature)を知っているサーバは、被要求機器によって提供される精度を判定してもよい。さらに、サーバによって送信される要求に応じて、手段の情報は応答では提供されず、何が要求されたかと同様にサーバによって暗示されてもよい。位置情報がサーバに受信されると、ステップ350bで、サーバは自身で保存している位置情報335bを更新し、ステップ360bで位置情報を要求機器に送信する。
【0050】
一般に、取り扱われる位置情報の精度は低く、街レベルまたは数マイル内の精度である。上述の通り、そのような情報は、例えば被要求機器が通信中の基地局またはISPの地理的位置を知ることによってサーバが間接的に取得してもよい。セルラ通信ネットワークと通信中の携帯電話機が信号強度が最も強いセルサイトを周期的に探索することは一般的に知られている。多くの場合、最強の信号は、最も距離が短いセルによって測定される。従って、例えば4マイルごとに基地局が存在する領域では、モバイル機器の位置は最も近い基地局から2マイル以内であると推定することができる。より正確なモバイル機器の位置探索方法の1つは、到達時間差(TDOA)の測定によるものであってよい。TDOA方式は、ある移動機無線信号の到達時間差を3つ以上の個別のセルサイトで測定することによる三辺測量に基づいて機能する。このような方法は、セルラネットワークによって供給される特定の機器が利用可能であることに基づくものであり、常に利用可能とは限らないため、代替実施形態に留まる。いずれの場合も、位置/精度判定が、モバイル機器ではなく通信ネットワークで実施されうる。このような低精度情報は、要求機器のユーザが友達の居場所にざっと目を通すことができるよう、サーバから要求機器に最初に送信されることが好ましい。このような低精度情報の取得に関する動作を、ここでは「浅い位置探索」と呼ぶ。
【0051】
低精度(すなわち、精度の高くない)位置探索要求は、単なる概算ではあるが、応答を最速で得ることができ、また被要求機器で必要となるリソースが少ないため、最初に実行されることが好ましい。一方、「深い位置探索要求」は、被要求機器から比較的高い精度(より高い精度)の位置情報を取得するために、要求機器のユーザによって要求されうる。例えば、「深い位置探索要求」は、上述した他の位置探索方法のいくつかよりも高い精度レベルを有するであろう位置情報を取得するために、被要求機器に自身のGPS位置探索リソースを使用するように命令してもよい。GPSのような機器の機能を用いることで精度は向上するであろうが、十分な数のGPS衛星から信号を得て、位置を計算するために必要な時間およびリソースは、より長く、より多くのエネルギーを必要とするであろう。そのため、「深い位置探索要求」オプションは、要求機器のユーザによる特定の要求のために予約しておくことが好ましい。
【0052】
この、「浅い位置探索要求」および「深い位置探索要求」のコンセプトを、モバイル機器のような要求機器の観点から、図4の例示的な方法400でさらに説明する。好適な実施形態において、方法400はモバイル機器でアプリケーションが開始された際にステップ410から開始する。まず、ステップ420で、機器は、ユーザに関連付けられている全ての友達の位置情報を要求する。この初期要求は好ましくは全ての「友達」機器(すなわち、要求者が位置情報を取得することを許可している所有者の機器)に送信される「浅い位置探索要求」である。この要求はサーバに送信され、上述の通り、要求はサーバから被要求機器に渡されるか、サーバにより処理されるか、その両方が行われる。そして、要求機器はステップ430で、自身のユーザの友達の浅い位置を含んだ応答を受信する。応答が受信されたので、要求機器はユーザの友達の位置をステップ440で表示することができる。
【0053】
個人は動き回っていることが多いので、友達の位置情報が時々更新されるようにすることは、要求ユーザにとって価値がある。ステップ450で行われる位置情報の更新又はリフレッシュは、15秒ごとや15分ごとといったような所定間隔で自動的に行われてもよいし、ユーザの要求時に行われてもよいし、その両方であってもよい。これらの予め定められた時間間隔は、全てのユーザに対して共通に適用されてもよいし、個々のユーザの観測された動きの頻度(moment frequency)と、観測された一般的なユーザの動きデータの推測の組み合わせとに基づいて、個々のユーザで異ならせて適用されてもよい(例えば、高速道路を移動中と思われるユーザにたいていはより短い時間間隔を決定する反面、レストランのような場所に「チェックイン」しているユーザに対してはより長い時間間隔を決定する)。方法400に示すように、リフレッシュステップ450は、ユーザの友達全ての浅い位置情報に対する要求を繰り返すように動作する。
【0054】
ユーザの友達全ての浅い位置情報の要求および取得に加え、ユーザは1人以上の友達についてのより詳細な、あるいは「深い」位置情報をステップ460から始まる手順で要求してもよい。好適な実施形態においては、浅い位置探索要求後に提示されている友達をユーザが選択することで、「深い位置探索要求」を実行することができる。この好適な実施形態において、深い位置探索要求はサーバに送信され、サーバは被要求機器に、より詳細な位置情報を提供するよう命令するコマンドを送信する。この要求は、自身の有するGPSシステムから正確な位置情報を取得するように機器に命令することを含んでもよい。ステップ470で応答を受信すると、要求機器は友達の深い位置をステップ480で表示することができる。深い位置の精度もまた要求ユーザに対して表示してもよい。
【0055】
友達に関連付けられた機器の位置情報を取得するための承認をユーザが取得する一方法を図5の方法500に示す。大半の実施形態において、ユーザが友達の位置を特定できるように、ユーザは友達に承認要求を送信しなければならない。ユーザはこれを、ステップ510で、承認を要求する友達の選択により実行することができる。好適な実施形態において、位置探索アプリケーションは、ユーザの友達の情報を維持するため、ユーザの機器上の他のアプリケーションを参照したり用いたりすることができる。機器のユーザが知っている人物の連絡先情報を保存するアドレスブックアプリケーションはその一例である。これらの人物は、友達、家族、仕事上の知り合いや、ユーザが連絡先情報を取得した他の人物を含んでよい。特定の人物がユーザのアドレスブックに存在しない場合、ユーザがその人物の連絡先情報を稼動中のアプリケーションに直接入力することができてもよい。位置探索すべき相手が選択/入力されると、ステップ520で、承認要求が用意され、ユーザの機器から送信される。
【0056】
ユーザから要求を受信すると、要求された人物(例えば「友達」)に、要求の内容および要求を受け入れるか拒否するかを記述したメッセージが提示されることが好ましい。ステップ530で友達が要求を受け入れると、ステップ540で承認応答がその友達の機器から送信される。承認応答を受信すると、サーバは、ユーザが位置探索要求を送信すると、その要求をサーバがステップ550で処理するように、要求ユーザと承諾した友達の少なくとも一方について保持している情報を更新する。さらに、要求が承認されたことをユーザおよび/またはユーザの機器に示すために、サーバは通知を要求ユーザに送信することができる。このようにして、ユーザはその友達に関する位置情報を取得できるようになる。好適な実施形態において、友達はユーザに与えた承認をいかなるときも無効化することができる。それにより、その友達は、自身の位置情報のプライバシのコントロール権を維持することができる。
【0057】
一方、ユーザから位置探索についての認証要求を受信したが、ステップ560で要求を拒否または無視した友達に関する位置情報は取得できない。従って、ユーザがその後その友達の位置探索をステップ570で試みても、機器およびサーバのいずれもその要求を処理しないであろう。要求ユーザおよび機器の観点からすると、そのような友達は、「応答待ち」、「位置探索不能」というステータスを有するものとして表示されるか、または単にリスト表示されない。もちろん、実施形態によっては、ユーザは引き続きその友達に対して他の要求を送信することができてもよい。
【0058】
図6〜20は、本発明の好適な実施形態に係る一連の「スクリーンショット」を、アップル社のiPhone(登録商標)やiPad(登録商標)のようなモバイル機器で見たかのように示している。好適な実施形態はアップル社の製品上に表示されるように記載されているが、位置探索アプリケーションは任意のタイプのモバイル機器、スマートフォン、ポストPC機器、ラップトップコンピュータ、デスクトップコンピュータで用いられてもよいことを当業者は理解するであろう。
【0059】
図6は、ユーザが位置探索アプリケーションを最初に実行した際に提示されるインタフェースウィンドウ600を示している。このウィンドウでユーザは、ユーザがおそらく既に位置探索サービスについて登録済みのアカウントに関する自身のユーザID610およびパスワード620の入力を促される。ユーザIDおよびパスワードの入力後、ユーザは、認証してプログラムを実行するために「サインイン」ボタン630を選択することができる。ユーザがアカウントをまだ登録していない場合、ユーザはボタン640を選択することで登録を行える。
【0060】
図7に示すように、ユーザが最初にログインすると、位置情報を共有する友達を招待するようユーザに促す画面700が提示される。位置共有に友達を招待するため、ユーザは「+」ボタン710をタップして、招待する友達を選択する画面を開くことができる。この動作のより詳細な説明は、図11〜16に関して以下で行う。
【0061】
一方、図8は、位置共有するためのユーザの招待を何人かの友達が承認した後におけるログイン直後に表示される典型的な内容を示している。図8に示すように、友達のリスト800がユーザに示される。友達の情報810の隣に、位置探索状況インジケータ820がある。図8では、機器が友達の機器の全てに位置探索要求を送信済みで、各機器からの応答を待っている状況である。
【0062】
少し時間が経過し、機器がユーザの友達に関する位置情報を受信すると、ディスプレイインタフェース900でユーザに提示される。図9から分かるように、この時点で、友達情報910は友達920の位置、位置情報の精度930、および位置情報の取得時刻940を含むようになっている。位置920はさまざまな方法で提示することができる。例えば、位置情報920はユーザによって選択されたラベルを含む。あるいは、950に示すように、位置情報はユーザがいる街の名前や住所を含んでもよい。さらに、位置要求が失敗した場合、表示900は960のようなメッセージを提示してもよい。
【0063】
図10は、友達の位置情報表示の別の実施形態を示す。図10に示すように、地図インタフェース100が提示される。好ましい実施形態において、地図インタフェース1000の初期の縮尺は、ユーザの友達の全てを1画面で見ることができるように、ユーザの友達のそれぞれについて特定された場所によって決定される。従って、ユーザの友達が互いに数マイル離れて位置する場合、地図インタフェース1000の縮尺は、数マイル(すなわち、街レベル)が示されるように拡大される。一方、ユーザの友達が国中にいたり外国にいたりすれば、地図の縮尺は地図インタフェース1000が数百または数千マイル(すなわち、国(state)レベル)に縮小される。
【0064】
再び図10を参照して、ユーザは友達の位置を地図1000上で提示される。好適な実施形態において、友達の位置はドット1010および1020で示される。しかし、他の任意のアイコンやインタラクティブ地図上で人物の位置を示すための他の合理的な方法を用いることができる。ユーザがドットの1つを選択すると、その位置にいる友達に関する情報が、ドット1010に示されるように表示される。さらに、ドット1010に示されるように、精度情報が、友達のドットを囲む、精度のレベルに等しい半径を有する陰つきの円の形式で地図上にグラフィカルに提示されてもよい。
【0065】
図11および図12は、本発明の別の実施形態を示している。この実施形態は、iPad、ラップトップコンピュータ、デスクトップコンピュータのような、より大きな画面を有する機器で用いるのに適している。図11において、インタフェース1100はユーザの友達の一覧表示をテーブル形式1110で表示するとともに、友達の地理的位置を地図1120に表示している。インタフェース1100において、ユーザが地図1120上で友達の1人1130を選択すると、その友達の位置に関する詳細が地図の下部1140に現れる。同様に、縦横比の異なるインタフェースを提供する図12において、インタフェース1200はユーザに、ユーザの友達の地理的位置1225を示す地図1220を提示する。地図に重畳する表1220には、ユーザの友達のリストが示されている。インタフェース1100と同様、ユーザが表1210の中の友達の1人を選択すると、その友達の詳細がディスプレイの下部1240に表示される。
【0066】
ユーザは、位置情報を共有するための招待を友達に送信したい場合、図13に示すような「友達を追加」インタフェース1300を用いることができる。インタフェース1300では、ユーザは友達/招待する人の連絡先情報を1310に入力することができる。さらに、オプションのパーソナルメッセージを1320に入力することもできる。上述の通り、また図14の連絡先リスト1400に示されるように、連絡先情報は他のサービスやユーザ機器上のアプリケーションから取得することもできる。
【0067】
図15は、1510に連絡先の名前(好ましくは連絡先の電子メールアドレス、電話番号または他の関連連絡先情報)埋め込みリンク)が入力された、友達追加要求フォーム1500の完成形を示している。また、短いパーソナルメッセージ1520も示されている。
【0068】
図16は、自身の位置情報を要求ユーザと共用するための招待状を受信したことを、ウィンドウ1600で友達に通知する方法の1つを示している。ウィンドウ1600で友達に示されるように、ユーザはボタン1610を選択して招待の内容を直ちに見るか、ボタン1620を選択して招待を後で見るかを選択することができる。なお、この通知は、現在どのようなアプリケーションが実行中であろうと通知を提供するシステムベースのメッセージの形式を有することが好ましい。
【0069】
友達が招待の内容を見ることを選択した場合、図17に示すように要求メッセージ1700が友達に提示される。要求メッセージ1700において、招待は招待者の名前1710および短いパーソナルメッセージ1720を含むことが好ましい。さらに、招待は承認ボタン1730と辞退ボタン1740とを含むことができる。
【0070】
図18を参照して、モバイル機器ユーザは、インタフェース1800に自身のアカウントに関する所定の項目を保持することができる。インタフェース1800でユーザは、例えばフィールド1820内の現在位置にラベル1810を設定することができる。ユーザはまた、フォローの招待を受け入れた全ての友達を含むフォロワーのリスト1830を見直すこともできる。ユーザはさらに、スイッチ1840を切り替えることにより、自分のフォロワーから隠すことを選択できる。
【0071】
所定の場所にラベルを割り当てることに関し、図19のインタフェース1900がユーザに提示されてもよい。インタフェース1900において、ユーザは用意されたラベル1910の1つを選択するか、フィールド1930にテキストを入力してカスタムラベルを追加することができる。現在用いられているラベルはフィールド1920に示される。図20のインタフェース2000に示すように、インタフェース1900に用意されたラベル1910に加え、追加の場所固有ラベルオプションが自動的に追加されてもよい。図20に示すように、場所ラベル2010が用意された場所ラベルのリストに追加されている。このようなラベル2010は、例えばユーザがスターバックス(登録商標)の近くにいることが判明した際に追加されてよい。
【0072】
本発明の所定の実施形態についてさらに説明するため、以下では、モバイル機器の所定のユーザが友達の位置を取得するために本発明の1つ以上の実施形態をどのように用いることができるのかを示すシナリオを用いる。
【0073】
1つめのシナリオは、モバイル機器ユーザが昼にどこか、例えばパロアルトのダウンタウンにいて、簡単な昼食に誘える友達が近くにいるかどうかを知りたい場合に相当しうる。ユーザは、友達の場所を調べ、近くにいる友達を特定し、連絡を取るために本発明の実施形態を用いることができるであろう。
【0074】
2つめのシナリオは、複数のモバイル機器ユーザが、自分たちが所定時刻にどこにいるのか他者が知ることを許す必要がある、あるいは許したい場合に相当する。モバイル機器ユーザが例えばマラソンのトレーニングをしており、毎日外で数マイル走っている場合がこのような状況に該当する。このユーザは、何かあった場合に常に位置を把握してもらえるよう、トレーニング時間中、パートナーに自分の位置を知らせたいと思っている。このような場合、本発明の実施形態が役立つであろう。また、この人物が実際にマラソンに参加している場合、友達はこの人物をレース中に励ますのに適切な場所に行けるよう、コースをどの程度走ったかを知りたいと考えるだろう。このようなシナリオでは、そのエリアのストリートマップにレースのコースを重畳した地図であって、ユーザがランナーの場所を知ることができ、ランナーが次に向かっている場所についての何らかの表示を有するような地図を提供する本発明の実施形態が役立つであろう。
【0075】
3つめのシナリオは、複数のモバイル機器ユーザが、だれかが所定の位置に達したことの通知の受信を希望する場合に該当する。このようなシナリオは、1人のモバイル機器ユーザが例えば車での旅行に出かけており、別の人物が、このユーザが到着した際に通知を受けたい場合が該当する。このようなシナリオには、週末の休日に、家の車を使って数時間の距離に住む従兄弟に会いに行くことを十代の息子に許した親もまた該当するだろう。親は到着次第連絡するよう息子に言いつけているが、息子は忘れて連絡してこないことが多い。このような場合、息子が目的地に着いた際に親に自動的に通知するように警報をセットしておくことで、親または息子は、本発明の実施形態の利点を享受できるであろう。それまでの間、親は手動で息子のモバイル機器の位置を探索する別の実施形態をさらに用いて、息子が道に迷っていないことを確認することもできる。
【0076】
4つめのシナリオは、誰かが所定の地理的位置に入ったことの通知の受信を複数のモバイル機器ユーザが希望する場合に該当する。例えば、公共交通機関を用いて都市に通勤しているが、駅やバス停まで歩いて行ける距離に住んでいない人物である。この人物は、夜や天気が荒れ模様の際には、自分で車を運転して駐車するよりも、配偶者かパートナーに迎えに来て欲しいと考えている。バスや鉄道の中には、携帯電話での通話を禁止する決まりや礼儀を有するものがあるため、この通勤者は到着するまで配偶者やパートナーへの電話を控えなくてはならず、その後例えば雨の中で待たなければならない。このようなユーザは、通勤者が所定の地理的範囲(すなわち、目的のバス停や駅に近い場所)に入ると、通勤者が通話する必要なく、通勤者のモバイル機器がパートナーの機器に通知することを可能にする本発明の実施形態の恩恵を享受できるであろう。従って、通勤者およびそのパートナーは、駅やバス停に同時に到着できるであろう。
【0077】
同様に、5つめのシナリオは、ある人物が所定の範囲に入った際に通知を受信すると所定の動作を実行可能な、ネットワークに接続された所定の家電製品を有するユーザが該当する。例えば、ある人物が山中の別荘に旅行中に、この人物が所定の地理的範囲に入った(すなわち別荘に近づいた)際に例えば暖房や玄関先の照明といった別荘内の所定の家電製品がオンする。本発明の実施形態は、ユーザがこのような設定を行ったり、このような設定による利益を享受したりすることを可能にする。
【0078】
6つめのシナリオは、誰かが所定の地理的位置から出たことの通知の受信を誰かが希望する場合に該当する。例えば、次の月曜が期限の宿題を終えるため、週末は外出しないように娘にいいつけた親が該当する。娘がモバイル機器をもって近所に出かけると、親は通知を受ける。ここで開示される技術は、親がそのような通知をうけることを可能にする。
【0079】
7つめのシナリオは、何人かのモバイル機器ユーザが短期間に限って自分の位置が把握されることを希望する場合である。例えば、都市に出張中で、そこに住む旧友と夕食を取るために会うことを希望する人物が該当する。この人物はその都市に住んでおらず、旧友とあまり連絡を取り合っていないので、旧友が自分の位置を常に知ることができるようにはしたくない。この場合、旧友に24時間だけ自分の位置を知ることを許可するための「1日パス」を、その人物が旧友に送信する用いる実施形態が有効である。24時間経過後は、1日パスは失効し、旧友はその人物の位置を知ることができなくなる。
【0080】
8つめのシナリオにおいて、ユーザはある限られた期間だけ複数人の間で位置情報を共用するため、複数人を連絡先リストから選択する。例えば、ユーザはアップル社のWWDCのような会議に参加するため街にいる。ユーザは、自分の知っている何人かの人物が同じ会議に参加していることを知っており、イベント中彼らの居場所を知りたいと思っている。本発明の一実施形態は、このユーザがその会議中に位置を知りたい複数の人物に招待状を送信することを可能にする。そのユーザの知人が招待を承認すると、ユーザおよび知人は互いに相手の位置を知ることができるようになる。しかし、相互に位置を知ることができる機能に対しては、(会議中だけといったような)1日のうちの特定の時間や、有効期限までといったような、何らかの制限がユーザによって設定されてもよい。
【0081】
図21〜図24は、有効期限まで位置情報を共有するために用いたり、例えば8つめのシナリオで説明したようなシナリオの間に用いたりすることのできる所定のインタフェースの構成を示している。図21は、位置を相互に共有するために友達に送信する招待状をユーザが設定および送信するための招待インタフェース画面の一実施形態を示している。図7で説明したものと同様、「+」ボタン2110をタッピングすることでユーザは招待状に友達を追加することができる。招待状に追加された友達は、追加されたことを示すために、作成された電子メールにおける「To:」の欄と同様に、画面2110上に表示される。図21は、ユーザが2人の友達を招待状に追加した状態を示しており、そのため友達の名前”Jared Gosler”および”Susan Adams”が表示されている。
【0082】
図21に示す例示的なインタフェースにおいて、ユーザはさらに、特定のイベント2130を入力し、有効期限2140を設定して、例えば招待状に関連付けることができる。しかし、適用可能な地理的範囲や他の時間制限を設定するような他の設定オプションが提供されてもよい。図21において、ユーザは招待状を「WWDC」会議に関連付けるとともに有効期限を「6月10日(金)午前10時」に設定している。実施形態によっては、招待状を特定のイベントに関連付けることは、その特定のイベントによって提供される所定の地図および、例えばより正確な非GPS位置情報(すなわち、特定の会議室)を提供しうる無線アクセスポートへのアクセスをユーザに許可する。有効期限はユーザおよび招待された友達がいつまで位置情報を共有しうるかの制限を設定している。
【0083】
図22は、ユーザが送信した位置情報共有への招待状受信時に、招待された友達が受け取る警告の例を示している。友達への要求の通知を提供するメッセージボックス2210が表示される。要求のテキスト2220は、その友達が、ユーザおよび他の人物(Susan Adams)との、設定された有効期限までの位置情報共有に招待されていることを説明している。この実施形態において、メッセージボックス2210は機器のユーザがメッセージボックスを閉じることまたは招待状を見ることを可能にするボタンを含んでいる。他の実施形態において、メッセージボックスは、招待を承認、無視、または拒否するための、追加の/別のボタンを有する。
【0084】
図23は招待状の表示の例示的な実施形態を示している。この招待状は関連付けられたイベント2310および、設定された有効期限を含む、位置情報共有要求の詳細を説明するテキスト2320を含んでいる。さらに、位置共有招待状に招待された全ての人物の名前と対応する応答状況2330,2340,2350がさらに表示されている。図示の通り、人物名の隣のチェックマークはその人物が招待を承認していることを示す。同様に、人物名の隣に表示されるクエスチョンマークは、その人物が招待に未応答であり、招待が承認されるかどうか不確定であることを示す。ある人物が招待を拒否した場合、位置情報を共有しないという決定を示すため、その名前の隣にXが表示される。Xの表示はまた、その人物がその会議の地理的範囲に存在しないことおよび/または、場合によってはまだチェックインしていないことを示してもよい。招待状を受信すると、機器ユーザは選択可能なオプション2360および2370の1つを選択して拒否または承認することができる。
【0085】
図24は、限定的な期間についての位置情報共有に招待した友達がユーザの招待を承認した後に、ユーザが一時的な友達2460を見ることを選択した際にユーザに表示される可能性の高い状態を示した実施形態を示す。図24に示すように、この位置情報の共有に関連付けられたイベント2410(WWDC)がある。上述の通り、実施形態によっては、特定のイベントと位置が関連付けられている場合、ジオコーディングされたアクセスポートへの接続や、イベント開催者からの通知受信といった所定の追加機能が利用可能になる。あるいは、またはさらに、イベント名の入力および位置とイベントとの関連付けは、会議やイベントの終了時刻のようなオートフィル情報であってもよい。ここで、位置探索許可の終了時刻2420は、6月10日の午前10時と示されている。一時的な位置探索要求を承認した友達に関する情報は、この表示の2430a、2430bに示されている。図9に示した実施形態と同様に、友達情報はとりわけ、友達の名前、既知の最新位置およびその取得時刻を含むことができる。要求を特定のイベントに関連付ける場合、グループメッセージ2440を送信するためのボタンをクリックすることで、ユーザがリスト上の他の全てのユーザに連絡することが可能とすることが好ましい。このボタンは選択されると、位置情報を共有するための招待を承認した友達それぞれに送信される1つのメッセージをユーザが作成することを可能にする。ユーザはまた、地図を見るためのボタン2450を選択することができる。このボタンが選択されると、各友達の位置が示された頭上図が表示される。上述したように、この地図は通常の位置マップであっても、カスタマイズされかつ関連イベントに関連付けられた地図(すなわちMoscone CenterやYerba Buena Center内の部屋を示す地図)であってもよい。
【0086】
上述の通り、本発明の一側面は、ユーザのモバイル機器から入手可能なデータを集めて使用することである。本発明はその一部の実施形態において、この収集されたデータが特定の人物を特定したり、特定の人物に連絡を取ったり位置探索したりすることが可能な個人情報データを含みうることを想定している。このような個人情報データは、ユーザ機器に関するハードウェア情報、位置関連データ、電話番号、電子メールアドレス、ツイッターIDのようなソーシャルメディアID、勤務先および自宅住所、友達、または他の任意の個人特定情報を含みうる。ユーザは通常このデータを、アカウント登録時および/またはアプリケーション使用中に入力する。
【0087】
本発明は、そのような個人情報をここで示す技術で利用することが、ユーザに利便性を提供するために使用可能であることを認識している。ここで開示する技術の核となる機能(すなわち、ユーザの位置探索)を提供するために必要となるだけでなく、個人情報データはユーザの振る舞いのより良い理解や、効率的な適用の促進および測定にも利用することができる。さらに、ユーザに恩恵を与える個人情報データの他の使用もまた本発明が想定するところである。
【0088】
本発明はさらに、そういった個人情報データの収集、解析、開示、転送、保存や他の利用を受け持つエンティテイが、個人情報データをプライベートかつセキュアに保つという業界または政府の要求に合致するまたはそれを超えると一般的に認識されるプライバシポリシおよび慣行を実装しかつ一貫して用いるべきであることを想定している。例えば、ユーザからの個人情報はエンティテイの合法的かつ合理的な利用のために収集すべきであり、合法的な利用を超えて共用または販売されるべきではない。さらに、このような収集はユーザに説明をして同意を得た後でのみ行われるべきである。また、このようなエンティテイは個人情報データへのアクセスを保護し、セキュアに保つとともに、個人情報データにアクセス可能な第3者が個人のプライバシーおよびセキュリティポリシーならびに手続を順守することを確実にするために必要ないかなる手順をも行うであろう。さらに、このようなエンティテイは、広く受け入れられているプライバシーポリシーおよび慣行を順守していることの第3者評価の対象とすることができる。
【0089】
これまで説明していないが、個人情報データの利用またはアクセスをユーザが選択的にブロックする実施形態も考えられる。すなわち、個人情報データへのアクセスを防いだりブロックしたりするためのハードウェアおよび/またはソフトウェアもまた本発明の範囲に含まれる。例えば、位置情報に応じたサービスにおいて、ユーザが、個人情報データの送信の参加の「オプトイン」または「オプトアウト」を選択できるように本発明を構成してもよい。ユーザの個人情報データへのアクセスをブロックするための他の方法または技術も本発明の想定するところである。
【0090】
本発明の範囲に含まれる実施形態は、コンピュータが実行可能な命令またはデータ構造を格納する有形および/または恒久的なコンピュータ可読記憶媒体をも含みうる。このような恒久的なコンピュータ可読記憶媒体は、上述した特定用途向けプロセッサの機能設計を含む、汎用もしくは特定用途向けコンピュータによってアクセス可能な任意の入手可能な媒体であってよい。非限定的な例として、このような恒久的なコンピュータ可読媒体は、RAM、ROM、EEPROM、CD-ROMまたは他の光ディスク記憶装置、磁気ディスク記憶装置または他の磁気記憶装置、または所望のプログラムコード手段をコンピュータが実行可能な命令、データ構造もしくはプロセッサチップ設計の形式で保持または格納するために使用可能な任意の他の媒体を含むことができる。情報がネットワークまたは他の通信接続(有線、無線またはその組み合わせのいずれか)を通じてコンピュータに転送または提供される場合、コンピュータはその接続をコンピュータ可読媒体と見なす。従って、そういった接続も正にコンピュータ可読媒体に含まれる。上述したものの組み合わせもまた、コンピュータ可読媒体の範囲に含まれる。
【0091】
コンピュータが実行可能な命令には、例えば、汎用コンピュータ、特定用途向けコンピュータ、または特定用途向け処理装置に、所定の機能または機能群を実行させる命令およびデータを含む。コンピュータが実行可能な命令はまた、コンピュータが単体で、あるいはネットワーク環境において実行するプログラムモジュールを含む。通常、プログラムモジュールは、特定のタスクを実行したり特定の抽象データタイプを実装したりするルーチン、プログラム、部品、データ構造、オブジェクト、および特定用途向けプロセッサの設計に固有な機能などを含む。コンピュータが実行可能な命令、関連するデータ構造、およびプログラムモジュールは、ここで開示した方法の工程を実行するためのプログラムコード手段の例である。このような実行可能な命令または関連するデータ構造の特定のシーケンスは、そのような工程で説明される機能を実施するための対応する活動の例を示す。
【0092】
本技術分野に属する当業者は、本発明の他の実施形態が、パーソナルコンピュータ、ハンドヘルド機器、マルチプロセッサシステム、マイクロプロセッサを用いた、あるいはプログラム可能な電化製品、ネットワークPC、ミニコンピュータ、メインフレームコンピュータなど、コンピュータシステムの多くの形式を用いるネットワークコンピューティング環境で実施されうることを理解するであろう。実施形態はまた、通信ネットワーク(有線リンク、無線リンク、またはその組み合わせのいずれか)を通じて接続されたローカルおよびリモート処理装置でタスクが実行される分散コンピューティング環境において実施されてもよい。分散コンピューティング環境において、プログラムモジュールはローカルおよびリモートメモリ記憶装置におかれてもよい。
【0093】
上述した様々な実施形態は例示のみを目的としたものであり、本発明の範囲を限定するものと解されるべきではない。本技術分野の当業者は、ここで図示および説明した例示的な実施形態および用途に従わずに、また本発明の精神および範囲を離れることなく、ここで説明した基本原理に対して行いうる様々な修正や変更を容易に理解するであろう。
【特許請求の範囲】
【請求項1】
コンピュータによって実行される方法であって、
プロセッサが要求機器から、1つ以上の被要求機器の位置探索要求を受信する工程と、
前記プロセッサが、前記位置探索要求が比較的正確な応答を必要とするか、大まかな応答で十分かを判定する工程と、
前記プロセッサが、前記位置探索要求が大まかな応答しか必要としないと判定される場合には前記被要求機器に浅い位置探索要求を送信する工程と、を有することを特徴とする方法。
【請求項2】
前記浅い位置探索要求が、許容精度範囲指示を有することを特徴とする請求項1記載の方法。
【請求項3】
前記浅い位置探索要求が、利用可能なGPS機器を用いることなく満たされるべきものであると受信機器で解釈可能であることを特徴とする請求項1記載の方法。
【請求項4】
前記プロセッサは、前記位置探索要求が複数の被要求機器の位置を要求する場合には、前記要求が、大まかな応答しか必要としないものと判定することを特徴とする請求項1記載の方法。
【請求項5】
前記特定された機器の位置探索要求が、所定時間内の最初の要求であることを特徴とする請求項1記載の方法。
【請求項6】
さらに、前記プロセッサが、被要求機器に関する位置情報を受信する許可の要求を前記要求機器から受信する工程を有することを特徴とする請求項1記載の方法。
【請求項7】
前記許可の要求が、設定された期間に対するものであることを特徴とする請求項6記載の方法。
【請求項8】
さらに、前記プロセッサが、前記被要求機器に関する位置情報を受信する許可を前記被要求機器から受信する工程を有することを特徴とする請求項6記載の方法。
【請求項9】
被要求機器に関する位置情報を受信する前記許可が、設定された期間に対するものであることを特徴とする請求項7記載の方法。
【請求項10】
さらに、前記プロセッサが、前記要求機器が被要求機器の各々に関する位置情報を受信する許可を有するか否かを判定する工程を有することを特徴とする請求項1記載の方法。
【請求項11】
さらに、前記プロセッサが、前記要求機器が被要求機器の各々に関する位置情報を受信する許可を有するか否かを判定する工程を有することを特徴とする請求項1記載の方法。
【請求項12】
被要求機器の位置情報の要求を受信し、前記被要求機器についての期限切れでない位置がキャッシュに保存されているかどうかを判定し、前記被要求機器に位置探索要求を発行する手段と、
前記位置探索要求を受信し、前記要求の許容精度を解明し、前記位置探索要求の許容精度が許せば、精度が低く電力消費の小さな機構を用いて自身の位置を測定し、位置応答をサーバに送信する手段と、を有することを特徴とするシステム。
【請求項13】
前記位置探索要求が浅い位置探索要求であることを特徴とする請求項12記載のシステム。
【請求項14】
さらに、前記受信した位置探索要求を浅い位置探索推測を用いて処理し、友達の機器の大まかな位置が前記受信した要求を満足すると判定する手段を有することを特徴とする請求項12記載のシステム。
【請求項15】
前記位置応答が位置及び精度データを有することを特徴とする請求項12記載のシステム。
【請求項16】
恒久的なコンピュータ可読記憶媒体であって、
コンピュータ機器で実行された際に、該コンピュータ機器に、
サーバが、被要求機器の地理的位置を要求する位置探索要求を要求機器から受信する工程と、
前記要求が大まかな位置で応答可能なものかどうかを判定するために浅い位置探索推測を適用する工程と、
前記要求が大まかな位置で応答可能なものと前記浅い位置探索推測が判定した場合、浅い位置探索要求を送信する工程と、
前記被要求機器から位置応答を受信する工程と、
現在の地理的位置情報を前記要求機器に送信する工程と、を有する方法を実行させる命令を格納した恒久的なコンピュータ可読記憶媒体。
【請求項17】
サーバによって発行される前記位置探索要求が浅い位置探索要求であることを特徴とする請求項16記載の記憶媒体。
【請求項18】
前記サーバはさらに、前記受信した位置探索要求を浅い位置探索推測を用いて処理するように構成され、前記サーバは、友達の機器の大まかな位置の情報が前記受信した位置探索要求を満足すると判定することを特徴とする請求項16記載の記憶媒体。
【請求項19】
前記位置応答が位置及び精度データを有することを特徴とする請求項16記載の記憶媒体。
【請求項20】
前記特定された機器の位置探索要求が、所定時間内の最初の要求であることを特徴とする請求項16記載の記憶媒体。
【請求項1】
コンピュータによって実行される方法であって、
プロセッサが要求機器から、1つ以上の被要求機器の位置探索要求を受信する工程と、
前記プロセッサが、前記位置探索要求が比較的正確な応答を必要とするか、大まかな応答で十分かを判定する工程と、
前記プロセッサが、前記位置探索要求が大まかな応答しか必要としないと判定される場合には前記被要求機器に浅い位置探索要求を送信する工程と、を有することを特徴とする方法。
【請求項2】
前記浅い位置探索要求が、許容精度範囲指示を有することを特徴とする請求項1記載の方法。
【請求項3】
前記浅い位置探索要求が、利用可能なGPS機器を用いることなく満たされるべきものであると受信機器で解釈可能であることを特徴とする請求項1記載の方法。
【請求項4】
前記プロセッサは、前記位置探索要求が複数の被要求機器の位置を要求する場合には、前記要求が、大まかな応答しか必要としないものと判定することを特徴とする請求項1記載の方法。
【請求項5】
前記特定された機器の位置探索要求が、所定時間内の最初の要求であることを特徴とする請求項1記載の方法。
【請求項6】
さらに、前記プロセッサが、被要求機器に関する位置情報を受信する許可の要求を前記要求機器から受信する工程を有することを特徴とする請求項1記載の方法。
【請求項7】
前記許可の要求が、設定された期間に対するものであることを特徴とする請求項6記載の方法。
【請求項8】
さらに、前記プロセッサが、前記被要求機器に関する位置情報を受信する許可を前記被要求機器から受信する工程を有することを特徴とする請求項6記載の方法。
【請求項9】
被要求機器に関する位置情報を受信する前記許可が、設定された期間に対するものであることを特徴とする請求項7記載の方法。
【請求項10】
さらに、前記プロセッサが、前記要求機器が被要求機器の各々に関する位置情報を受信する許可を有するか否かを判定する工程を有することを特徴とする請求項1記載の方法。
【請求項11】
さらに、前記プロセッサが、前記要求機器が被要求機器の各々に関する位置情報を受信する許可を有するか否かを判定する工程を有することを特徴とする請求項1記載の方法。
【請求項12】
被要求機器の位置情報の要求を受信し、前記被要求機器についての期限切れでない位置がキャッシュに保存されているかどうかを判定し、前記被要求機器に位置探索要求を発行する手段と、
前記位置探索要求を受信し、前記要求の許容精度を解明し、前記位置探索要求の許容精度が許せば、精度が低く電力消費の小さな機構を用いて自身の位置を測定し、位置応答をサーバに送信する手段と、を有することを特徴とするシステム。
【請求項13】
前記位置探索要求が浅い位置探索要求であることを特徴とする請求項12記載のシステム。
【請求項14】
さらに、前記受信した位置探索要求を浅い位置探索推測を用いて処理し、友達の機器の大まかな位置が前記受信した要求を満足すると判定する手段を有することを特徴とする請求項12記載のシステム。
【請求項15】
前記位置応答が位置及び精度データを有することを特徴とする請求項12記載のシステム。
【請求項16】
恒久的なコンピュータ可読記憶媒体であって、
コンピュータ機器で実行された際に、該コンピュータ機器に、
サーバが、被要求機器の地理的位置を要求する位置探索要求を要求機器から受信する工程と、
前記要求が大まかな位置で応答可能なものかどうかを判定するために浅い位置探索推測を適用する工程と、
前記要求が大まかな位置で応答可能なものと前記浅い位置探索推測が判定した場合、浅い位置探索要求を送信する工程と、
前記被要求機器から位置応答を受信する工程と、
現在の地理的位置情報を前記要求機器に送信する工程と、を有する方法を実行させる命令を格納した恒久的なコンピュータ可読記憶媒体。
【請求項17】
サーバによって発行される前記位置探索要求が浅い位置探索要求であることを特徴とする請求項16記載の記憶媒体。
【請求項18】
前記サーバはさらに、前記受信した位置探索要求を浅い位置探索推測を用いて処理するように構成され、前記サーバは、友達の機器の大まかな位置の情報が前記受信した位置探索要求を満足すると判定することを特徴とする請求項16記載の記憶媒体。
【請求項19】
前記位置応答が位置及び精度データを有することを特徴とする請求項16記載の記憶媒体。
【請求項20】
前記特定された機器の位置探索要求が、所定時間内の最初の要求であることを特徴とする請求項16記載の記憶媒体。
【図1】
【図2】
【図3a】
【図3b】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図2】
【図3a】
【図3b】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【公開番号】特開2012−244630(P2012−244630A)
【公開日】平成24年12月10日(2012.12.10)
【国際特許分類】
【外国語出願】
【出願番号】特願2012−113725(P2012−113725)
【出願日】平成24年5月17日(2012.5.17)
【公序良俗違反の表示】
特許法第64条第2項第4号の規定により図面の一部または全部を不掲載とする。
(特許庁注:以下のものは登録商標)
1.GSM
【出願人】(503260918)アップル インコーポレイテッド (568)
【Fターム(参考)】
【公開日】平成24年12月10日(2012.12.10)
【国際特許分類】
【出願番号】特願2012−113725(P2012−113725)
【出願日】平成24年5月17日(2012.5.17)
【公序良俗違反の表示】
特許法第64条第2項第4号の規定により図面の一部または全部を不掲載とする。
(特許庁注:以下のものは登録商標)
1.GSM
【出願人】(503260918)アップル インコーポレイテッド (568)
【Fターム(参考)】
[ Back to top ]