(58)【調査した分野】(Int.Cl.,DB名)
前記受け取られたメッセージおよび前記受け取られた移動情報をユーザに提示するステップが、前記第1のコンピューティングデバイス上で単一のアプリケーションを実行している間に、前記第1のコンピューティングデバイス上に表示された単一のユーザインターフェース要素内に、前記受け取られたメッセージおよび前記受け取られた移動情報を表示するステップを含む、請求項5に記載の方法。
前記比較に基づいて前記発信元ユーザが阻止されたユーザであると判断すると、前記移動情報を要求するステップは阻止され、前記比較に基づいて前記発信元ユーザが許されたユーザであると判断すると、前記移動情報を要求するステップは可能にされる、請求項5に記載の方法。
【発明を実施するための形態】
【0007】
[0012] 図を参照すると本開示の実施形態は、ピアツーピア接続を通じてデバイス間の移動情報の送出および/または受信を可能にする。例えば、第1のコンピューティングデバイス102の第1のユーザ104は、第1のコンピューティングデバイス102の行程を記述する移動情報を、第2のコンピューティングデバイス124の第2のユーザ122にプッシュするもしくは別の方法で供給する。別の例として、第1のコンピューティングデバイス102は、第2のコンピューティングデバイス124からのメッセージ(例えばテキストメッセージ)が、第1のコンピューティングデバイス102によって受け取られるとすぐなどに、第2のコンピューティングデバイス124から移動情報をプルするもしくは別の方法で要求する。例示的移動情報は、現在の経路、速度、移動の方向、現在の推定到着時間、および/またはデバイス行程(例えば期待されるおよび/または予想される)を記述する他のデータを含むが、それらに限定されない。
【0008】
[0013] 本開示の態様は、家族、親しい友人、仕事関係の仲間などの、2人以上のユーザが移動情報を交換することを可能にする。移動情報は、本明細書でさらに述べられるように手動で、および/または自動的に(例えば一方または両方のユーザからの明示的なアクションなしに)交換され得る。加えて移動情報は、イベント、基準、規則などに基づいて規則的に、定期的に、間欠的に更新され得る。
【0009】
[0014] 中央サービスではなくピアツーピア接続を用いることにより、いくつかの実施形態はユーザに、デバイス間で共有されているデータに対する向上されたプライバシー、セキュリティ、および管理をもたらす。例えばピアツーピア接続を用いると共有データは、データが他の当事者によって引き出され(mined)またはアクセスされ得る中央サーバ上には記憶されない。慎重に扱うべき共有データ(例えば移動情報)に対しては、ユーザはこのようなデータをピアツーピア接続を通して共有する方がより安全に感じ得る。
【0010】
[0015] 加えて、移動情報を共有するためにピアツーピア接続を用いるコストは、この情報を共有するために中央サービスを用いるよりも低くなり得る。実際いくつかの地理的地域では、ピアツーピア接続を通して移動情報を共有するためのコストは、既存のテキストメッセージングプランのもとに包括され得る。
【0011】
[0016]
図1を参照すると例示的ブロック図は、ネットワーク128を通じて第2のユーザ122に関連する第2のコンピューティングデバイス124と通信する、第1のユーザ104に関連する第1のコンピューティングデバイス102を示す。コンピューティングデバイス102および124は、音声通信、テキストメッセージング(例えばショートメッセージングサービス、マルチメディアメッセージングサービス)、インスタントメッセージング、ソーシャルネットワークサービスを通じた通信、電子メールなどをサポートするためなどの、多様なプロトコルおよび輸送機構を用いて通信を行うことができる。それに従ってコンピューティングデバイス102および124は、多様な異なる技法を利用して互いに通信することができる。
【0012】
[0017] コンピューティングデバイス102および124は、有線および/またはワイヤレスネットワークを含むように実装され得る、1つまたは複数のネットワーク128を通じて通信する。ネットワークはまた、任意のタイプのネットワークトポロジおよび/または通信プロトコルを用いて実装することができ、インターネットプロトコル(IP)ネットワークおよび/またはインターネットを含むように、2つ以上のネットワークの組み合わせとして表されるあるいは実装され得る。ネットワーク128はまた、通信サービスプロバイダ、携帯電話プロバイダ、および/またはインターネットサービスプロバイダなどの、モバイルネットワークオペレータおよび/または他のネットワークオペレータによって管理されるモバイルオペレータネットワークを含むことができる。
【0013】
[0018]
図1の例は、移動情報の通信のためのシステムを示す。本開示の態様は、ピアツーピア接続を通じたコンピューティングデバイス102および124の間の通信に関連して述べられるが、非ピアツーピア接続は本開示の範囲内である。
【0014】
[0019] コンピューティングデバイス102および124のそれぞれは、命令(例えばアプリケーションプログラム、オペレーティングシステム機能、または両方)を実行して本明細書で述べられ図示される動作および機能を実装する任意のデバイスを表す。コンピューティングデバイス102および124は、モバイルコンピューティングデバイスまたは任意の他のポータブルデバイスを含むことができる。いくつかの実施形態ではモバイルコンピューティングデバイスは、携帯電話、ラップトップ、タブレット、コンピューティングパッド、ネットブック、ゲーム装置、および/またはポータブルメディアプレーヤを含む。コンピューティングデバイス102および124はまた、少なくともメッセージおよび移動情報を受け取るための、デスクトップパーソナルコンピュータ、キオスク、テーブルトップデバイス、産業用制御デバイス、ワイヤレス充電スタンド、および電気自動車充電スタンドなどの可搬性の低いデバイスを含むことができる。加えてコンピューティングデバイス102および124は、処理ユニットまたは他のコンピューティングデバイスのグループを表すことができる。コンピューティングデバイス102および124の一方は1つの形またはタイプのデバイスを表すことができ、コンピューティングデバイス102および124の他方は別の形またはタイプのデバイスを表すことができる。
【0015】
[0020] いくつかの実施形態ではコンピューティングデバイス102および124のそれぞれが、
図1に示される要素を含む。見やすいように要素は図示され、次に第1のコンピューティングデバイス102に関連付けられたものを参照して述べられる。
【0016】
[0021]
図1に示されるように第1のコンピューティングデバイス102は、1つまたは複数のセンサ112、少なくとも1つのプロセッサ106、メモリ領域108、および少なくとも1つのユーザインターフェースを有する。センサ112は、1つまたは複数の加速度計、1つまたは複数のジャイロスコープ、全地球測位システム(GPS)トランシーバ、ワイヤレスフィディリティ(Wi-Fi)もしくは他のワイヤレストランシーバ、光受容光センサ、および第1のコンピューティングデバイス102を記述するデータをもたらす他のセンサを含む。
【0017】
[0022] プロセッサ106は、任意の個数の処理ユニットを含み、本開示の態様を実装するために、コンピュータ実行可能命令(例えばメモリ領域108に記憶された)を実行するようにプログラムされる。命令は、プロセッサ106によって、もしくは第1のコンピューティングデバイス102内で実行する複数のプロセッサによって行うことができ、または第1のコンピューティングデバイス102の外部のプロセッサによって行われ得る。いくつかの実施形態ではプロセッサ106は、本明細書で述べられる機能を実装するようにフローチャートに示されるものなどの、命令を実行するようにプログラムされる。
【0018】
[0023] いくつかの実施形態ではプロセッサ106は、本明細書で述べられる動作を行うアナログ技法の実装形態を表す。例えば動作は、アナログコンピューティングデバイスおよび/またはデジタルコンピューティングデバイスによって行われ得る。
【0019】
[0024] 第1のコンピューティングデバイス102はさらに、メモリ領域108などの1つまたは複数のコンピュータ記憶媒体を有する。メモリ領域108は、第1のコンピューティングデバイス102に関連するまたはそれによってアクセス可能な、任意の個数の媒体を含む。メモリ領域108は、第1のコンピューティングデバイス102の内部、第1のコンピューティングデバイス102の外部、または両方とすることができる。いくつかの実施形態ではメモリ領域108は、リードオンリメモリ、および/またはアナログコンピューティングデバイス内に配線されたメモリを含む。さらにメモリ領域108は、信号を除く、揮発性および/または不揮発性メモリを備え得る、ハードウェアメモリの一部とすることができる。
【0020】
[0025] コンピューティングデバイス102は、メモリ領域108内に他のデータのなかでも、アプリケーション110、ユーザ識別子118、および認可120を記憶する。アプリケーション110は、プロセッサ106によって実行されたときに、第1のコンピューティングデバイス102上の機能を行うように動作する。例示的アプリケーション110は、メールアプリケーションプログラム、ウェブブラウザ、予定表アプリケーションプログラム、アドレス帳アプリケーションプログラム、メッセージングプログラム、メディアプリケーション、ゲームアプリケーション、地図アプリケーション、場所ベースのサービス、検索プログラムなどを含む。アプリケーション110は、ネットワークを通じてアクセス可能なウェブサービスなどの、対応アプリケーションまたはサービスと通信することができる。例えばアプリケーションは、クラウド内で実行するサーバ側サービスに対応する、ダウンロードされたクライアント側アプリケーションを表すことができる。
【0021】
[0026] ユーザ識別子118は、第1のユーザ104に関連するまたはそれによって知られる第2のユーザ122などの、他のユーザの識別を記憶する。例えばユーザ識別子118は、連絡先リスト、アドレス帳、予定表の項目、および/または第1のユーザ104によって送られた前のメッセージの受信者に基づいて、第1のユーザ104に関連する他のユーザの識別を記憶する。さらにユーザ識別子118は、識別、連絡先詳細、および友人、親戚、および同僚などの様々な連絡先グループとの通信の好ましい手段を含むことができる。
【0022】
[0027] ユーザ識別子118は、それに関連する認可120を有する。認可120は、連絡先グループごとに変わることができ、各連絡先グループ内で変わることができ、および/または第1のユーザ104に関連するユーザに対して個別に設定され得る。例えば、第1のユーザ104の移動情報は配偶者によって、曜日および時刻にかかわらず共有されるように、1組の認可をユーザの配偶者に関連付けることができ、一方、第1のユーザ104の移動情報は、特定の日および時間(例えば勤務時間の間)でのみ同僚と共有され得る。
【0023】
[0028] いくつかの実施形態では認可120は、ジオフェンシングに基づくものとすることができる(例えば認可は、第1のユーザの場所に依存することができる)。例えば、第1のユーザ104に関連する何人かの特定のユーザへの移動情報は、第1のユーザ104が勤務場所(例えばオフィス)から予め規定された距離内にいるときだけ、または第1のユーザ104が予め規定された距離外にいるときだけ供給され得る。いくつかの実施形態では予め規定された距離、またはジオフェンスの境界線は、第1のユーザ104によって動的に規定することができ、一方、他の実施形態では予め規定された距離または境界線は、第1のユーザ104の現在の場所に基づいて自動的に規定され得る。
【0024】
[0029] ユーザ識別子118は、ユーザ識別子118に関連する認可120を変更することができる(例えば時間と共に)第1のユーザ104によってポピュレートされ得る。他の実施形態ではユーザ識別子118に対する項目は、連絡先リスト、アドレス帳、予定表の項目、および/または前のメッセージの受信者に基づいて、自動的にポピュレートされ得る。さらに認可120は自動的に設定することができる(例えばデフォルト値、または移動情報の取得または共有に対する第1のユーザ104の好みに基づいて)。他の実施形態では、ユーザ識別子118に対する項目は自動的にポピュレートされるが、ユーザ識別子118(またはユーザ識別子118のグループ)のそれぞれに関連する認可120は、第1のユーザ104によって具体的に設定され得る。
【0025】
[0030] 動作時に認可120は、移動情報の共有を有効または無効にする。例えば第2のコンピューティングデバイス124からのメッセージを受け取ったことに応答して、第1のコンピューティングデバイス102上の認可120は、第1のコンピューティングデバイス102が第2のコンピューティングデバイス124に移動情報を要求するのを阻止するか、または第1のコンピューティングデバイス102が第2のコンピューティングデバイス124に移動情報を要求するのを可能にするように動作する。同様に、移動情報を求める第1のコンピューティングデバイス102からの要求が、第2のコンピューティングデバイス124によって受け取られたとき、第2のコンピューティングデバイス124上の認可120は、第1のコンピューティングデバイス102が第2のコンピューティングデバイス124から移動情報を受け取るのを阻止するまたは可能にするように動作する。
【0026】
[0031] 認可120はまた、移動情報の特定の部分の共有を可能にする、または防止することができる。例えば移動情報は、認可120によって規定されるのに従って共有することが可能にされる情報のタイプに基づいて、フィルタリングされ得る。さらに、特定のユーザと共有されるべき移動情報の細分性のレベルは、認可120を通じて設定され得る。
【0027】
[0032] 認可120は、受け取られたメッセージの評価に基づいて動的に規定され得る。例えば受け取られたメッセージは、メッセージを分類または類別するように評価され、認可120は、分類または類別に基づいて規定または決定される。メッセージのヘッダ内などのメタデータは、メッセージの送出者を識別するように評価され得る。例えばメッセージが、ネットワーク128のサービスプロバイダによって送られた場合は、移動情報は要求または供給され得ない。代替としてまたは追加として、送出デバイスおよび/または受信デバイスの場所、送出デバイスおよび/または受信デバイスの残存電池寿命、および/または時刻などのコンテキスト情報は、認可120の1つまたは複数を動的に規定するように決定され評価される。
【0028】
[0033] いくつかの実施形態では認可120は、管理者としてログインするユーザによってのみ設定することができる、第1のコンピューティングデバイス102に関連するセキュリティポリシー内にカプセル化され得る。いくつかの実施形態では、ユーザ識別子118および/または認可120は、管理者としてログインするユーザによって設定することができ、第1のコンピューティングデバイス102の他のユーザによる変更を受けにくくすることができる。例として、第1のコンピューティングデバイス102に記憶されたユーザ識別子118において識別された第2のユーザ122によって要求されたとき、第1のユーザ104に促すことなく、第1のコンピューティングデバイス102の場所は、第2のコンピューティングデバイス124に自動的に送られ得る。例えば親は、子供の携帯電話のユーザ識別子118および/または認可120を設定することができ、子供の携帯電話に遠隔に問い合わせて、子供が問い合わせについて知ることなく子供の携帯電話の現在の場所を取得することができる。
【0029】
[0034] 第1のコンピューティングデバイス102はさらに、第1のユーザ104に移動情報およびメッセージを提示するために、少なくとも1つのユーザインターフェースを有する。いくつかの実施形態ではユーザインターフェースは、第1のユーザ104にデータを表示し、第1のユーザ104からデータを受け取るためのグラフィックスカードを含むことができる。ユーザインターフェースはまた、グラフィックスカードを動作させるためのコンピュータ実行可能命令(例えばドライバ)を含むことができる。さらにユーザインターフェースは、ディスプレイ(例えばタッチスクリーンディスプレイまたはナチュラルユーザインターフェース)、および/またはディスプレイを動作させるためのコンピュータ実行可能命令(例えばドライバ)を含むことができる。ユーザインターフェースはまた、第1のユーザ104にデータを提供する、または第1のユーザ104からデータを受け取るために、以下の1つまたは複数を含むことができ、すなわちスピーカ、サウンドカード、カメラ、マイクロホン、振動モニタ、1つまたは複数の加速度計、BLUETOOTHブランド通信モジュール、全地球測位システム(GPS)ハードウェア、および光受容光センサである。例えば第1のユーザ104は、特定の方法で第1のコンピューティングデバイス102を動かすことによってコマンドを入力する、またはデータを操作することができる。
【0030】
[0035] 次に
図2を参照すると例示的フローチャートは、第1のコンピューティングデバイス102が、第2のコンピューティングデバイス124にメッセージおよび移動情報を送る動作を示す。202で第1のコンピューティングデバイス102は、第2のコンピューティングデバイス124を対象とするメッセージが、第1のユーザ104から受け取られたかどうかをチェックする。例えば第1のユーザ104は、第1のコンピューティングデバイス102にメッセージをタイプすることができる。メッセージが受け取られたときは、204で第1のコンピューティングデバイス102は、センサ112および/または他の手段から、第1のコンピューティングデバイス102の行程を記述する移動情報を、セルラ電話ネットワーク、Wi−Fiベースのシステム、および/または地図アプリケーションなどを用いて導出する。移動情報は例えば、第1のコンピューティングデバイス102の第1のユーザ104によって用いられている経路、および推定到着時間(ETA)などの行程情報を含む。移動情報はさらに、方位、速度情報、および/または経路に沿った第1のコンピューティングデバイス102の見込まれる軌跡、ならびに第1のコンピューティングデバイス102の現在の場所を含むことができる。現在の場所は、緯度、経度、高度、上昇率、および/または降下率によって表すことができる。
【0031】
[0036] いくつかの実施形態では移動情報は、センサ112、地図情報、交通情報などから取得されたデータ(例えば位置データ)から導出される。例えば地図アプリケーションは、センサ112からの位置データを、地図情報および/または交通情報と共に後処理して、移動情報を生成することができる。
【0032】
[0037] 受け取られたメッセージおよび導出された移動情報は、206で、第1のコンピューティングデバイス102によって第2のコンピューティングデバイス124に送られる。ユーザ識別子118、および第2のユーザ122に対する認可120に基づいて、第1のコンピューティングデバイス102は、自動的にもしくは別の方法で第1のユーザ104からの明示的なまたは同時の入力なしに、メッセージおよび移動情報を第2のコンピューティングデバイス124に送ることができる。他の実施形態では第1のユーザ104は、移動情報をメッセージと共に送ることを承認するように促される。
【0033】
[0038] いくつかの実施形態ではメッセージおよび移動情報は、同じメッセージにおいて第2のコンピューティングデバイス124に送られ、および/または同じアプリケーションによって第2のコンピューティングデバイス124において表示される。他の実施形態ではメッセージおよび移動情報は、異なるメッセージにおいて第2のコンピューティングデバイス124に送られる。第2のコンピューティングデバイス124は、第2のユーザ122にメッセージおよび移動情報を表示する。
【0034】
[0039] その後に、あるいはそうでなければメッセージおよび移動情報を第2のコンピューティングデバイス124に送った後のある時点で、208で第1のコンピューティングデバイス102は、センサ112から更新された移動情報を導出する。いくつかの実施形態では第1のコンピューティングデバイス102は、経過時間、トリガ、イベント、基準、規則、および/または他の要因に応答して、更新された移動情報を導出する。例えば第1のコンピューティングデバイス102は、予め規定された期間が経過した後に、交通状況(例えば渋滞)の変化を検出したとき、第1のコンピューティングデバイス102の行程(例えば経路)の変化および/または他の要因を検出したとき、更新された移動情報を導出することができる。
【0035】
[0040] 210で第1のコンピューティングデバイス102は、更新された移動情報を、前に送られた移動情報と比較する。214で比較に基づいて、更新された移動情報は、第1のコンピューティングデバイス102によって第2のコンピューティングデバイス124に送られる。例えば212で、第1のコンピューティングデバイス102は、更新された移動情報が、前に送られた移動情報によって示される行程とは異なる行程を示すかどうかをチェックすることができる。更新された移動情報が、前に送られた情報によって示される行程とは異なる行程を示す場合は、216で、更新された移動情報は第2のコンピューティングデバイス124に送られる。例えば更新された移動情報は、第1のコンピューティングデバイス102が現在は、以前の経路とは異なる経路上にあることを示し得る。別の例として更新された移動情報は、現在のETAが、以前のETAと異なる(例えば予め規定された閾値持続時間、または時間の長さだけ)ときに送られ得る。
【0036】
[0041] 更新された移動情報が、前に送られた移動情報から大きく(例えば予め規定された閾値だけ)異ならない場合は、218で第1のコンピューティングデバイス102は、更新された移動情報を第2のコンピューティングデバイス124に送らない。例えば更新された移動情報が、前に送られた移動情報とおよそまたは実質的に同じ場合は、更新された移動情報は第2のコンピューティングデバイス124に送られない。
【0037】
[0042] 代替としてまたは追加として、更新された移動情報は、メモリ領域108に記憶された更新頻度に従って導出され、送られる。更新頻度は、第1のユーザ104によって、第1のコンピューティングデバイス102のオペレーティングシステムおよび/または別のエンティティによって規定され得る。
【0038】
[0043] 次に
図3を参照すると例示的ブロック図は、第1の携帯電話306が、第2の携帯電話302に移動情報を送る実施形態を示す。第1のコンピューティングデバイス102、例えば第1の携帯電話306は、第2のコンピューティングデバイス124、例えば第2の携帯電話302と任意のネットワーク(例えばネットワーク128)を通じて通信する。この例では第1の携帯電話306のユーザは、第2の携帯電話302と移動情報を共有するように認可を与えている。例えば認可120は、このような共有を可能にするように規定されている。
【0039】
[0044] 第1の携帯電話306は、第1の携帯電話306のユーザによるいかなるアクションもなしに、間欠的に、所定の時間に、および/または別の予め規定されたイベントが生じたとき、その移動情報を第2の携帯電話302に送るように構成され得る。移動情報は、デバイス識別、現在の緯度、経度、方向、速度、経路、目的地への推定到着時間などを含む、暗号化された形式304で送られる。
【0040】
[0045] 第2の携帯電話302は、移動情報を受け入れるまたは拒絶するように第2の携帯電話302のユーザに促すことなく、第1の携帯電話306の移動情報を受け取るように構成され得る。むしろ、いくつかの実施形態では第2の携帯電話302は、移動情報を受け取り、関連するメッセージと一緒に移動情報を表示する。例えば場所は、テキストとして表示する、第2の携帯電話302によって実行される地図アプリケーション内に表示する、および/または第2の携帯電話302のホーム画面上のタイルまたは他のユーザインターフェース要素内に表示することができる。
【0041】
[0046] 次に
図4を参照すると例示的ブロック図は、その移動を検出し、更新された移動情報を第2の携帯電話302に送る、第1の携帯電話306を示す。第1の携帯電話306は、
図2に関連して述べられたようにトリガ、イベント、基準などに基づいて、センサ112または他の手段などのセンサを用いて、その移動を検出する。第2の携帯電話302からの要求なしに第1の携帯電話306は、暗号化された形式での更新された移動情報404を導出し、第2の携帯電話302に送る。更新された移動情報は、例えばデバイス識別、現在の緯度、経度、方向、速度などを含む。第2の携帯電話302は、更新された移動情報を受け取り、更新された移動情報を(例えばテキストとして、地図アプリケーション内になど)、第2の携帯電話302のユーザに通知する。
【0042】
[0047] 次に
図5を参照すると例示的フローチャートは、移動情報を第2のコンピューティングデバイス124から受け取り、提示する第1のコンピューティングデバイス102の動作を示す。
図5の例では第2のコンピューティングデバイス124は、要求があり次第にのみ移動情報を送るように構成され得る。例えば第2のユーザ122は、第2のコンピューティングデバイス124上の電力消費を低減する、またはメッセージに対するデータプラン制限内に留まるように送信されるメッセージの個数およびサイズを低減することを試みるようにすることができる。
【0043】
[0048] 502で第1のコンピューティングデバイス102は、メッセージが第2のコンピューティングデバイス124から受け取られたかどうかをチェックする。メッセージが第2のコンピューティングデバイス124から受け取られたときは、第1のコンピューティングデバイス102はメッセージと共に移動情報が含まれているかどうかを判断する。移動情報が利用可能でない場合、ならびにユーザ識別子118および認可120は移動情報が受け取られるように承認されていることを示す場合は、504で第1のコンピューティングデバイス102は、第2のコンピューティングデバイス124に関連する移動情報を求める要求を第2のコンピューティングデバイス124に送る。
【0044】
[0049] 例えば、メッセージを送るユーザの識別は、メッセージを受け取るユーザによって記憶されたユーザ識別子118と比較される。移動情報を求める要求は、比較に基づいて第2のコンピューティングデバイス124に送られる。例えば比較が、メッセージを送るユーザは近親者または友人のグループ内(例えば許されたユーザ)であることを明らかにした場合は、第1のコンピューティングデバイス102は、移動情報を求める要求を送る。これと異なり比較が、メッセージを送るユーザは近親者または友人のグループ内ではない(例えば阻止されたユーザである)ことを明らかにした場合は、第1のコンピューティングデバイス102は、移動情報を求める要求を送らない。
【0045】
[0050] 代替としてまたは追加として第2のコンピューティングデバイス124は、第2のコンピューティングデバイス124によって記憶された認可120を用いて、第1のコンピューティングデバイス102からの要求に応答して移動情報を送るかどうかを判断する。このようにして第2のコンピューティングデバイス124は、移動情報を第1のコンピューティングデバイス102との共有を承認または拒絶する。
【0046】
[0051] いくつかの実施形態では動作504および506は、第1のユーザ104に明示的に通知することなく行われる(例えば第2のコンピューティングデバイス124からのメッセージを受け取った時点において、ユーザアクションまたは承認なしに)。いくつかの他の実施形態では要求は、第1のユーザ104による入力に基づいて送ることができる。
【0047】
[0052] 506で第1のコンピューティングデバイス102は、第2のコンピューティングデバイス124から移動情報を受け取る。508で、受け取られたメッセージおよび移動情報は第1のユーザ104に提示される。いくつかの実施形態では、アプリケーション110からの単一のアプリケーションが、受け取ったメッセージおよび移動情報の両方をユーザインターフェースに表示するように実行する。
【0048】
[0053]
図5に示される動作はまた、第2のコンピューティングデバイス124の観点から述べることができる。具体的には第2のコンピューティングデバイス124は、移動情報を送らずに、ピアツーピア接続を通して第1のコンピューティングデバイス102にメッセージ(例えばテキストメッセージ)を送る。その後に第2のコンピューティングデバイス124は、第1のコンピューティングデバイス102から、移動情報を求める要求を受け取る。第2のコンピューティングデバイス124は、認可120を考慮して要求を分析して、移動情報を第1のコンピューティングデバイス102に送るかどうかを判断する。判断に基づいて第2のコンピューティングデバイス124は、移動情報を導出し(例えばセンサ112からのデータから)、ピアツーピア接続を通して第1のコンピューティングデバイス102に移動情報を(例えばテキストメッセージで)送信する。
【0049】
[0054] 次に
図5に示される動作の例について述べる。
【0050】
[0055] 次に
図6を参照すると例示的ブロック図は、第1の携帯電話306が、第2の携帯電話302に移動情報を要求する実施形態を示す。第1の携帯電話306および第2の携帯電話302は最初に、第1の携帯電話306が、第2の携帯電話302に移動情報を要求し取得することを承認するように通信する。代替として承認は、
図6に示されるように、移動情報を求める要求を受け取ったことに応答して生じ得る。
【0051】
[0056]
図6は、第2の携帯電話302に移動情報を要求し受け取る、第1の携帯電話306を示すが、第2の携帯電話302が、第1の携帯電話306に移動情報を要求し受け取るように、第1の携帯電話306と第2の携帯電話302の役割は逆になり得る。
【0052】
[0057]
図6に示されるように第1の携帯電話306は、第2の携帯電話302に関連する移動情報を求める要求606を、第2の携帯電話302に送る。例えば第1の携帯電話306は、第2の携帯電話302からのメッセージを受け取ったことに応答して、移動情報を要求する。いくつかの実施形態では、要求606は暗号化され、第1の携帯電話306に対するデバイス識別(例えばデバイス識別子)、要求606の日時(または第2の携帯電話302から受け取ったメッセージの日時)、およびチェックサムを含む。
【0053】
[0058] 第2の携帯電話302は、要求606を受け取り、要求606を評価し、要求606に応答する。例えば第2の携帯電話302は、要求606からの情報を、第2の携帯電話302によって記憶されたまたはそれにアクセス可能な情報と比較することによって、要求606を認証および/または確証することができる。それに応答して第2の携帯電話302は、要求された移動情報608を第1の携帯電話306に送る。要求された移動情報608は、例えば第2の携帯電話302に関連するデバイス識別子、現在の経路、現在の緯度、経度、方向、速度、および/または第2の携帯電話302を記述する他の情報(例えば第2の携帯電話302に関する行程情報)を含む。さらに、要求された移動情報608は暗号化され得る。
【0054】
[0059] さらなる例
1つのシナリオでは移動情報は、第1のユーザ104が職場環境から出たときに、自動的に収集され、第2のユーザ122に送られ得る。別のシナリオでは移動情報は、第1のコンピューティングデバイス102が盗まれたと報告されたときに、自動的に収集され、第2のユーザ122に送られ得る。これらのシナリオでは移動情報は、第1のユーザ104からのメッセージなしに、またはデフォルトメッセージを有して送られ得る。
【0055】
[0060] いくつかの実施形態は、第1のコンピューティングデバイス102が複数スレッドをサポートする場合に異なるスレッドなどにおいて、プルシナリオおよびプッシュシナリオの両方の実装形態を企図する。例えば共にピアツーピア接続を通じて、第1のコンピューティングデバイス102は、第2のユーザ122を対象とする第1のメッセージが第1のユーザ104から受け取られた(例えば第1のユーザ104がメッセージをタイプした)かどうかをチェックすることができ、第1のユーザ104を対象とする第2のメッセージが第2のコンピューティングデバイス124から受け取られたかどうかをチェックすることができる。
【0056】
[0061] 第1のメッセージを受け取ったことに応答して第1のコンピューティングデバイス102は、センサ112からまたは本明細書で述べられる他の手段によって、第1の移動情報を導出し、第1の移動情報と共に第1のメッセージを、第2のコンピューティングデバイス124に送る。第2のメッセージを受け取ったことに応答して第1のコンピューティングデバイス102は、第2の移動情報を第2のコンピューティングデバイス124から取得し(例えば第2の移動情報を求める要求を、第2のコンピューティングデバイス124に送ることによって)、第2の移動情報を受け取ったとき、第2のメッセージおよび第2の移動情報を第1のユーザ104に提示する。
【0057】
[0062] 本開示のいくつかの態様は、第1のコンピューティングデバイス102および第2のコンピューティングデバイス124上で実行するオペレーティングシステムのタイプまたはブランドには関係なく動作する。このような実施形態では、第1のコンピューティングデバイス102および第2のコンピューティングデバイス124のそれぞれは、ピアツーピア通信を可能にするクライアントアプリケーションを実行する。さらに本開示の態様は後方互換性がある。例えば第2のコンピューティングデバイス124が、第1のコンピューティングデバイス102から受け取った移動情報を表示もしくは別の方法で使用することができない場合は、第2のコンピューティングデバイス124は、少なくともメッセージを第2のユーザ122に表示し、移動情報を無視することになる。
【0058】
[0063] いくつかの実施形態は、送出デバイスの場所、および/または移動情報を受け取るデバイスにおける受信者に基づいて、移動情報を送る前に移動情報をフィルタリングすることを企図する。例えば送出デバイスにおけるユーザが歩いているまたはジョギングしている場合は、速度および/または方向情報は受信者に送ることができない。これと異なりいくつかの実施形態は、メッセージおよび/または移動情報にメタデータを追加することを企図する。例えばいくつかの実施形態は、メッセージの緊急度および/または重要性を示すタグを追加することを企図する。メッセージの緊急度および/または重要性は、メッセージ自体から、および/または移動情報から導出することができる。
【0059】
[0064] いくつかの実施形態ではETAは、曜日および時刻に基づいて精緻化することができ、ETAを精緻化するために、メモリ領域108に記憶された、曜日および時刻に対応する前の交通データが用いられる。
【0060】
[0065] いくつかの実施形態では、第1のコンピューティングデバイス102および第2のコンピューティングデバイス124は、Wi−Fi保護セットアップによるWi−FiDirect通信方法を用いて互いにピアツーピア通信することができる。このような場合は、コンピューティングデバイスの初期ペアリングは近距離通信(NFC)を用いて行うことができる。
【0061】
[0066] いくつかの実施形態では、図に示される様々な要素の機能の少なくとも一部分は、図における他の要素、または図に示されないエンティティ(例えばプロセッサ、ウェブサービス、サーバ、アプリケーションプログラム、コンピューティングデバイスなど)によって行われ得る。
【0062】
[0067] いくつかの実施形態では図に示される動作は、コンピュータ可読媒体上にコード化されたソフトウェア命令として、動作を行うようにプログラムされたもしくは設計されたハードウェアにおいて、または両方において実装され得る。例えば本開示の態様は、チップ上のシステム、または複数の相互接続された導電性要素を含む他の回路として実装され得る。
【0063】
[0068] 本明細書で用いられる「Wi−Fi」という用語は、いくつかの実施形態では、データの伝送のために高周波無線信号を用いるワイヤレスローカルエリアネットワークを指す。本明細書で用いられる「BLUETOOTH」という用語は、いくつかの実施形態では、短波長無線伝送を用いる短距離にわたってデータを交換するためのワイヤレス技術標準を指す。本明細書で用いられる「セルラ」という用語は、いくつかの実施形態では、一緒に結合されたときに、広い地理的地域にわたってデータの伝送を可能にする短い範囲の無線局を用いたワイヤレス通信システムを指す。本明細書で用いられる「NFC」という用語は、いくつかの実施形態では、短距離にわたってデータを交換するための短い範囲の高周波ワイヤレス通信技術を指す。
【0064】
[0069] 実施形態について、場所または移動データなどの監視されるおよび/またはユーザから収集されるデータ、ならびに監視されたまたは収集されたデータを他のユーザと共有することに関連して述べてきた。データの収集および共有について、ユーザに通知をもたらすことができ(例えばダイアログボックスまたは好みの設定を通じて)、ユーザには、監視、収集、および/または共有に対する同意を与えるもしくは拒否する、および/または何のデータが監視されるもしくは収集される、および/またはデータが誰と共有されるかを、カスタマイズする機会が与えられる。同意は、オプトイン同意またはオプトアウト同意の形をとることができる。
【0065】
[0070] 例示的動作環境
例示的コンピュータ可読媒体は、フラッシュメモリドライブ、デジタル多用途ディスク(DVD)、コンパクトディスク(CD)、フロッピディスク、およびテープカセットを含む。例としておよび非限定的にコンピュータ可読媒体は、コンピュータ記憶媒体および通信媒体を含む。コンピュータ記憶媒体は、コンピュータ可読命令、データ構造体、プログラムモジュールおよび他のデータなどの、情報を記憶するための任意の方法または技術において実装された、揮発性および不揮発性メモリ、リムーバブルおよび非リムーバブルメモリを含む。コンピュータ記憶媒体は有形であり、通信媒体とは互いに排他的である。コンピュータ記憶媒体は伝搬されるデータ信号を除外する。いくつかの実施形態ではコンピュータ記憶媒体はハードウェアにおいて実装される。例示的コンピュータ記憶媒体は、ハードディスク、フラッシュドライブ、および他の固体メモリを含む。これと異なり通信媒体は、通常は搬送波または他の輸送機構などの変調されたデータ信号において、コンピュータ可読命令、データ構造体、プログラムモジュール、または他のデータを具体化し、任意の情報引き渡し媒体を含む。
【0066】
[0071] 例示的コンピューティングシステム環境に関連して述べられたが本開示の実施形態は、数多くの他の汎用または専用コンピューティングシステム環境、構成、またはデバイスによって実装することができる。
【0067】
[0072] 本発明の態様と共に用いるのに適し得るよく知られたコンピューティングシステム、環境、および/または構成の例は、モバイルコンピューティングデバイス、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルドまたはラップトップデバイス、マルチプロセッサシステム、ゲームコンソール、マイクロプロセッサベースのシステム、セットトップボックス、プログラム可能な民生用電子機器、携帯電話、ネットワークPC、ミニコンピュータ、メインフレームコンピュータ、上記のシステムまたはデバイスの任意のものを含む分散型コンピューティング環境などを含むが、それらに限定されない。本明細書で述べられる移動性の低いまたは固定のコンピューティングシステムは、少なくともメッセージおよび移動情報を受け取るために用いられ得る。このようなシステムおよびデバイスは、キーボードもしくはポインティングデバイス、ジェスチャ入力を通じて、近接入力(ホバーリングなど)、および/または音声入力を通じてなどの、入力デバイスからを含む、任意の方法でユーザからの入力を受け入れることができる。
【0068】
[0073] 本発明の実施形態は、ソフトウェア、ファームウェア、ハードウェア、またはそれらの組み合わせにおいて、1つまたは複数のコンピュータもしくは他のデバイスによって実行される、プログラムモジュールなどのコンピュータ実行可能命令との一般的な状況において述べることができる。コンピュータ実行可能命令は、1つまたは複数のコンピュータ実行可能コンポーネントまたはモジュールに編成され得る。一般にプログラムモジュールは、特定のタスクを行うまたは特定の抽象データタイプを実装する、ルーチン、プログラム、オブジェクト、コンポーネント、およびデータ構造体を含むが、それらに限定されない。本発明の態様は、任意の数および編成の、このようなコンポーネントまたはモジュールによって実装され得る。例えば本発明の態様は、図に示され本明細書で述べられた特定のコンピュータ実行可能命令、または特定のコンポーネントまたはモジュールに限定されない。本発明の他の実施形態は、本明細書に図示され述べられたものより多いまたは少ない機能を有する、異なるコンピュータ実行可能命令またはコンポーネントを含むことができる。
【0069】
[0074] 本発明の態様は、本明細書で述べられた命令を実行するように構成されたときは、汎用コンピュータを専用コンピューティングデバイスに変形させる。
【0070】
[0075] 本明細書に図示され述べられた、本発明の実施形態における動作の実行または遂行の順序は、別段の指定がない限り本質的なものではない。すなわち別段の指定がない限り動作は任意の順序で行うことができ、本発明の実施形態は、本明細書で開示されるものへの追加の動作、またはそれより少ない動作を含むことができる。例えば特定の動作を、別の動作の前に、それと同時に、またはその後で実行または遂行することは、本発明の態様の範囲内であることが企図される。
【0071】
[0076] 本発明の態様、またはその実施形態の要素を導入するときに、冠詞「a」、「an」、「the」、および「said」は、1つまたは複数の要素があることを意味するものである。用語「備える」、「含む」、および「有する」は包含的なものであり、列挙された要素以外の追加の要素もあり得ることを意図する。「例示的」という用語は「その一例」を意味するものである。「以下のA、B、およびCの1つまたは複数」という語句は、Aの少なくとも1つ、および/またはBの少なくとも1つ、および/またはC少なくとも1つを意味するものとする。
【0072】
[0077] 本発明の態様について詳しく述べてきたが、添付の特許請求の範囲に定義される本発明の態様の範囲から逸脱せずに、修正および変形が可能であることが明らかであろう。本発明の態様の範囲から逸脱せずに、上記の構造、製品、および方法に様々な変更を行うことができるので、上記の説明に含まれ添付の図面に示されるすべての内容は、説明のためであって、限定的な意味に解釈されるべきものではない。