(57)【特許請求の範囲】
【請求項１】
メッセージで提供される位置情報を認証するための方法であって、
実際の位置の送信コンピューティングデバイスから受信コンピューティングデバイスへのメッセージに含まれる位置情報を、サーバで維持される前記送信コンピューティングデバイスの前記実際の位置に関する低水準情報と比較するステップであって、前記低水準情報は、前記送信コンピューティングデバイスから前記サーバに事前に送信された、ユーザがアクセス不能な、情報である、ステップと、
前記比較に基づいて前記位置情報を認証するステップと、
を含む方法。
【請求項２】
前記比較に基づいて前記位置情報を認証するステップは、
前記メッセージに含まれる前記位置情報とサーバで維持される前記送信コンピューティングデバイスの前記実際の位置に関する前記低水準情報との差が規定閾値内であるか否かを判定するステップと、
前記メッセージに含まれる前記位置情報と前記サーバで維持される前記送信コンピューティングデバイスの前記実際の位置に関する前記低水準情報との前記差が前記規定閾値内にあるとき、前記メッセージに含まれる前記位置情報を認証するステップと、
を含む、請求項1に記載の方法。
【請求項３】
前記サーバが、前記送信コンピューティングデバイスの前記実際の位置に関する低水準位置情報を含む前記送信コンピューティングデバイスの登録を受け取るステップと、
前記サーバが、前記サーバで維持される前記送信コンピューティングデバイスの前記実際の位置に関する前記低水準情報に対する要求を前記送信コンピューティングデバイスから受け取るステップと、
前記要求に応じて前記サーバで維持される前記送信コンピューティングデバイスの前記実際の位置に関する前記低水準情報を前記サーバから前記送信コンピューティングデバイスに送るステップと、をさらに含み、
前記送信コンピューティングデバイスからの前記メッセージに含まれる位置情報を前記サーバで維持される前記送信コンピューティングデバイスの前記実際の位置に関する低水準情報と比較するステップ、および前記比較に基づいて前記位置情報を認証するステップは、前記メッセージを前記受信コンピューティングデバイスに送信する前に、前記送信コンピューティングデバイスで実行される、
請求項1に記載の方法。
【請求項４】
前記サーバが、前記送信コンピューティングデバイスの前記実際の位置に関する低水準位置情報を含む前記送信コンピューティングデバイスの登録を受け取るステップと、
前記サーバが、前記サーバで維持される前記送信コンピューティングデバイスの前記実際の位置に関する前記低水準情報に対する要求を前記受信コンピューティングデバイスから受け取るステップと、
前記要求に応じて前記サーバで維持される前記送信コンピューティングデバイスの前記実際の位置に関する前記低水準情報を前記サーバから前記送信コンピューティングデバイスに送るステップと、をさらに含み、
前記送信コンピューティングデバイスからの前記メッセージに含まれる位置情報を前記サーバで維持される前記送信コンピューティングデバイスの前記実際の位置に関する低水準情報と比較するステップ、および前記比較に基づいて前記位置情報を認証するステップは、前記受信コンピューティングデバイスで実行される、
請求項1に記載の方法。
【請求項５】
メッセージで提供される位置情報を認証するための方法であって、
実際の位置の送信コンピューティングデバイスから受信コンピューティングデバイスへのメッセージに含まれる位置情報を、サーバで維持される前記送信コンピューティングデバイスの前記実際の位置に関する低水準情報と比較するステップであって、前記低水準情報は、ユーザがアクセス不能である、ステップと、
前記比較に基づいて前記位置情報を認証するステップと、
前記サーバが、前記送信コンピューティングデバイスの前記実際の位置に関する低水準位置情報を含む前記送信コンピューティングデバイスの登録を受け取るステップと、
プロキシサーバが、前記送信コンピューティングデバイスから前記メッセージを受け取るステップと、
前記サーバが、前記サーバで維持される前記送信コンピューティングデバイスの前記実際の位置に関する前記低水準情報に対する要求を前記プロキシサーバから受け取るステップと、
前記サーバから前記プロキシサーバに、前記サーバで維持される前記送信コンピューティングデバイスの前記実際の位置に関する前記低水準情報を含む応答を提供するステップと、
前記送信コンピューティングデバイスによって提供される前記位置情報と、前記サーバで維持される前記送信コンピューティングデバイスの前記実際の位置に関する前記低水準情報とを含む前記送信コンピューティングデバイスからのメッセージを前記プロキシサーバから受信コンピューティングデバイスに提供するステップと、
を含み、
前記送信コンピューティングデバイスからの前記メッセージに含まれる位置情報を前記サーバで維持される前記送信コンピューティングデバイスの前記実際の位置に関する低水準情報と比較するステップ、および前記比較に基づいて前記位置情報を認証するステップは、前記プロキシサーバから受け取られた情報に基づいて前記受信コンピューティングデバイスで実行される、方法。
【請求項６】
前記サーバが、前記送信コンピューティングデバイスの前記実際の位置に関する低水準位置情報を含む前記送信コンピューティングデバイスの登録を受け取るステップと、
プロキシサーバが、前記送信コンピューティングデバイスから前記メッセージを受け取るステップと、
前記サーバが、前記サーバで維持される前記送信コンピューティングデバイスの前記実際の位置に関する前記低水準情報に対する要求を前記プロキシサーバから受け取るステップと、
前記要求に応じて前記サーバで維持される前記送信コンピューティングデバイスの前記実際の位置に関する前記低水準情報を前記サーバから前記プロキシサーバに送るステップであって、前記送信コンピューティングデバイスからの前記メッセージに含まれる位置情報をサーバで維持される前記送信コンピューティングデバイスの前記実際の位置に関する低水準情報と比較するステップ、および前記比較に基づいて前記位置情報を認証するステップは前記プロキシサーバで実行されるステップと、
認証された位置情報を含む前記送信コンピューティングデバイスからの前記メッセージを前記プロキシサーバから前記受信コンピューティングデバイスに提供するステップと、
をさらに含む、請求項1に記載の方法。
【請求項７】
認証された位置情報を含む前記送信コンピューティングデバイスからの前記メッセージを前記プロキシサーバから前記受信コンピューティングデバイスに提供するステップは、前記送信コンピューティングデバイスが、前記受信コンピューティングデバイスに提供される前記メッセージにおいて、前記メッセージに含まれる前記位置情報に代えて、サーバに維持される前記送信コンピューティングデバイスの前記実際の位置に関する前記低水準情報を使用するステップを含む、請求項6に記載の方法。
【請求項８】
前記サーバが、前記送信コンピューティングデバイスの前記実際の位置に関する低水準位置情報を含む前記送信コンピューティングデバイスの登録を受け取るステップと、
前記サーバが、前記メッセージに含まれる位置情報を含む前記受信コンピューティングデバイスからの照会を受け取るステップであって、実際の位置の送信コンピューティングデバイスから受信コンピューティングデバイスまでの前記メッセージに含まれる位置情報をサーバで維持される前記送信コンピューティングデバイスの前記実際の位置に関する低水準情報と比較するステップは、前記サーバが、前記受信コンピューティングデバイスから受け取られた前記メッセージに含まれる前記位置情報を前記サーバで維持される前記送信コンピューティングデバイスの前記実際の位置に関する前記低水準位置情報と比較するステップと、
前記比較に基づいて前記位置情報を認証するステップは、前記照会に応じて、前記サーバで維持される前記送信コンピューティングデバイスの前記実際の位置を有する前記メッセージに含まれる前記位置情報の前記比較の結果である前記受信コンピューティングデバイスに指示を提供するステップと、
をさらに含む、請求項1に記載の方法。
【請求項９】
送信コンピューティングデバイスから受信コンピューティングデバイスに送られるメッセージで提供される位置情報を認証するためのプロキシサーバであって、前記プロキシサーバは動作を行うためのサーバ実行可能命令で構成され、前記動作は、
前記送信コンピューティングデバイスの位置に関する情報を含む前記送信コンピューティングデバイスから前記メッセージを受け取るステップと、
レジストラサーバで維持される前記送信コンピューティングデバイスの実際の位置に関する前記位置情報に対する要求を前記レジストラサーバに送るステップと、
前記レジストラサーバで維持される前記送信コンピューティングデバイスの前記実際の位置に関する前記位置情報を含む前記レジストラサーバからの応答を受け取るステップと、
前記送信コンピューティングデバイスから受け取られた前記メッセージに含まれる前記送信コンピューティングデバイスの位置に関する前記情報を、前記レジストラサーバから受け取られた前記送信コンピューティングデバイスの前記実際の位置に関する前記位置情報と比較するステップであって、前記位置情報は、前記送信コンピューティングデバイスから前記レジストラサーバに事前に送信された、ユーザがアクセス不能な、情報である、ステップと、
認証された位置情報を含む前記送信コンピューティングデバイスから受け取られた前記メッセージを前記受信コンピューティングデバイスに送るステップと、
を含む、プロキシサーバ。
【請求項１０】
送信コンピューティングデバイスから受信コンピューティングデバイスに送られるメッセージで提供される位置情報を認証するためのプロキシサーバであって、前記プロキシサーバは動作を行うためのサーバ実行可能命令で構成され、前記動作は、
前記送信コンピューティングデバイスの位置に関する情報を含む前記送信コンピューティングデバイスから前記メッセージを受け取るステップと、
レジストラサーバで維持される前記送信コンピューティングデバイスの実際の位置に関する前記位置情報に対する要求を前記レジストラサーバに送るステップと、
前記レジストラサーバで維持される前記送信コンピューティングデバイスの前記実際の位置に関する前記位置情報を含む前記レジストラサーバからの応答を受け取るステップと、
前記送信コンピューティングデバイスから受け取られた前記メッセージに含まれる前記送信コンピューティングデバイスの位置に関する前記情報を、前記レジストラサーバから受け取られた前記送信コンピューティングデバイスの前記実際の位置に関する前記位置情報と比較するステップと、
認証された位置情報を含む前記送信コンピューティングデバイスから受け取られた前記メッセージを前記受信コンピューティングデバイスに送るステップと、
を含み、
前記プロキシサーバは動作を行うための命令で構成され、前記動作は、前記送信コンピューティングデバイスの位置に関する情報を含む前記送信コンピューティングデバイスから受け取られた前記メッセージを、前記レジストラサーバで維持される前記送信コンピューティングデバイスの前記実際の位置に関する前記位置情報と一緒に、前記受信コンピューティングデバイスに送るステップと、をさらに含む、プロキシサーバ。
【請求項１１】
前記プロキシサーバは動作を行うための命令で構成され、前記比較に基づいて前記位置情報を認証するステップは、
前記メッセージに含まれる前記送信コンピューティングデバイスの位置に関する前記情報と、前記レジストラサーバから受け取られた前記送信コンピューティングデバイスの前記実際の位置に関する前記位置情報との差が規定閾値内であるか否かを判定するステップと、
前記メッセージに含まれる前記送信コンピューティングデバイスの位置に関する前記情報と、前記レジストラサーバから受け取られた前記送信コンピューティングデバイスの前記実際の位置に関する前記位置情報との差が前記規定閾値内であると判定することに応じて、前記メッセージに含まれる前記送信コンピューティングデバイスの位置に関する前記情報を認証するステップと、
を含む、請求項9に記載のプロキシサーバ。
【請求項１２】
前記プロキシサーバは動作を行うための命令で構成され、前記動作は、
前記送信コンピューティングデバイスから受け取られた前記メッセージに含まれる前記送信コンピューティングデバイスの位置に関する前記情報を、前記レジストラサーバから受け取られた前記送信コンピューティングデバイスの前記実際の位置に関する前記位置情報と比較するステップと、
前記送信コンピューティングデバイスから受け取られた前記メッセージに含まれる前記送信コンピューティングデバイスの位置に関する前記情報と、前記レジストラサーバから受け取られた前記送信コンピューティングデバイスの前記実際の位置に関する前記位置情報との差が規定閾値内であるか否かを判定するステップと、
前記差が前記規定閾値内にないと判定することに応じて、前記メッセージにおいて、前記送信コンピューティングデバイスの位置に関する前記情報の代わりに、前記レジストラサーバから受け取られた前記送信コンピューティングデバイスの前記実際の位置に関する前記位置情報を代用するステップと、
前記メッセージを前記受信コンピューティングデバイスに送るステップと、
をさらに含む、請求項9に記載のプロキシサーバ。
【請求項１３】
動作を行うためのプロセッサ実行可能命令によって構成されるプロセッサを含むコンピューティングデバイスであって、前記動作は、
送信コンピューティングデバイスの位置に関する情報を含む送信コンピューティングデバイスからメッセージを受け取るステップと、
サーバで維持される前記送信コンピューティングデバイスの実際の位置に関する位置情報に基づく前記送信コンピューティングデバイスの位置に関する前記情報の認証を得るステップと、
前記サーバで維持される前記送信コンピューティングデバイスの前記実際の位置に関する前記位置情報に対する要求を前記サーバに送るステップと、
前記サーバで維持される前記送信コンピューティングデバイスの前記実際の位置に関する前記位置情報を前記サーバから受け取るステップと、
前記メッセージに含まれる前記送信コンピューティングデバイスの位置に関する前記情報を、前記サーバから受け取られた前記送信コンピューティングデバイスの前記実際の位置に関する前記位置情報と比較するステップであって、前記位置情報は、前記送信コンピューティングデバイスから前記サーバに事前に送信された、ユーザがアクセス不能な、情報である、ステップと、
前記比較に基づいて前記メッセージに含まれる前記送信コンピューティングデバイスの位置に関する前記情報を前記コンピューティングデバイスにおいて認証するステップと、
を含む、コンピューティングデバイス。
【請求項１４】
前記プロセッサは、動作を行うためのプロセッサ実行可能命令によって構成され、前記コンピューティングデバイスにおいて、前記比較に基づいて、前記メッセージに含まれる前記送信コンピューティングデバイスの位置を認証するステップは、
前記メッセージに含まれる前記送信コンピューティングデバイスの位置に関する前記情報と、前記サーバから受け取られた前記送信コンピューティングデバイスの前記実際の位置に関する前記位置情報との差が規定閾値内であるか否かを判定するステップと、
前記メッセージに含まれる前記送信コンピューティングデバイスの位置に関する前記情報と、前記サーバから受け取られた前記送信コンピューティングデバイスの前記実際の位置に関する前記位置情報との差が前記規定閾値内であると判定することに応じて、前記メッセージに含まれる前記送信コンピューティングデバイスの位置を認証するステップと、
を含む、請求項13に記載のコンピューティングデバイス。
【請求項１５】
前記プロセッサは、動作を行うためのプロセッサ実行可能命令によって構成され、サーバで維持される前記送信コンピューティングデバイスの前記実際の位置に関する位置情報に基づく前記送信コンピューティングデバイスの位置に関する前記情報の認証を得るステップは、
前記メッセージに含まれる前記送信コンピューティングデバイスの位置に関する前記情報を認証するための要求を前記サーバに送るステップと、
前記サーバで維持される前記送信コンピューティングデバイスの前記実際の位置に関する前記位置情報に基づき、前記送信コンピューティングデバイスの位置に関する前記情報の認証を前記サーバから受けるステップと、
を含む、請求項13に記載のコンピューティングデバイス。
【請求項１６】
前記プロセッサは、動作を行うためのプロセッサ実行可能命令によって構成され、サーバで維持される前記送信コンピューティングデバイスの前記実際の位置に関する位置情報に基づく前記送信コンピューティングデバイスの位置に関する前記情報の認証を得るステップは、
前記送信コンピューティングデバイスの位置に関する前記情報、および前記サーバで維持される前記送信コンピューティングデバイスの前記実際の位置に関する前記位置情報を含む前記送信コンピューティングデバイスからの前記メッセージをプロキシサーバから受け取るステップと、
前記メッセージに含まれる前記送信コンピューティングデバイスの位置に関する前記情報を、前記プロキシサーバから受け取られた前記送信コンピューティングデバイスの前記実際の位置に関する前記位置情報と比較するステップと、
前記コンピューティングデバイスにおいて、前記比較に基づいて前記メッセージに含まれる前記送信コンピューティングデバイスの位置を認証するステップと、
を含む、請求項13に記載のコンピューティングデバイス。
【請求項１７】
前記プロセッサは、動作を行うためのプロセッサ実行可能命令によって構成され、前記コンピューティングデバイスにおいて、前記比較に基づいて、前記メッセージに含まれる前記送信コンピューティングデバイスの位置を認証するステップは、
前記メッセージに含まれる前記送信コンピューティングデバイスの位置に関する前記情報と、前記サーバから受け取られた前記送信コンピューティングデバイスの前記実際の位置に関する前記位置情報との差が規定閾値内であるか否かを判定するステップと、
前記メッセージに含まれる前記送信コンピューティングデバイスの位置に関する前記情報と、前記サーバから受け取られた前記送信コンピューティングデバイスの前記実際の位置に関する前記位置情報との差が前記規定閾値内であると判定することに応じて、前記メッセージに含まれる前記送信コンピューティングデバイスの位置を認証するステップと、
を含む、請求項16のコンピューティングデバイス。
【請求項１８】
前記プロセッサは、動作を行うためのプロセッサ実行可能命令によって構成され、サーバで維持される前記送信コンピューティングデバイスの前記実際の位置に関する位置情報に基づく前記送信コンピューティングデバイスの位置に関する前記情報の認証を得るステップは、前記送信コンピューティングデバイスによって送られる前記メッセージに含まれる前記送信コンピューティングデバイスの位置に関する前記情報、または前記サーバで維持される前記送信コンピューティングデバイスの前記実際の位置に関する前記位置情報のいずれかを含む前記メッセージをプロキシサーバから受け取るステップを含む、請求項13に記載のコンピューティングデバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本出願は、参照によりその全体が本明細書に組み込まれている2013年3月14日に出願した「METHODS FOR VERIFYING REPORTED LOCATIONS OF MOBILE DEVICES」という名称の米国仮出願第61/782,735号の優先権の利益を主張するものである。
【０００２】
本開示は、一般に、報告された位置情報が正確であると保証するために、モバイルデバイスから送られたメッセージに含まれる位置情報を検証するための方法に関する。
【背景技術】
【０００３】
コンピューティングデバイスで一般的に見られる、ソーシャルメディアアプリケーション、メッセージングアプリケーション、および他のアプリケーションは、しばしば様々な理由で正確でない可能性のあるデバイス用のアプリケーション指向の位置ベースのサービスから得られる位置情報を含む。系統誤差は、位置ベースのサービスによって生成される位置情報に存在し得る。また、ユーザがアプリケーション指向の位置ベースのサービスから得られた位置情報を変更し、またはユーザの現在位置に関する不正確な位置情報を入力することができる。GPSシステムでの固有の誤差、またはアプリケーション待機時間に基づく固有の誤差は、何らかの相互作用、または位置情報を変更しようとするユーザによる意図的な試みなしで、位置ベースのサービスにおける位置情報を不正確に報告させ得る。他の位置情報は、デバイスにおいて統合されたシステム水準の位置ベースのサービス、または、ワイヤレスアクセスポイントやネットワークインフラ等の他のデバイスが利用可能な位置情報から得られ得る。一般に、システム水準位置情報は、ユーザによって変更できない。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】Internet Engineering Task Force (IETF) RFC6442, Polk et al., 2011年12月(2009年3月9日のインターネット草案に基づく)
【発明の概要】
【課題を解決するための手段】
【０００５】
様々な実施形態の方法、サーバ、およびシステムは、受け取られたメッセージにおいてコンピューティングデバイスによって報告される、あるいはコンピューティングデバイスに示された位置情報の認証を可能にする。メッセージで提供される位置情報を認証するための実施形態の方法は、実際の位置の送信コンピューティングデバイスから受信コンピューティングデバイスへのメッセージに含まれる位置情報を、サーバで維持される送信コンピューティングデバイスの実際の位置に関する情報と比較するステップと、比較に基づいて位置情報を認証するステップとを含み得る。いくつかの実施形態は、第2の位置情報と第1の位置情報との差が規定閾値内であるか否かを判定し、また、第2の位置情報と第1の位置情報との差が規定閾値内であるとき、第2の位置情報を認証することによって、比較に基づいて位置情報を認証するステップを含み得る。
【０００６】
いくつかの実施形態において、サーバは、送信コンピューティングデバイスの実際の位置に関する位置情報を含む送信コンピューティングデバイスの登録を受け取り、後の参照のために、この情報を記憶し得る。実施形態において、サーバは、サーバで維持される送信コンピューティングデバイスの実際の位置に関する情報に対する要求を送信コンピューティングデバイスから受け取り、それに応じて送信コンピューティングデバイスの実際の位置に関する情報を送信コンピューティングデバイスに送り、それにより、メッセージを受信コンピューティングデバイスに送信する前に送信コンピューティングデバイスが位置情報を認証するのを可能にする。さらなる実施形態において、サーバは、サーバで維持された送信コンピューティングデバイスの実際の位置に関する情報に対する要求を受信コンピューティングデバイスから受け取り、応答して受信コンピューティングデバイスにその情報を送り、それにより、メッセージに含まれる位置情報をサーバから受け取られた送信コンピューティングデバイスの実際の位置に関する情報と比較することによって、受信コンピューティングデバイスが送信コンピューティングデバイスから受け取られたメッセージの位置情報を認証することを可能にする。さらなる実施形態において、サーバは、サーバで維持された送信コンピューティングデバイスの実際の位置に関する情報に対する要求をプロキシサーバから受け取り、応答してその情報をプロキシサーバに送り、それにより、メッセージを受信コンピューティングデバイスに送る前、メッセージに含まれる送信コンピューティングデバイスの位置に関する情報をサーバから受け取られた送信コンピューティングデバイスの実際の位置に関する位置情報を比較することによって、プロキシサーバが送信コンピューティングデバイスから受け取られたメッセージの位置情報を認証できるか、あるいは、受信コンピューティングデバイスに送られるメッセージと一緒に、サーバから受け取られた送信コンピューティングデバイスの実際の位置に関する位置情報を含む。実施形態において、プロキシサーバは、比較がオリジナルメッセージの情報はサーバから受け取られた位置情報と実質的に異なる(閾値を超える)と示す場合、メッセージを受信コンピューティングデバイスに送る前、サーバから受け取られた送信コンピューティングデバイスの実際の位置に関する位置情報を、オリジナルメッセージに含まれる送信コンピューティングデバイスの位置に関する情報の代わりに用いることによって、メッセージを変更し得る。さらなる実施形態において、サーバは、オリジナルメッセージに含まれる送信コンピューティングデバイスの位置に関する情報を受信コンピューティングデバイスから受け取り、送信コンピューティングデバイスの位置に関する受け取られた情報をサーバによって維持された送信コンピューティングデバイスの実際の位置に関する位置情報と比較し、照会に応じて第2の位置情報の第1の情報との比較の結果である受信コンピューティングデバイスに指示を提供する。
【０００７】
さらなる実施形態は、送信コンピューティングデバイス、受信コンピューティングデバイス、サーバ、プロキシサーバ、および上記で説明した方法の機能を実行するための手段を含む通信システムを含む。そのような機能を実行するための手段は、送信コンピューティングデバイスのプロセッサ、受信コンピューティングデバイスのプロセッサ、サーバ、および/または、上記で説明した方法に対応する動作を行うための実行可能命令によって構成されるプロキシサーバであり得る。さらなる実施形態は、上記で説明した方法に相当するプロキシサーバ動作を行うためのプロセッサ実行可能命令によって構成されるプロキシサーバを含む。さらなる実施形態は、上記で説明した方法に相当するコンピューティングデバイス動作を行うためのプロセッサ実行可能命令によって構成されるコンピューティングデバイスを含む。
【０００８】
本明細書に含まれ、本明細書の一部を構成する添付図面は本発明の実施形態を示し、上に示された概説と以下に示される詳細な説明とともに本発明の特徴を説明する役割を果たす。
【図面の簡単な説明】
【０００９】
【図１】様々な実施形態で実装するのに適したネットワークの通信システムブロック図である。
【図２】位置検証が送信コンピューティングデバイスによって実行される実施形態を示す処理フロー図である。
【図３】位置検証が受信コンピューティングデバイスによって実行される実施形態を示す処理フロー図である。
【図４】位置情報がプロキシサーバによって送信したメッセージに追加される実施形態を示す処理フロー図であり、受信コンピューティングデバイスは追加された位置情報と元々メッセージ内に含まれる情報とを比較する。
【図５】位置検証がプロキシサーバによって実行される実施形態を示す処理フロー図であり、プロキシサーバは元々メッセージ内に含まれる不正確な位置情報の代わりに正確な位置情報を代用する。
【図６】送信コンピューティングデバイスの位置情報が受信コンピューティングデバイスからの照会に応じて記憶されるサーバで位置検証が実行される実施形態を示す処理フロー図である。
【図７】様々な実施形態で使用に適したワイヤレスデバイスの一例の構成図である。
【図８】様々な実施形態で使用に適したワイヤレスデバイスの別の例の構成図である。
【図９】様々な実施形態で使用に適したサーバの一例の構成図である。
【発明を実施するための形態】
【００１０】
様々な実施形態について、添付図面を参照して詳細に説明する。同一の、または同様の部品を参照するために、できるだけ、図面を通じて同一の参照番号が使用される。特定の例および実装を参照するのは説明が目的であり、本発明あるいは特許請求の範囲を限定する意図はない。
【００１１】
「模範」という用語は、「例、実例、または実例であること」という意味で本明細書において使用される。本明細書で「模範」として説明される如何なる実施形態は、必ずしも他の実施形態より好ましい、または有利であると理解されるものではない。同様に、「実施形態」という用語は、本発明のすべての実施形態が、議論された特徴、利点または動作形態を含むことを要件としない。
【００１２】
「コンピューティングデバイス」および「モバイルデバイス」という用語は本明細書において交互に使用され、セルラ電話、スマートフォン、パーソナルまたはモバイルマルチメディアプレーヤー、個人情報端末(PDA's)、パーソナルコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、スマートブック、ウルトラブック、パームトップコンピュータ、ワイヤレス電子メール受信機、マルチメディアインターネット対応セルラ電話、ワイヤレスゲーミングコントローラ、および、インターネットなどの広域ネットワークと通信するためのメモリ、プログラマブルプロセッサ、ネットワークインターフェースまたはトランシーバを含む同様のパーソナル電子デバイスのいずれか1つまたはすべてについて言及する。様々な実施形態は、位置が頻繁に変化し得るモバイルコンピューティングデバイスで有用であるが、その実施形態は、デスクトップコンピュータやワークステーションのような、移動の少ないコンピューティングデバイスでも同様に有用である。
【００１３】
通信ネットワークに接続されたコンピューティングデバイスは、ネットワークとコンピューティングデバイスとの間の通信リンクを管理する1つまたは複数のサーバに登録する。サーバはコンピューティングデバイスの位置を記憶し、この情報は他のプロキシサーバによって使用され、メッセージをデバイスに送るとき、デバイスの位置を確認する。サーバに関する位置情報は、コンピューティングデバイスが通信するセル識別子(ID)の形式などで、デバイスおよび/またはネットワークによって定期的に更新される。
【００１４】
様々な実施形態は、メッセージ(たとえば、メール、テキストメッセージ、ソーシャルメディアポストなど)を通じて受信される位置情報であって、位置ベースのサービスに依存するソーシャルメディアアプリケーションで使用される位置情報を検証するためのシステムおよび方法を含む。コンピューティングデバイスが通信ネットワークと接続するとき、1つまたは複数のサーバに登録するセッション開始プロトコル(SIP)メッセージを使用し得る。SIPメッセージは位置情報を含み得る。位置情報は、GPSなどのコンピューティングデバイスに組み込まれた位置ベースのサービスからを得られ得る。位置情報は、定期的に、および、デバイスが位置を変えるときにリフレッシュされる。様々な実施形態において、位置情報は位置ベースのサービスによってサーバに転送され得る。次いで、サーバに記憶されたこの情報は、様々な実施形態に従って、メッセージ送信コンピューティングデバイス(「送信コンピューティングデバイス」)の位置を検証するのに使用され得る。いくつかの実施形態において、この検証は送信コンピューティングデバイスのために実行され得るが、他の実施形態において、この検証は位置情報を含むメッセージを受け取るコンピューティングデバイス(「受信コンピューティングデバイス」)のために実行され得る。
【００１５】
たとえば、送信コンピューティングデバイスのユーザは、ソーシャルメディアアプリケーションで表示あるいは使用するメッセージを受取人の受信コンピューティングデバイスに送り得る。メッセージまたはソーシャルメディア活動の一部として、ユーザは、実際の位置、都市の位置、国の位置、あるいは特定の時間帯と繋がる送信時間など、ユーザあるいはユーザのコンピューティングデバイスの位置についての、あるいは関連する情報を送信し得る。ユーザは、メッセージあるいはソーシャルメディア活動で報告される位置を変更し得る。これは、受取人が、含まれる位置情報を信用できるか否かを知らないからであり得る。しかしながら、ユーザはサーバで記憶された位置情報を変更できない。その方法およびシステムにより、そのような位置情報の受信機が送信側の位置の精度の指示を検証あるいは受け取ることができる。これは、送信側を検証し、送信側によって提供された情報を確認し、送信側によって提供された情報を検証する際に有用であり得る。
【００１６】
位置情報は、低水準位置情報または高水準位置情報のいずれかであり得る。低水準位置情報は、送信コンピューティングデバイスの低システム層あるいは部品によって提供される位置情報を含み得る。また、低水準位置情報は、基板構成要素により、あるいは基地局構成要素などの基板構成要素に関連して提供され得る。一般に、低水準位置情報はユーザによるアクセスが不可能であり得る。
【００１７】
高水準位置情報は、送信コンピューティングデバイスの高システム/アプリケーション層で提供される位置情報を含み得る。高水準位置情報は、ユーザによって送信コンピューティングデバイスに入力される位置情報を含み得る。また、高水準位置情報は、送信コンピューティングデバイスで実行するアプリケーションを通じて得られる位置情報であり得る。高水準位置情報は、位置情報を提供するウエブサイトを通じて得られる位置情報であり得る。一般に、高水準位置情報が受信コンピューティングデバイス103あるいは他の構成要素あるいはコンピューティングデバイスに送信される前あるいは間、高水準位置情報は送信コンピューティングデバイスのユーザがアクセス可能であり得る。高水準位置情報はユーザが操作できる、あるいはアプリケーションまたは第3者によって提供されるので、高水準位置情報の精度は保証できない。
【００１８】
図1は、様々な実施形態で使用に適したワイヤレスネットワークシステム100を示す。ワイヤレス通信コンピューティングデバイス102、103、および104とワイヤレス送受信器106は、共にワイヤレスデータネットワーク108を構成する。送信コンピューティングデバイス102および受信コンピューティングデバイス103は、基地局106などのワイヤレス送受信器を介してワイヤレスデータネットワーク108において接続され得る。また、それぞれのコンピューティングデバイス104は送信あるいは受信コンピューティングデバイスとして作動し得る。ワイヤレスデータネットワーク108を使用して、データはワイヤレスにコンピューティングデバイス102、103、および104とワイヤレスセルタワーとの間で送信され得るものであり、基地局106は、たとえばGSM（登録商標）/GPRS、EDGE/EGPRS、UTMS、WCDMA（登録商標）、HSPA、LTEなど多くのセルラネットワークおよびプロトコルのいずれかであり得る。ワイヤレスネットワーク108は、ルータ110、あるいはワイヤレスネットワーク108においてコンピューティングデバイスがインターネット112などの公衆ネットワークと接続することを許容し得る他の基板構成要素と通信し得る。このように、データはワイヤレスネットワーク108を介してコンピューティングデバイス102、103、および104に/から送信され、また、インターネット112でルータ110を経由してサーバ/レジストラサーバ114およびプロキシサーバ114'に/から当該技術分野で周知の方法で送信され得る。様々な実施形態が特にワイヤレスネットワークで有用であるが、実施形態はワイヤレスネットワークに限定されず、少なくとも一部のワイヤードネットワークで、方法は変更せずに実装され得る。さらに、様々な実施形態の説明で言及されたコンピューティングデバイスは、ワイヤレスモバイルデバイスであり得る。また、コンピューティングデバイスは、固定されているネットワークアクセスデバイスに固定または結合されるワイヤレスあるいはワイヤードコンピューティングデバイスであり得る。
【００１９】
図2は、送信コンピューティングデバイス102の位置情報が、メッセージを受信コンピューティングデバイス103に送付する前あるいは間に送信コンピューティングデバイス102内でユーザまたはGPSによって入力される位置情報を検証し得る実施形態の方法を示す。
【００２０】
プッシュツートーク(PTT)アプリケーションにおいて、送信コンピューティングデバイス102および受信コンピューティングデバイス103は、PTTアプリケーションの動作の一部としてメッセージあるいは他の通信において位置情報を交換し得る。図2に示す実施形態がPTTアプリケーションにおいて特に有用であり得るが、実施形態は、ソーシャルメディアアプリケーションを含む他のアプリケーション、メッセージングアプリケーション、および位置情報の転送を可能にし得る他のアプリケーションで使用され得る。送信コンピューティングデバイス102および受信コンピューティングデバイス103は、それぞれPTTアプリケーションを実行し得る。PTTアプリケーションの動作の一部として位置情報を転送する前、PTTアプリケーションは、コンピューティングデバイスまたはコンピューティングデバイスが結合される基板構成要素の低層サブシステムから低水準位置情報を得ることができる。低層サブシステムは、モデムサブシステム、GPSサブシステム、基地局位置リポジトリ、基板位置リポジトリ、ネットワーク位置リポジトリ、あるいは、これらまたは他の低層サブシステムに関連付けられたアプリケーションプログラミングインターフェース(API)を含み得る。低水準位置情報は、1つまたは複数の位置関連情報要素を含み得る。位置関連情報要素は、GPS座標、サブセットID、セクタID、基地局ID、PLMN ID、または他の位置関連情報要素を含み得るが、限定はされない。低水準位置情報は、特定のWWANあるいはWLANネットワーク、および送信コンピューティングデバイス102が現在関連する機器の位置に基づき得る送信コンピューティングデバイスの位置を含み得る。
【００２１】
また、送信コンピューティングデバイスの位置が変化するにつれて、低水準位置情報は更新で変化し得る。このように、デバイスを再登録するときやデバイスの位置が変化するときなどに、サーバ114に記憶された低水準位置情報は定期的にリフレッシュされ得る。
【００２２】
PTTアプリケーションの動作の間、送信コンピューティングデバイス102は受信コンピューティングデバイス103との接続を成立させ得る。ブロック202において、送信コンピューティングデバイス102は、セション開始プロトコル(SIP)登録メッセージをサーバ114に送ることによって、接続を開始し得る。ブロック204において、送信コンピューティングデバイス102は第1の位置情報をサーバ114に送信し得る。第1の位置情報は、上記で説明された、一般に送信コンピューティングデバイス102のユーザがアクセス不能な低水準情報を含み得る。上記で説明されるように、送信コンピューティングデバイス102は、PTTアプリケーションおよびPTTアプリケーションと下層サブシステムとの間の相互作用を通じて第1の位置情報を送信し得る。送信コンピューティングデバイス102の代表的ユーザは第1の位置情報を変更できないので、一定水準の精度があると考えられ得る。精度の水準は、位置情報のソースおよび位置情報が現在のものであるか否かに依存し得る。第1の位置情報を最新に維持するために、送信コンピューティングデバイス102は定期的にサーバ114で、その位置情報を更新し得る。あるいは、送信コンピューティングデバイスがセルラ通信ネットワークにおいて1つのセルから別のセルまで移動するときなどに、ネットワークそれ自体が位置情報を更新し得る。
【００２３】
ブロック206において、サーバ114は第1の位置情報を受け取り、ブロック208において、サーバ114は第1の位置情報を記憶し得る。あるいは、コンピューティングデバイスがサーバに登録するとき、サーバ114は、自身の位置(たとえば、WiFiアクセスポイント)に基づく第1の位置情報を開発し得る。PTTセッションが確立され、送信コンピューティングデバイス102が第1の位置情報をサーバ114に送信した後、ブロック210において、送信コンピューティングデバイス102のユーザは、第2の位置情報を含むPTTアプリケーションを通じて受信コンピューティングデバイス103に対してメッセージあるいは他の通信を準備し得る。第2の位置情報は、上記で説明されるように、高水準位置情報を含み得る。第2の位置情報は、PTTアプリケーションあるいは他のアプリケーションの上位層APIに提供され得る。言い換えれば、送信コンピューティングデバイス102のユーザは、送信コンピューティングデバイス102の位置を表すように意図される第2の位置情報を指定し得る。
【００２４】
第2の位置情報は多くの方法で指定され得る。第2の位置情報は、ユーザエントリによって提供され得る、あるいは、GPS受信機または高水準オペレーティングシステム(HLOS)APIに利用可能な高水準位置情報の他のソースなどの高水準位置判定特徴を利用することによって提供され得る。たとえば、第2の位置情報は、名前あるいは位置座標による都市の位置のマニュアルエントリに基づいて提供され得る。マニュアルエントリは、アプリケーションによって提供された様々な提案位置の選択肢から選択することを含み得る。第2の位置情報は、位置の名前あるいは座標が得られ得る他の基準に基づいて提供され得る。第2の位置情報基準は、インターネット上のウエブサイトあるいはサーバで利用可能な二次情報ソースにアクセスすることによって得られ得る、あるいは調べられ得る。ソースに依存して、第2の位置情報は、誤り、細工、あるいは詐欺を被りやすく、正確でない可能性がある。
【００２５】
図2に示す実施形態の方法において、送信コンピューティングデバイス102は高水準位置情報の自己検証を実行し得る。ブロック212において、送信コンピューティングデバイス102は第1の位置情報のために、サーバ114に要求を送り得る。実施形態において、たとえば、Internet Engineering Task Force (IETF) RFC6442, Polk et al., 2011年12月(2009年3月9日のインターネット草案に基づく)の提案企画において説明されるように、要求はSIPエンティティ間で送られ得る多くのSIPメッセージのいずれか1つにおけるジオロケーションヘッダの形式であり得る。ブロック214において、サーバ114は第1の位置情報に対する要求を受け取り得る。ブロック218において、サーバ114は送信コンピューティングデバイス102に第1の位置情報を送信し得る。目的デバイス、この場合では送信コンピューティングデバイス102のための様々な位置の記録から調べられるジオロケーション情報を含むSIPメッセージとして、第1の位置情報は送られ得る。
【００２６】
いくつかの実施形態において、送信コンピューティングデバイス102の位置は、サーバ114に接続するのに使用されるアクセスポイントあるいはノードの位置、あるいは利用可能であればサーバ114の位置などの粗い位置情報であり得る。第1の位置情報は、コンピューティングデバイス102によって送られるSIPメッセージに応答してサーバ114から送られ得る。ブロック220において、送信コンピューティングデバイス102は第1の位置情報を受け取り得る。送信コンピューティングデバイス102は、サーバ114からのSIP応答におけるジオロケーション情報を処理して、第1の位置情報を得ることができる。ブロック222において、送信コンピューティングデバイス102は第1の位置情報と第2の位置情報とを比較し得る。ブロック224において、送信コンピューティングデバイス102は、第2の位置情報が正確であるか否かを判定し得る。たとえば、送信コンピューティングデバイス102は、2つの位置が閾値以上で異なるか否かを判定するために、第1の位置情報と第2の位置情報を比較し得る。
【００２７】
2つの位置の差の閾値は、第2の位置情報の精度の許容水準を判定するために確立され得る。閾値はメートル、マイル、全地球位置発見システム座標で表現され得る。閾値は、0.1マイル、0.2マイル、0.3マイル、あるいはメートル、フィート、度、または他の単位の同等物などの値であり得る。第1の位置と第2の位置情報との差が許容閾値内であるなら、送信コンピューティングデバイス102は、第2の位置情報が正確であると判定し得る。しかしながら、送信コンピューティングデバイス102がその差は許容閾値外(たとえば、2マイルの閾値に対して2マイルの差)と判定する場合、送信コンピューティングデバイス102は、ユーザによって(または位置ソースによって)供給された位置情報が不正確であると判定し得る。いくつかの実施形態において、インジケータは、第1の位置と第2の位置との間の偏差の水準を視覚的あるいは聴覚的に示すユーザに提供され得る。指示は、色調、バー、色勾配、あるいは他の勾配指示の形式などで、ユーザディスプレイ上の目に見える勾配として提供され得る。そのような勾配内の指示の値は、2つの位置の差に比例し得る。
【００２８】
送信コンピューティングデバイス102は、送信側の実際の位置に関する第2の位置情報が正確であると判定する場合、ブロック226において、送信コンピューティングデバイス102は、検証済みの第2の位置情報を有するメッセージを受信コンピューティングデバイス103に送信し得る。ブロック228において、受信コンピューティングデバイス103は、検証済みの第2の位置情報あるいは検証済みの第2の位置情報を含むメッセージを受け取り得る。あるいは、送信コンピューティングデバイス102は、検証済みの第2の位置情報あるいは検証済みの第2の位置情報を含むメッセージをサーバ114へ送り得る。サーバ114は、検証済みの第2の位置情報あるいは検証済みの第2の位置情報を含むメッセージを受信コンピューティングデバイス103に転送し得る。
【００２９】
ブロック230において、受信コンピューティングデバイス103は、送信コンピューティングデバイス102の位置を知るために検証済みの第2の位置情報を使用し得る。送信コンピューティングデバイス102の位置に関する知識は、第2の位置情報の精度の水準に左右され得る。言い換えれば、位置情報の検証は、検証閾値あるいは他の精度許容因子に依存する、ある精度の水準内にあるだけに過ぎない。受信コンピューティングデバイス103は、検証済みの第2の位置情報を有するメッセージを出力し得る。実施形態において、受信コンピューティングデバイス103は、第2の位置情報が検証されたことに気づくことができる、あるいはできない。他の実施形態において、検証指示は、第2の位置情報が検証されたことを示す位置情報を提供され得る。たとえば、当該技術分野で知られているような証明書を使用して情報に署名するなどのような、安全なサーバ検証処理が使用され、第2の位置情報は証明書と共に安全なサーバあるいは安全なサーバシステムから提供され得る。
【００３０】
図2に示されていないが、送信コンピューティングデバイス102が、位置情報は不正確(コンピューティングデバイスで生成されるか、あるいはサーバから受け取られるか)と判定する場合、送信コンピューティングデバイス102は、供給された位置情報が不正確であるか、あるいは検証できないことを受信コンピューティングデバイス103あるいは他の受信コンピューティングデバイスに通知するために、指示をメッセージに添付し得る。次いで、送信コンピューティングデバイス102は、受信した第2の位置情報および不正確の指示(あるいは、正確の指示)を有するメッセージを受信コンピューティングデバイス103に送信し得る。受信コンピューティングデバイス103は、メッセージ、第2の位置情報、および/または、第2の位置情報が不正確であり得るか、あるいは検証できないという指示を出力し得る。あるいは、送信コンピューティングデバイス102が、送信側の位置情報は不正確である(すなわち、第2の位置情報は不正確である)と判定する場合、送信コンピューティングデバイス102は、第2の位置情報の代わりに第1の位置情報を用いて、第1の位置情報を有するメッセージを受信コンピューティングデバイス103に送信し得る。受信コンピューティングデバイス103は、第1の位置情報を有するメッセージを受け取り得る。受信コンピューティングデバイス103は、第1の位置情報を有するメッセージを出力し得る。別の実施形態では、送信コンピューティングデバイス102のユーザのプライバシーを保存することに基づいて、送信コンピューティングデバイス102の精度を検証できなかったことを示すメッセージを送り得る。そのような通知を送る選択は、送信コンピューティングデバイス102でのプライバシー設定に基づき得る。
【００３１】
図3は、第2の位置情報を含むメッセージを受け取る受信コンピューティングデバイス103が、送信コンピューティングデバイス102の最後に把握された位置(たとえば、第1の位置情報)についてサーバ114に問い合わせる、プロセッサ実行可能命令によって構成される、第2の実施形態の方法を示す。受信コンピューティングデバイス103のプロセッサは、サーバ114から受け取られた位置をメッセージに含まれる第2の位置情報と比較する。受信コンピューティングデバイス103は、2つの位置が互いから規定の距離内であるかを判定する。
【００３２】
図3を参照すると、ブロック202、204、206、208、および210は、図2と同じ、あるいは同様であり、したがって、再び説明はしない。このように、図2と関連して説明された動作と同様に、送信コンピューティングデバイス102はSIP登録を開始して、第1の位置をサーバ114に送信し得る。サーバ114は、送信コンピューティングデバイス102が新しい位置情報で定期的に更新できる第1の位置情報を受け取って記憶し得る。
【００３３】
ブロック210において、ユーザは送信コンピューティングデバイス102で第2の位置情報を有するメッセージを準備し得る。ブロック212において、送信コンピューティングデバイス102は第2の位置情報あるいは第2の位置情報を有するメッセージを受信コンピューティングデバイス103に送信し得る。ブロック314において、受信コンピューティングデバイス103は、第2の位置情報を有するメッセージを受け取り得る。ブロック316において、受信コンピューティングデバイス103は、第1の位置情報に対する要求をサーバ114に送り得る。ブロック318において、サーバ114は第1の情報に対する要求を受け取り得る。サーバ114は、記憶された第1の位置情報(図示せず)を検索し得る。ブロック320において、サーバ114は、第1の位置情報を受信コンピューティングデバイス103に送信し得る。ブロック322において、受信コンピューティングデバイス103は、サーバ114から第1の位置情報を受け取り得る。このように、第1の位置情報に対する要求を送り/送信し、その後に第1の位置情報を受け取ることによって、受信コンピューティングデバイス103は、送信コンピューティングデバイス102の最後に把握された位置についてサーバ114に問い合わせることができる。
【００３４】
ブロック324および326における比較および判定動作は、図2のブロック222および224における比較および判定動作と同様である。ブロック324において、受信コンピューティングデバイス103は、第2の位置情報を検証するために第1の位置情報と第2の位置情報とを比較し得る。ブロック326において、受信コンピューティングデバイス103は、第2の位置情報によって示されるような送信側の位置が正確であるか否かを判定し得る。お互いの既定閾値距離内に第1の位置と第2の位置があるか否かを判定することによって、受信コンピューティングデバイス103は第2の情報の精度を判定し得る。第1の位置と第2の位置との差が既定閾値内である場合、ブロック328において、受信コンピューティングデバイス103は、検証済みの第2の位置情報を有するメッセージを出力し得る。
【００３５】
受信コンピューティングデバイス103が、第1の位置と第2の位置との差は既定閾値内にないと判定する場合、受信コンピューティングデバイス103は指示を生成するか、あるいは不正確を反映するインジケータを提供し得る。受信コンピューティングデバイス103は、位置情報および、送信側の特定の位置(すなわち、第2の位置情報)が不正確であり得るという指示またはインジケータを有するメッセージを出力し得る。あるいは、受信コンピューティングデバイス103は、第2の位置情報を検証できないというインジケータあるいは指示を提供し得る。あるいは、受信コンピューティングデバイス103は、第2の位置情報の代わりに第1の位置情報を用いて、正確な第1の位置情報を有するメッセージを出力し得る。あるいは、第1の位置情報および第2の位置情報を代用する代わりに、受信コンピューティングデバイス103は、第1の位置情報と第2の位置情報の両方をメッセージとともに出力し得る。
【００３６】
図4は、送信コンピューティングデバイス102から受信コンピューティングデバイス103へのメッセージが通過する1つまたは複数のプロキシサーバ114'が、メッセージに含まれる位置情報(たとえば、第2の位置情報)を認証するための、サーバ実行可能命令で構成される、第3の実施形態の方法を示す。受信コンピューティングデバイス103は、本実施形態で送信コンピューティングデバイス102の最後に把握された位置をレジストラサーバであり得るサーバ114に問い合わせることによって、第2の位置情報を認証し得る。プロキシサーバ114'は、レジストラサーバ114(たとえば、第1の位置情報)から返される位置情報を送信されているメッセージに追加し得る。メッセージが受信コンピューティングデバイス103で受け取られるとき、受信コンピューティングデバイス103は、追加された位置とメッセージに含まれる第2の位置情報とを比較し得る。受信コンピューティングデバイス103は、2つの位置が互いから既定距離内であるかを判定する。
【００３７】
図4を参照すると、第1の位置情報を記憶し、必要に応じて適宜更新するレジストラサーバ114(サーバ114と対照)に第1の位置情報が送信される、あるいは受け取られることを除き、ブロック202、204、206、208、および210は、図2を参照して上述された同じ番号のブロックと同様である。レジストラサーバは、図2および図3を参照して上述されたサーバ114と同じであり得るが、プロキシサーバ114'と区別され得ることを明らかにするために、図4においてレジストラサーバ114と呼ばれる。
【００３８】
ブロック210において、送信コンピューティングデバイス102のユーザは第2の位置情報を有するメッセージを準備し得る。ブロック212において、送信コンピューティングデバイス102は、第2の位置情報を含むメッセージをプロキシサーバに114'に送信し得る。ブロック414において、プロキシサーバ114'は、第2の位置情報を有するメッセージを受け取り得る。ブロック416において、プロキシサーバ114'は、第1の位置情報に対する要求をレジストラサーバ114に送り得る。ブロック418において、レジストラサーバ114は、第1の位置情報に対する要求を受け取り得る。レジストラサーバ114は、記憶された第1の位置情報(図示せず)を検索し得る。ブロック420において、レジストラサーバ114は、第1の位置情報をプロキシサーバ114'に送信し得る。ブロック422において、プロキシサーバ114'は、第1の位置情報を受け取り得る。プロキシサーバ114'は、第1の位置情報を受け取られたメッセージ(図示せず)に追加し得る。ブロック424において、プロキシサーバ114'は、第1の位置情報および第2の位置情報を有するメッセージを受信コンピューティングデバイス103に送信し得る。ブロック426において、受信コンピューティングデバイス103は、第1の位置情報および第2の位置情報を有するメッセージを受け取り得る。
【００３９】
ブロック324、326、および328の動作は、図3を参照して説明したものと同じである。受信コンピューティングデバイス103は、受け取られたメッセージの第1の位置および第2の位置を比較し、所定の閾値に基づいて送信側の位置(すなわち、第2の位置情報)が正確であるか否かを判定し、正確な位置情報を有するメッセージを出力し得る。図3と同様に、図4における受信コンピューティングデバイス103は、送信側の位置(すなわち、第2の位置情報)が正確であると判定し、メッセージと一緒にそれを出力し得る。受信コンピューティングデバイス103は、送信側の位置(すなわち、第2の位置情報)が正確でないと判定し得る。送信側の位置が正確でないとき、受信コンピューティングデバイス103は、第2の位置情報の代わりに正確な第1の位置情報を用いて、第1の位置情報を有するメッセージを出力し得る。あるいは、受信コンピューティングデバイス103は、送信側の位置が不正確であり得るか、あるいは検証できないという指示と同様に、不正確な送信側の位置(すなわち、第2の位置情報)を有するメッセージを出力し得る。
【００４０】
図5は、送信コンピューティングデバイス102の最後に把握された位置についてレジストラサーバ114に問い合わせることにより、送信コンピューティングデバイス102から受信コンピューティングデバイス103へのメッセージが通過する1つまたは複数のプロキシサーバ114'が、メッセージに含まれる位置情報を認証するための、サーバ実行可能命令で構成される、第4の実施形態の方法を示す。プロキシサーバ114'におけるプロセッサは、レジストラサーバ114から返される位置とオリジナルメッセージに含まれる位置情報とを比較し、位置情報を認証するために、2つの位置が互いから規定距離内であるかを判定する。位置間の差が閾値内である(すなわち、位置が互いから規定距離内にある)場合、プロキシサーバ114'は、現在認証された位置情報を含む受信デバイスにメッセージを送る。位置が互いから規定距離内にない場合、プロキシサーバの114'は、メッセージに元々含まれる位置情報の代わりにレジストラサーバ114から受け取られた位置情報を用いて、認証された(すなわち、置換された)位置情報を含むメッセージを受信デバイスに送る。この実施形態において、受信コンピューティングデバイス103は、この置換に気づくことができる、あるいはできない。
【００４１】
図5を参照すると、ブロック202、204、206、208、210、212、414、418、416、420、および422の動作は、図4を参照して上記で説明された、同様の番号を付されたブロックと同じである。ブロック524を参照すると、プロキシサーバ114'は、第1の位置情報および第2の位置情報を比較し得る。ブロック536において、プロキシサーバ114'は、送信側の位置情報が正確であるか否かを判定し得る。プロキシサーバ114'は、所定の閾値内(たとえば、1マイルの10分の1内)に第1の位置と第2の位置とがあるか否かを判定し得る。第1の位置および第2の位置が規定あるいは所定の閾値内であるとき(すなわち、送信側の位置(第2の位置)が正確であると判定)、ブロック530において、プロキシサーバ114'は、正確な位置情報(すなわち、第2の位置情報)を有するメッセージを受信コンピューティングデバイス103に送信し得る。ブロック532において、受信コンピューティングデバイス103は、正確な位置情報(すなわち、第2の位置情報)を有するメッセージを受け取り得る。ブロック534において、受信コンピューティングデバイス103は、正確な位置情報(すなわち、第2の位置情報)を有するメッセージを出力し得る。
【００４２】
しかしながら、既定あるいは所定の閾値内に第1の位置と第2の位置とがない場合、任意のブロック528において、プロキシサーバは、メッセージにおいて正確な位置情報(すなわち、第1の位置情報)を代用し得る。このように、ブロック530、532、および533の動作は、代わりの第1の位置情報を用いて繰り返され得る。位置情報を代用する代わりに、プロキシサーバ114'は、単にメッセージと一緒に精度インジケータ(たとえば、「未検証の位置)を送り、受信コンピューティングデバイス103はメッセージ、位置情報、および/または、精度指示を出力し得る。
【００４３】
図6は、サーバ114が、受信コンピューティングデバイス103からの照会に応じて送信コンピューティングデバイス102の位置を認証するための、サーバ実行可能命令で構成される、第5の実施形態の方法を示す。
【００４４】
この実施形態において、その他と同様に、送信デバイス102が位置情報を受信コンピューティングデバイス103に送るとき、この情報交換を直接的に行うことができない。特に、位置情報は、送信コンピューティングデバイス102から送信コンピューティングデバイス102が登録されるサーバ114まで送信され得る。サーバ114は、セルラ方式セルID、WiFiネットワークの場合のアクセスポイントID、あるいは他の位置情報など、送信デバイス102用の粗い位置情報を有する。この実施形態において、送信コンピューティングデバイス102から位置情報を受け取るとき、サーバ114は、その情報を認証できる。認証は、送信デバイス102からの位置を記憶された送信デバイス102の位置情報と比較することを伴い得る。この比較の結果に基づいて、サーバ114は、位置情報と一緒に認証メタデータ(認証済み、妥当、妥当でない、誤り、または他の認証メタデータ)を受信コンピューティングデバイス103に送り得る。このように、サーバ114は、送信コンピューティングデバイス102の報告位置が認証されるか否かを示すメッセージを受信コンピューティングデバイス103に送信する。受信コンピューティングデバイス103はサーバ102から認証メッセージを受け取り、ユーザに位置の認証状態を通知するか、あるいは他の行動を取り得る。
【００４５】
図6を参照すると、ブロック202、204、206、208、210、212、および314の動作は、図3を参照して上記で説明された、同様の番号を付されたブロックの動作と同じである。図6に示す実施形態において、受信コンピューティングデバイス103は、ブロック616において、第2の位置情報の位置の信頼性に対する要求を送り得る。ブロック618において、サーバは、第2の位置情報の信頼性に対する要求を受け取り得る。ブロック620において、サーバ114は、第1の位置情報を第2の位置情報と比較し得る。ブロック622において、サーバ114は、送信側の位置が正確であるか否かを比較に基づいて判定し得る。ブロック624において、サーバ114は、信頼性指示を受信コンピューティングデバイス103に送信し得る。ブロック626において、受信コンピューティングデバイス103は、信頼性指示を受け取り得る。ブロック628において、受信コンピューティングデバイス103は、信頼性指示を有するメッセージを出力し得る。
【００４６】
いくつかの実施形態において、送信コンピューティングデバイス102および/または受信コンピューティングデバイス103は、位置情報が更新されたという通知および/または指示を受け取り得る。通知は、メッセージ、システム水準通知、あるいは他の通知であり得る。指示は、フラグあるいはアイコンなどのディスプレイ上の図形、あるいは如何なる他の適当な指示であり得る。あるいは、送信コンピューティングデバイス102および/または受信コンピューティングデバイス103は、メッセージに含まる位置情報の算出精度の指示を表示し得る。この指示は、数字目盛、勾配、あるいは様々な精度を示す何らかの他の方法であり得る。指示は、受け取られたメッセージで提供される位置情報が正確であると検証されたという認証の形式であり得る。
【００４７】
実施形態において、送信コンピューティングデバイス102は、中間サーバ114あるいは受信コンピューティングデバイス103が位置確認を要求したことを示すメッセージを受け取り得る。実施形態において、送信コンピューティングデバイス102のユーザは、位置確認要求を容認するか、あるいは妨げる機会を与えられ得る。要求が妨げられる場合、要求側のデバイスは位置確認を受け取れない。ユーザの好みは局所的に、および/または、サーバ114に記憶され、さらなる要求におけるデフォルトの応答として使用され得る。
【００４８】
様々な実施形態は、図7に一例が示されるモバイルデバイスを含む様々なコンピューティングデバイスのいずれかで実装され得る。たとえば、モバイルデバイス700は、内部メモリ704および710と結合されたプロセッサ702を含み得る。内部メモリ704および710は、揮発性あるいは不揮発性メモリであり、また、安全な、および/または、暗号化されたメモリ、安全でない、および/または、暗号化されていないメモリ、あるいはそれらの如何なる組合せであってもよい。また、プロセッサ702は、耐感知タッチスクリーン、容量感知タッチスクリーン、あるいは赤外線感知タッチスクリーンなどのタッチスクリーンディスプレイ706と結合され得る。さらに、モバイルデバイス700のディスプレイは、タッチスクリーン能力を有する必要はない。さらに、モバイルデバイス700は、ワイヤレスデータリンクおよび/またはプロセッサ702と結合されたセルラ電話トランシーバ716に接続され得る電磁放射を送受信するための1つまたは複数のアンテナ708を有し得る。また、モバイルデバイス700は、ユーザ入力を受け付けるための物理ボタン712aおよび712bを含み得る。また、モバイルデバイス700は、モバイルデバイス700をオン/オフするための電源スイッチ718を含み得る。
【００４９】
また、上記で説明された様々な実施形態は、図8に示すようなラップトップコンピュータ810などの様々なパーソナルコンピューティングデバイス内で実装され得る。多くのラップトップコンピュータは、コンピュータのポインティングデバイスとして機能するタッチパッド接触面817を含み、上記で述べた、タッチスクリーンディスプレイを備えるモバイルコンピューティングデバイスで実装されるものと同様のドラッグ、スクロール、およびフリックジェスチャを受け取り得る。通常、ラップトップコンピュータ810は、フラッシュメモリのディスクドライブ813のような、揮発性メモリ812および大容量不揮発性メモリと結合されたプロセッサ811を含む。また、コンピュータ810は、フロッピー（登録商標）ディスクドライブ814およびプロセッサ811と結合されたコンパクトディスク(CD)ドライブ815を含み得る。また、コンピュータデバイス810は、USB、FireWire(登録商標)コネクタソケット、あるいはプロセッサ811をネットワークと結合するための他のネットワーク接続回路などのような、データ接続を確立するための、あるいは外部メモリデバイスを受け取るためのプロセッサ811と結合された多くのコネクタポートを含み得る。ノートパソコンの構成において、コンピュータハウジングは、タッチパッド817、キーボード818、およびディスプレイ819を含み、それらはすべてプロセッサ811と結合されている。コンピューティングデバイスの他の構成は、周知のように、様々な実施形態と関連して使用され得る、(たとえば、USB入力を介して)プロセッサと結合されたコンピュータマウスあるいはトラックボールを含み得る。
【００５０】
また、様々な実施形態は、図9に示すサーバ900などのような、実施形態の方法を実行するためのサーバ実行可能命令によって構成される様々な市販のサーバのいずれかで実装され得る。通常、そのようなサーバ900は、ディスクドライブ903のような、揮発性メモリ902および大容量不揮発性メモリと結合されたプロセッサ901を含む。また、サーバ900は、プロセッサ901と結合されたフロッピー（登録商標）ディスクドライブ、コンパクトディスク(CD)、あるいはDVDディスクドライブ904を含み得る。また、サーバ900は、他のブロードキャストシステムコンピュータおよびサーバと結合されたローカルエリアネットワーク、インターネット、公衆交換電話網、および/または、セルラデータネットワーク(たとえば、CDMA、TDMA、GSM（登録商標）、PCS、3G、4G、LTE、あるいは何らかの他の種類のセルラデータネットワーク)など、ネットワーク907とのネットワークインターフェース接続を確立するためのプロセッサ901と結合されたネットワークアクセスポート906を含み得る。
【００５１】
プロセッサ702、811、および901は、上記で説明された様々な実施形態の機能を含む様々な機能を実行するためのソフトウェア命令(アプリケーション)で構成され得る何らかのプログラマブルマイクロプロセッサ、マイクロコンピュータ、または複数のプロセッサチップあるいはチップであり得る。いくつかのモバイルデバイスにおいて、ワイヤレス通信機能専用の1つのプロセッサや他のアプリケーションの実行専用の1つのプロセッサなど、複数のプロセッサを提供し得る。通常、ソフトウェアアプリケーションがアクセスされてプロセッサ702、811、および901にロードされる前、ソフトウェアアプリケーションは内部メモリ704、710、812、813、902、および903に記憶され得る。プロセッサ702、811、および901は、アプリケーションソフトウェア命令を記憶するのに十分な内部メモリを含み得る。内部メモリは、揮発性メモリあるいは不揮発性メモリであり、たとえばフラッシュメモリ、あるいは両方の混合物などであり得る。この説明の目的について、メモリへの一般参照は、サーバあるいはコンピューティングデバイスに差し込まれる内部メモリあるいは脱着可能なメモリを含むプロセッサ702、811、および901によってアクセス可能なメモリ、およびサーバあるいはコンピューティングデバイス702、811、および901内のメモリへの参照である。
【００５２】
「第1の」という用語と「第2の」という用語は、ユーザに入力された位置情報と送信コンピューティングデバイスの登録処理の一部である位置情報とに関連する位置情報について説明するために、本明細書で使用される。これらの識別子は単に便宜のためにあって、様々な実施形態をネットワークあるいはキャリアの特定の順、シーケンス、あるいは種類に限定する意図はない。さらに、様々な実施形態は、送信コンピューティングデバイスに割り当てられた2つの位置情報について説明され得るが、そのような説明は、単に一例として提供されているに過ぎず、あるモバイルデバイスの位置情報量を限定する意図はない。たとえば、送信コンピューティングデバイスは、サーバでその登録位置情報を定期的に更新することができ、第1の位置情報は定期的に更新され得る。あるいは、ユーザに入力された位置情報は、送信デバイスのソフトウェアあるいはユーザの行動に依存して変更あるいは置換され得る。
【００５３】
前述の方法の説明および処理フロー図は、単に説明例として提供されているに過ぎず、様々な実施形態の動作を提示された順で実行しなければならないと要求あるいは暗示する意図はない。当業者には理解されるだろうが、前述の実施形態における動作の順は、如何なる順でも実行され得る。「その後」、「次いで」、「次に」などの単語は動作の順を限定する意図はなく、これらの単語は、単に方法の説明を通して読み手を誘導するのに使用される。さらに、単数形の請求要素への如何なる参照、たとえば、冠詞「a」、「an」あるいは「the」を使用することが要素を単数形に限定すると解釈されるものではない。
【００５４】
本明細書で開示された実施形態と関連して説明された、様々な説明的な論理ブロック、モジュール、回路、およびアルゴリズム動作は、電子機器、コンピュータソフトウェア、あるいは両方の組合せとして実装され得る。このハードウェアおよびソフトウェアの互換性を明確に説明するために、様々な説明的な構成要素、ブロック、モジュール、回路、および動作が、機能性の点から上記で一般的に説明された。そのような機能性がハードウェアあるいはソフトウェアとして実装されるか否かは、全体システムに課される特定用途および設計制約に依存する。当業者は、それぞれの特定用途に応じた異なった方法で、説明された機能性を実装し得るが、そのような実装判定が本発明の範囲からの逸脱を引き起こすと解釈されるべきではない。
【００５５】
本明細書で開示された態様と関連して説明された、様々な説明的な論理、論理ブロック、モジュール、および回路を実装するのに使用されるハードウェアは、サーバ、汎用プロセッサ、デジタルシグナルプロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、他のプログラマブル論理デバイス、離散的なゲート、トランジスタ論理、離散的なハードウェア構成要素、あるいは、本明細書で説明される機能を実行するためのサーバ実行可能あるいはプロセッサ実行可能命令で設計あるいは構成される、何らかの組合せで実装あるいは実行され得る。汎用プロセッサはマイクロプロセッサであり得るが、その他に、プロセッサは、何らかの従来のプロセッサ、コントローラ、マイクロコントローラ、あるいは状態機械であり得る。また、プロセッサは、たとえば、DSPおよびマイクロプロセッサ、複数のマイクロプロセッサ、DSPコアと関連する1つまたは複数のマイクロプロセッサ、あるいは何らかの他のそのような構成の組合せなど、コンピューティングデバイスの組合せとして実装され得る。あるいは、いくつかの動作あるいは方法は、ある機能に特有の電気回路構成によって実行され得る。
【００５６】
上記で説明された様々な実施形態の機能は、ハードウェア、ソフトウェア、ファームウェア、あるいはそれらの如何なる組合せでも実装され得る。ソフトウェアで実装される場合、機能は、1つまたは複数の命令あるいはコードとして、非一時的なコンピュータ可読媒体に記憶され得る。本明細書で開示された方法あるいはアルゴリズムの動作は、非一時的なコンピュータ可読記憶媒体に存在し得る、プロセッサで実行可能あるいはサーバで実行可能なソフトウェアモジュールで表現され得る。非一時的なコンピュータ可読記憶媒体は、コンピュータによってアクセスされる何らかの利用可能な媒体であり得る。例として、そのような非一時的なコンピュータ可読媒体は、限定はされないが、RAM、ROM、EEPROM、CD-ROM、あるいは他の光ディスク記憶装置、磁気ディスク記憶装置、あるいは他の磁気記憶デバイス、または、命令あるいはデータ構造の形式で望ましいプログラムコードを記憶するのに使用され、コンピュータによってアクセスされ得る何らかの他の媒体も含み得る。本明細書で使用されるように、ディスク(disk)およびディスク(disc)は、コンパクトディスク(CD)、レーザーディスク（登録商標）、光ディスク、デジタルバーサタイルディスク(DVD)、フロッピー（登録商標）ディスク、およびブルーレイディスクを含み、通常、ディスク(disk)はデータを磁気的に再生し、ディスク(disc)はレーザで光学的にデータを再生する。また、上記の組合せは、非一時的なコンピュータ可読媒体の範囲内に含まれるべきである。さらに、方法あるいはアルゴリズムの動作は、コンピュータプログラム製品に組み入れられ得る非一時的な機械可読媒体および/またはコンピュータ可読媒体上のコードおよび/または命令の1つあるいは何らかの組合せ、または組として存在し得る。
【００５７】
開示された実施形態の前述の説明は、如何なる当業者でも本発明を作る、あるいは使用することを可能にするために提供される。これらの実施形態への様々な変更は、当業者に容易に明らかになり、本明細書で定義された一般的な原理は、本発明の趣旨および範囲から逸脱しない範囲で他の実施形態に適用され得る。このように、本発明は、本明細書で示された実施形態に限定されることを意図せず、以下の特許請求の範囲、および、本明細書で開示される原理および新規特徴と一致する最も広い範囲と一致する。
【符号の説明】
【００５８】
100  ワイヤレスネットワークシステム
102  送信コンピューティングデバイス
103  受信コンピューティングデバイス
104  ワイヤレス通信コンピューティングデバイス
106  ワイヤレス送受信器
108  ワイヤレスデータネットワーク
110  ルータ
112  インターネット
114  サーバ/レジストラサーバ
114'  プロキシサーバ
700  モバイルデバイス
702  プロセッサ
704  内部メモリ
706  タッチスクリーンディスプレイ
708  アンテナ
710  内部メモリ
712a  物理ボタン
712b  物理ボタン
718  電源スイッチ
810  ラップトップコンピュータ
811  プロセッサ
812  揮発性メモリ
813  ディスクドライブ
814  フロッピー（登録商標）ディスクドライブ
815  コンパクトディスクドライブ
817  タッチパッド接触面
818  キーボード
819  ディスプレイ
900  サーバ
901  プロセッサ
902  揮発性メモリ
903  ディスクドライブ
904  DVDディスクドライブ
906  ネットワークアクセスポート
907  ネットワーク
【図１】
0006363166.tif 000002
【図２】
0006363166.tif 000003
【図３】
0006363166.tif 000004
【図４】
0006363166.tif 000005
【図５】
0006363166.tif 000006
【図６】
0006363166.tif 000007
【図７】
0006363166.tif 000008
【図８】
0006363166.tif 000009
【図９】
0006363166.tif 000010