【文献】
Jesse Cravens,“7章 ジオロケーション(位置情報通信機能)Hack”,「HTML5 HACKS」,株式会社オライリー・ジャパン,2013年10月25日,p.v-vi,257-284
(58)【調査した分野】(Int.Cl.,DB名)
前記位置データ点が、緯度、経度、及びエラー値を含み、該位置データ点は、地図ユーザーインタフェース機能におけるユーザー入力に基づいて、前記クライアント装置において生成されたものであることを特徴とする請求項1記載のコンピュータ可読媒体。
前記位置データ点が、さらにエラー値を含み、該位置データ点は、地図ユーザーインタフェース機能におけるユーザー入力に基づいて、前記クライアント装置において生成されたものであることを特徴とする請求項10記載の方法。
【発明の概要】
【課題を解決するための手段】
【0003】
本明細書に記載の実施例は、位置情報サービスを提供するために、コンピューティング装置から位置データ点を受信し、その位置データ点に対応する位置情報を決定するシステムを提供する。1つの実施例において、システムは、システムが利用可能又はアクセス可能な資源に基づいて、どの資源を用いて位置情報を決定すべきかを判定することができる。
【0004】
1つの実施例によれば、システムは、クライアントのコンピューティング装置から、全地球測位システム(GPS)のデータ点等の位置データ点を受信することができる。位置データ点は、緯度、経度、及びエラー値を含むことができる。システムは、位置データ点の逆ジオコーディング処理を実行して、対応する位置情報又は住所を決定することができる。1つの実施例において、システムは、まず、位置データ点が、システムのユーザー(例えば、管理者)によって構成された、複数の所定領域のいずれかの所定領域内にあるか否かを判定することができる。複数の所定領域は、例えば、システムがアクセス可能なデータベースに保存することができる。位置データ点が、所定領域内にある場合、その所定領域に対応する位置情報を特定し、クライアント装置に送信することができる。
【0005】
位置データ点が所定領域内にない場合、システムは、位置データ点を所在地住所等の住所に翻訳又は変換するのに、サードパーティの逆ジオコーディングサービスが利用可能又はアクセス可能であるか否かを判定することができる。一部の実施例において、システムは、複数のサードパーティの逆ジオコーディングサービスと通信することができる。位置データ点を住所に翻訳するのに、サードパーティの逆ジオコーディングサービスにアクセス可能である場合、システムは、当該逆ジオコーディングサービスに対し、位置データ点を含む要求を送信することができ、対応する住所を受信することができる。次に、その住所をクライアント装置に送信することができる。
【0006】
ときには、システムにとって、サードパーティの逆ジオコーディングサービスが利用不可、又はアクセス不可の場合がある。かかる場合には、システムは、位置データ点を住所に翻訳するのに、システムの地図データベース(例えば、システムが維持している内部データベース)が利用可能であるか否かを判定することができる。地図データベースが利用可能である場合、システムは、位置データ点を用いて、保存されている住所を検索し、検索した住所をクライアント装置に送信することができる。地図データベースが利用できない場合(又は位置データ点に対応する住所が見つからなかった場合)、システムは、クライアント装置に送信すべき特定の文字列を識別することができる。このようにして、システム100は、所定の階層又は順序に基づいて、逆ジオコーディング処理を実行することができる。
【0007】
更に、システムは、クライアント装置から、輸送サービスに対する要求を受信することもできる。輸送要求には、クライアント装置のユーザーによって指定/選択された、位置データ点(例えば、以前に送信された位置データ点又は新規の位置データ点のいずれか)を含めることができる。システムは、輸送要求の位置データ点に基づいて、当該輸送サービスを提供できる運転者を選択することができる。一部の実施例によれば、システムは、クライアント装置のユーザーの優先言語が、選択した運転者の優先言語と一致するか否かを判定することができる。優先言語が一致した場合、システムは、運転者の装置に対し、決定した位置情報/住所を送信することができる。一方、優先言語が一致しなかった場合、システムは、例えば、運転者に代わって、逆ジオコーディング処理を実行して、運転者の優先言語による位置情報又は住所を決定することができる。
【0008】
本明細書において、クライアント装置、運転者装置、及び/又はコンピューティング装置は、ネットワーク接続、及びネットワークを介して、システムと通信するための処理資源を提供することができる、デスクトップコンピュータ、携帯電話装置若しくはスマートフォン、携帯情報端末(PDA)、ラップトップコンピュータ、タブレット装置、テレビ(IPテレビ)等に相当する装置を意味する。運転者装置は、輸送対象の他の装置、カスタムハードウェア等にも相当することができる。クライアント装置及び/又は運転者装置は、システムと通信するように構成されたアプリケーションを動作させることもできる。
【0009】
更に、システムは、例えば、前述のコンピューティング装置を用いて、個人と個人との間で手配される(輸送サービス、配達サービス、娯楽サービス等の)位置情報サービスを可能にすることができる。一例として、ユーザーは、輸送若しくは配達サービス(例えば、食品配達、メッセンジャーサービス、食品トラックサービス、又は製品輸送)又は娯楽サービス(例えば、マリアッチバンド又は弦楽四重奏)等のオンデマンドサービスを要求することができ、システムは、システムと通信する装置を使用する運転者、食品提供者、楽団等のサービス提供者を選択することができる。
【0010】
更に別の実施例において、1つ以上のネットワークを介し、1つ以上のクライアント装置から、一定の期間にわたり通信された多数の位置データ点が受信される。多数の位置データ点の各々の受信に応じて、複数の所定のジオフェンスを含むデータストアにアクセスして、その位置データ点が、複数の所定のジオフェンスのうちの、いずれかの所定領域内にあるか否かが判定される。複数の所定のジオフェンスの少なくとも1つが、システムのユーザーによって構成されている。所定領域内に存在しない少なくとも1つの位置データ点について、(i)別の資源を用いて、クライアント装置に位置情報を提供すべきであるかについて判定される。位置データ点を翻訳する1つ以上のサードパーティの逆ジオコーディングングサービスも決定される。サードパーティの逆ジオコーディングングサービスに対し、位置データ点を含む要求が送信され、多数の位置データ点の各々が所在地住所に翻訳される。多数の位置データ点の各々について、対応する所在地住所が受信される。多数の位置データ点の各々について、対応する所在地住所が、その位置データ点を通信したクライアント装置に送信される。
【0011】
本明細書に記載の1つ以上の実施例において、コンピューティング装置によって実行される方法、技術、及び動作が、プログラム的に実行される、又はコンピュータによって実行される方法として提供される。本明細書において、プログラム的とは、コード又はコンピュータ実行可能な命令の使用によることを意味する。これ等の命令は、コンピューティング装置の1つ以上のメモリ資源に記憶することができる。プログラム的に実行されるステップは自動でも、自動でなくてもよい。
【0012】
本明細書に記載の1つ以上の実施例は、プログラムモジュール、エンジン、又はコンポーネントを用いて実行することができる。プログラムモジュール、エンジン、又はコンポーネントは、前述のタスク又は機能の1つ以上を実行することができる、プログラム、サブルーチン、プログラムの一部、又はソフトウェアコンポーネント若しくはハードウェアコンポーネントを含むことができる。本明細書において、モジュール又はコンポーネントは、他のモジュール又はコンポーネントから独立して、ハードウェアコンポーネントに存在することができる。あるいは、モジュール又はコンポーネントは、他のモジュール、プログラム、又はマシーンとの共有要素又はプロセスであってよい。
【0013】
本明細書に記載の一部の実施例は、概して、処理及びメモリ資源を有する、コンピューティング装置の使用を必要とし得る。例えば、本明細書に記載の1つ以上の実施例の全部又は一部を、サーバー、デスクトップコンピュータ、携帯電話若しくはスマートフォン、携帯情報端末(例えば、PDA)、ラップトップコンピュータ、プリンター、デジタルピクチャフレーム、ネットワーク装置(例えば、ルータ)、タブレット装置等のコンピューティング装置によって実行することができる。本明細書に記載の任意の実施例の確立、使用、及び性能に関連して(任意の方法の性能又は任意のシステムの実施態様に関連することを含む)、メモリ、処理、及びネットワーク資源をすべて使用することができる。
【0014】
更に、本明細書に記載の1つ以上の実施例は、1つ以上のプロセッサによって実行可能な命令の使用を通して実施することができる。これ等の命令は、コンピュータ可読媒体に担持させることができる。図を用いて以下に示す又説明するマシーンは、処理資源及び本明細書に記載の実施例を実施するための命令を担持及び/又は実行できるコンピュータ可読媒体の例を提供するものである。特に、本明細書に記載の実施例で示す多くのマシーンは、プロセッサ、並びにデータ及び命令を保持するための様々な形態のメモリを含んでいる。コンピュータ可読媒体の例には、パーソナルコンピュータやサーバーのハードドライブ等の固定記憶装置がある。コンピュータ記憶媒体の別の例には、CDやDVD等の携帯記憶装置、(スマートフォン、多機能装置、タブレット等に担持された)フラッシュメモリー、及び磁気メモリがある。コンピュータ、端末、ネットワーク対応装置(例えば、携帯電話等の携帯装置)はすべて、プロセッサ、メモリ、及びコンピュータ可読媒体に記憶されている命令を利用するマシーン及び装置の例である。更に、実施例は、コンピュータプログラム、又はかかるプログラムを担持することができる、コンピュータ使用可能担持媒体の形態で実施することができる。
【発明を実施するための形態】
【0016】
システムの説明
図1は1つの実施の形態における、位置データ点を用いて位置情報を決定する、例示的なシステムを示す図である。1つの実施例において、本システムは、当事者間で手配されるサービス(例えば、ユーザーとサービス提供者との間の輸送サービス、又は配達サービスの手配)を可能にする、別のシステムと共に又は一部として動作することができる。例えば、
図1のシステムは、ユーザーに輸送サービスを手配するために、運転者を選択する派遣システムに対応することができる。システム100は、ユーザーのクライアント装置から位置データ点を受信し、逆ジオコーディング処理を実行して、位置データ点に対応する住所又はその他の位置情報を決定することができる。
【0017】
一般に、コンピューティング装置は、サードパーティの逆ジオコーディングサービスに対し、位置データ点を与えることができ、サードパーティの逆ジオコーディングサービスは、位置データ点を所在地住所に翻訳することができる。しかし、単にサードパーティの逆ジオコーディングサービスを利用して、位置情報を決定するのには問題があり得る。例えば、サードパーティの逆ジオコーディングサービスは、特定の装置に許可されている秒あたりのクエリ数(QPS)が制限されている等、レート制限が設けられている可能性及び/又は高コストの可能性がある。多数のクライアント装置が、無線ローカルエリアネットワーク(WLAN)等、同じネットワーク上で動作している状況においては、サードパーティの逆ジオコーディングサービスに照会している多数の装置は、サードパーティの逆ジオコーディングサービスによって、同じ装置と見なされ、ロックアウトされる(例えば、装置がサードパーティの逆ジオコーディングサービスに電話するのが阻止される)。更に、住所データが不正確又はサードパーティの逆ジオコーディングサービスのコンピューティング資源の障害(例えば、サーバーのクラッシュ)等、状況によっては、特定のサードパーティの逆ジオコーディングサービスに依存することが問題になる可能性がある。クライアント装置を有効にして、サードパーティの逆ジオコーディングサービスに対し、位置データ点を直接送信するのではなく、
図1のシステムが、クライアント装置から位置データ点を受信することができ、サードパーティの逆ジオコーディングサービを利用した又は利用しなくてもよい、逆ジオコーディング処理を実行することができる。
【0018】
1つの実施例によれば、システム100は、位置決定部110、輸送手配部120、装置インタフェース130、サービスインタフェース140、ジオフェンスデータベース150、ジオフェンスインタフェース155、及び地図データベース160を有している。複数のクライアント装置170及び複数の運転者装置180が、1つ以上のネットワークを介し、装置インタフェース130を経由して、システム100と通信することができる。一部の実施例において、システム100は、1つ以上のサードパーティの逆ジオコーディングサービス190とも通信することができる。システム100の構成要素が連合して、クライアント装置170から位置データ点を受信し、逆ジオコーディング処理を実行して、位置データ点に対応する住所又は位置情報を決定することができる。ロジックは、様々なアプリケーション(例えば、ソフトウェア)及び/又はシステム100を実装するコンピュータシステムのハードウェアで実行することができる。
【0019】
実施態様に応じ、システム100の1つ以上の構成要素を、1つ以上のサーバー等のネットワーク側の資源で実現することができる。システム100は、別のアーキテクチャ(ピアツーピアネットワーク等)において、別のコンピュータシステムを通して実現することもできる。追加又は代替として、システム100の構成要素の一部又は全部を、クライアント装置170及び/又は運転者装置180上で動作するアプリケーションを通して、クライアント装置170において実現することができる。例えば、サービスアプリケーション等のクライアントアプリケーションを実行して、システム100の様々な構成要素によって記述されるプロセスの1つ以上を実行することができる。システム100は、(例えば、無線又は有線を使用した)ネットワークインタフェースを経由し、ネットワークを介して通信することができ、1つ以上のクライアント装置170及び1つ以上の運転者装置180と通信することができる。
【0020】
システム100は、装置インタフェース130を用いて、1つ以上のネットワークを介し、クライアント装置170及び運転者装置180と通信することができる。装置インタフェース130は、システム100と遠隔コンピューティング装置との通信を管理することができる。一部の実施例において、クライアント装置170(及び運転者装置180)が、装置インタフェース130にインタフェースして、システム100と通信することができるサービスアプリケーションを個別に動作させることができる。一部の実施例によれば、アプリケーションが、外向きアプリケーションプログラミングインターフェース(API)等のAPIを含み、又は使用して、装置インタフェース130とデータを通信することができる。外向きAPIは、ウェブベースフォーム、レストフルAPIを介したプログラムアクセス、シンプルオブジェクトアクセスプロトコル(SOAP)、リモートプロシージャコール(RPC)、スクリプトアクセス等の任意の数の方法を通して、ネットワーク上のセキュアアクセスチャンネルを介し、システム100に対するアクセスを提供することができる。
【0021】
一部の実施例によれば、位置決定部110が、装置インタフェース130を経由して、クライアント装置170から、位置データ点171を受信することができる。例えば、クライアント装置170のユーザーが、サービスアプリケーションを動作させると、ユーザーはサービスアプリケーションのユーザーインタフェースと対話して、オンデマンド及び/又は位置情報サービスに関連した、特定の位置を選択又は指定することができる。ユーザーは、例えば、ユーザーの現在位置(例えば、クライアント装置170の現在位置)及びユーザーが地図上を移動させて、位置情報サービスに用いられる位置を示すことができる1つ以上のグラフィック機能(例えば、ピン)を示す、地図インタフェースと対話することができる。1つの実施例において、ピンで指定された地図上の位置が、輸送サービスのピックアップ場所及び/若しくは目的地、又は配達サービスの届先とすることができる。
【0022】
ユーザーが、例えば、地図インタフェース上のピンを特定の位置に移動させることによって、位置を選択すると、クライアント装置170が、(特定の位置に対応する)位置データ点171を決定し、装置インタフェースを経由して、システム100に送信する。実施例によれば、選択された位置に対応する位置データ点171は、緯度、経度、及びエラー値を含んでいる。例えば、クライアント装置170は、全地球測位システム(GPS)コンポーネント、及び/又はクライアント装置170の現在の位置、又は地図インタフェース上の選択位置のGPS座標を決定することができる、別のコンポーネントを含むことができる。GPSコンポーネントは、緯度及び経度の精度を示す、位置データ点171のエラー値を含むこともできる。例えば、高エラー値の位置データ点171は、低エラー値の位置データ点171ほど正確ではないと見なされる(例えば、GPSコンポーネントは、GPS座標が決定されるとき、信号干渉、ハードウェア障害等があると、位置データ点に対し高エラーを有し得る)。
【0023】
1つの実施例によれば、クライアント装置170のユーザーによって、サービスアプリケーションの地図インタフェース上で、輸送サービスのピックアップ場所等の位置が選択される都度、クライアント装置170が、対応する位置データ点171をシステム100に与えることができる。例えば、ユーザーは(例えば、クライアント装置170のタッチセンサー式ディスプレイ上で、指のタッチを介してピンを移動し、所望の位置が指定されたら指を離して)地図インタフェース上で、第1の位置を選択し、ユーザーがタッチセンサー式ディスプレイから指を離したことに応じて、クライアント装置170は、ユーザーが位置を選択したと判断し、対応する位置データ点171をシステム100に送信することができる。その後直ちに(例えば、1秒後)、ユーザーは(例えば、ユーザーが輸送サービスにとって、第2の位置がより良いと判断して)地図インタフェース上で、別の第2の位置を選択することができる。同様に、クライアント装置170は、次いで、第2の位置に対応する位置データ点171を送信することができる。
【0024】
一部の実施例において、ユーザーは、(i)ユーザーがシステム100に対し輸送要求175を出すまで(ii)ユーザーが輸送要求175を出してから所定の時間後まで(iii)ユーザーが輸送サービスの運転者にピックアップされるまで、連続して指定位置を変更する(及びクライアント装置170に連続して対応する位置データ点171を送信させる)ことができる。ユーザーによって位置が指定される都度、ユーザーのクライアント装置170上で動作している、サービスアプリケーションによって、対応する位置データ点171が、システムに100に与えられるため、システム100によって、対応する住所又は位置情報を決定して、サービスアプリケーションに提供することができる。1つの実施例によれば、位置データ点171を、対応する住所の要求の一部として、サービスアプリケーションによって、システム100に与えることができる。このようにして、特定の住所が、輸送サービスにおいて、ユーザーがピックアップされたいと希望する住所(又は、別の例における届先住所)であることを、ユーザーが見て確認することができる。
【0025】
位置決定部110は、クライアント装置170から、位置データ点171を受信し、それに応じて、当該位置データ点171の逆ジオコーディング処理を実行することができる。1つの実施例において、位置決定部110は、1つ以上の条件に基づいて、位置データ点171を対応する住所(例えば、所在地住所)又は対応する場所名、情報、若しくは識別子に翻訳するのに、どの資源(例えば、どのデータベース、どのサードパーティの逆ジオコーディングサービス等)を利用するかを決定し、逆ジオコーディング処理を実行することができる。一部の実施例において、位置決定部110は資源選択部及び言語照合部を有している。
【0026】
位置決定部110は、複数の資源にアクセス又は通信して、受信した位置データ点171の位置情報又は住所を決定することができる。複数の資源には、ジオフェンスデータベース150、地図データベース160、複数のサードパーティの逆ジオコーディングサービス190、及び/又は、
図1に図示しない、テキスト文字列を保存するためのデータベース等の他のデータベースが含まれる。実施態様にもよるが、ジオフェンスデータベース150及び/又は地図データベース160は、システム100に含めることができ、及び/又はシステム100の管理者ユーザーによって維持することができる。
【0027】
1つの実施例によれば、ジオフェンスデータベース150は、各々が記述的テキスト文字列に対応する、ユーザーが作成又は設定した複数のジオフェンス(例えば、3つ以上の位置データ点によって規定された所定領域)を保存するデータベースである。ジオフェンスデータベース150の各エントリは(i)ジオフェンスの境界を規定する複数の位置点、及び(ii)ジオフェンスに対応する位置情報を(例えば、指定されたテキスト文字列として)含むことができる。例えば、ジオフェンスは、サンフランシスコ国際空港、ターミナル2の出口又はドアの近傍(例えば、ピックアップ場所の近傍)等の、地理的領域に対して作成することができ、「ターミナル2、SFO」と識別することができる。一部の実施例において、ジオフェンスエントリは、そのジオフェンスエントリの期間(例えば、開始日、開始時刻、終了日、終了時刻等)も含むことができる。管理者は、1つ以上の入力を通して、ジオフェンスインタフェース155と対話して、ジオフェンスデータベース150に対し、ジオフェンスの作成、編集、及び/又は削除を行うことができる。
【0028】
地図データベース160は、システム100に保存されているマッピング情報に対応することができる。例えば、マッピング情報は、OpenStreetMap(OSM)、オープンソースのマッピングデータベース、又は他のマッピングソース等のマッピングソースから提供を受ける、又は検索することができる。地図データベース160は、OSMからの情報を用いて、及び/又はシステム100(例えば、地図データベース160を保管維持するシステム100)の管理者によって、定期的に更新することができる。位置決定部110は、ジオフェンスデータベース150及び/又は地図データベース160にアクセスして、受信した位置データ点171に対応する位置情報を決定することができる。
【0029】
更に、システム100は、1つ以上のサービスインタフェース140を経由して、ネットワークを介し、1つ以上のサードパーティの逆ジオコーディングサービス190にアクセスすることもできる。サードパーティの逆ジオコーディングサービスは、緯度及び経度等の位置データ点を可読な住所又は名前に翻訳するサービスを提供する。複数のサードパーティの逆ジオコーディングサービスが存在している可能性があり、システム100が(例えば、サービスインタフェース140を経由して)利用可能である。例えば、あるサードパーティの逆ジオコーディングサービス190は、大都市又は国等の特定の領域内の位置データ点に対し、所在地住所を提供することができる(例えば、あるサードパーティの逆ジオコーディングサービスは、韓国の位置データ点の翻訳に特化することができる)一方、別のサードパーティの逆ジオコーディングサービス190は、別の領域内(例えば、フランス)の位置点の所在地住所を提供することができる。別の実施例において、あるサードパーティの逆ジオコーディングサービス190が、他より広い範囲を含むことができる(即ち、グーグル社のサードパーティの逆ジオコーディングサービス等の他よりも大きな地理的領域にまたがる、より大きな住所データベースを有している)。
【0030】
受信した位置データ点171、及びシステム100の1つ以上の条件に基づいて、資源選択部は、受信した位置データ点171の位置情報又は住所を決定するのに、どの資源を利用すべきかを決定することができる。例えば、受信した位置データ点171に対する位置情報、又は住所を決定するために、ユーザーがシステム100に入力した1つ以上のパラメータを用いて、どの資源を最初に利用すべきかを決定し、必要があれば第2の資源、更に必要があれば第3の資源を決定するというように、資源選択部を構成することができる。更に、1つの実施例において、位置決定部110は、位置データ点171と一緒に受信したエラー値が、エラー閾値以上であるかをまず判定することができる。エラー閾値以上のエラー値は、クライアント装置170のGPSコンポーネントによって決定された緯度及び経度が、例えば、間違い又は不正確である可能性が高いことを示している可能性がある。
【0031】
位置決定部110によって、エラー値がエラー閾値以上であると判定された場合、例えば、資源選択部は、テキスト文字列データベース(
図1に図示せず)を位置決定部110がアクセスすべき資源として選択することができる。位置決定部110は、テキスト文字列データベースから、デフォルトのテキスト文字列を検索して、そのデフォルトのテキスト文字列を(当該位置データ点171を送信した)クライアント装置170に提供して、ユーザーに対し、位置が決定できなかったこと、又はGPSコンポーネントによって提供された位置データが、不正確であったことを示すことができる。別の実施例において、テキスト文字列が、ユーザーに対し、再試行又は新たな位置を選択するよう促すこともできる。そのような実施例において、エラー値が高いと判定されたため、位置決定部110が、サードパーティの逆ジオコーディングサービス190の利用を見送ることにより、ネットワークの帯域幅の使用を減らすと共に、サードパーティの逆ジオコーディングサービス190に対して行われる通信の回数を減らすことができ、また、受信した位置データ点171に対し、対応する住所又は位置情報を決定するための、逆ジオコーディング処理は一般に行われない。
【0032】
追加又は代替として、一部の実施例において、資源選択部は、受信した位置データ点171に対応する住所又は位置情報の決定に用いる資源の、(相対)順位付けを保存することもできる。1つの実施例において、システム100の管理者によって、予め資源の分類又は相対順位付けを行うことができる。位置決定部110が、位置データ点171を受信すると、資源選択部は、対応する住所又は位置情報の決定に使用するために、利用可能又はアクセス可能な最も順位の高い資源を選択することができる。例えば、位置決定部110が利用する資源の順位付けは、(1)ジオフェンスデータベース150、(2)地域限定サードパーティの逆ジオコーディングサービス190(3)、(地域限定サードパーティの逆ジオコーディングサービスと比較して)より大きく、より包括的なサードパーティの逆ジオコーディングサービス190、(4)地図データベース160、及び(5)テキスト文字列データベースの優先順とすることができる。資源の順序は別の実施例において異なり得る。一部の実施例において、位置決定部110の資源選択について、管理者が資源の順位付けを調整することができる。
【0033】
位置決定部110が、位置データ点171を受信すると、位置決定部は、逆ジオコーディング処理を実行して、対応する住所又は位置情報を決定することができる。逆ジオコーディング処理は、受信した位置データ点171に対し、対応する住所又は位置情報を決定するのに、どの資源を利用するかを決定することを含んでいる。1つの実施例において、資源選択部は、(例えば、前述の順位付けに基づいて)ジオフェンスデータベース150を最初に利用すべきであると決定することができる。位置決定部110は、ジオフェンスデータベース150にアクセスして、当該位置データ点171が、ジオフェンスの所定領域内(例えば、ジオフェンスの3つ以上の位置点によって規定される境界内)に存在しているか否かを判定する。位置データ点171がジオフェンスの所定領域内にある場合、位置決定部110は、ジオフェンスデータベース150から、対応する位置情報151又は記述的テキスト文字列を特定し、その位置情報151又は記述的テキスト文字列を位置情報173として、装置インタフェース130を経由して、クライアント装置170に提供する。
【0034】
説明したように、ジオフェンスデータベース150に保存されるジオフェンスエントリは、1つ以上の期間が関連付けられている、時間ベースのジオフェンスであってよい。期間はいつジオフェンスが「アクティブ」であるかを示すことができる。例えば、ジオフェンスは、イベント(例えば、コンサート、スポーツイベント、パレード等)が発生し得る期間を指定することができる。このような時間ベースのジオフェンスは、その期間中に、ユーザーがジオフェンス領域において、ピックアップ場所を要求した場合のような、イベントに対応する記述的テキスト文字列を示すことができる。位置決定部110が、時間ベースのジオフェンスの所定領域内における位置データ点171を受信したが、そのジオフェンスの指定期間中ではない、特定の時刻に受信した場合、位置決定部110は、(例えば、位置データ点171が時間ベースのジオフェンスの所定領域内にあったとしても)位置データ点171が、ジオフェンスデータベース150の既存のジオフェンスエントリに一致しないと表示することができる。資源選択部は、指定された順序又は階層に基づいて、逆ジオコーディング処理に対し、別の資源の使用を決定することができる。
【0035】
位置データ点171が、ジオフェンスデータベース150のどのジオフェンスの所定領域内にもない場合、資源選択部は、その位置データ点171に対応する、地域限定サードパーティの逆ジオコーディングサービス190に対し、アクセスできるか否かを判定することができる。時として、アクセス制限(例えば、秒当たりのクエリ(QPS)制限等の、秒当たりの可能な逆ジオコーディング要求数の制限)、帯域制限、ハードウェア上の問題(例えば、サードパーティの逆ジオコーディングサービスのサーバーがダウンしている、又はネットワーク上の問題)等の結果、サードパーティの逆ジオコーディングサービスにアクセスできない場合があり得る。更に、位置データ点171が、どの地域限定サードパーティの逆ジオコーディングサービス190も利用できない領域内に存在していることがあり得る。(例えば、位置データ点171が存在している都市、領域、州、国等に限定した、地域限定サードパーティの逆ジオコーディングサービス190のような)地域限定サードパーティの逆ジオコーディングサービス190にアクセス可能である場合、位置決定部110は、位置データ点171を用いて、その位置データ点171から対応する住所に翻訳することができる、地域限定サードパーティの逆ジオコーディングサービス190に対し、逆ジオコード要求111を送る(例えば、地域限定サードパーティの逆ジオコーディングサービス190にクエリする)ことができる。位置決定部110が、そのサードパーティの逆ジオコーディングサービス190から、対応する住所191を受信した後、位置決定部110は、住所173をクライアント装置170に提供することができる。
【0036】
一方、どの地域限定サードパーティの逆ジオコーディングサービス190にもアクセスできない場合、資源選択部は(地域限定サードパーティの逆ジオコーディングサービスと比較して)より大きく、より包括的なサードパーティの逆ジオコーディングサービス190にアクセス可能であるか否かを判定することができる。一部の実施例において、より大きく、より包括的なサードパーティの逆ジオコーディングサービス190が、(例えば、グーグル社が提供している逆ジオコーディングサービスのような)地理的により広い範囲のデータ点を含むことができる。より大きく、より包括的なサードパーティの逆ジオコーディングサービス190にアクセス可能である場合、位置決定部110は、位置データ点171を用いて、その位置データ点171から対応する住所に翻訳することができる、より大きく、より包括的なサードパーティの逆ジオコーディングサービス190に対し、逆ジオコード要求111を送る(例えば、より大きく、より包括的なサードパーティの逆ジオコーディングサービス190にクエリする)ことができる。位置決定部110が、そのより大きく、より包括的なサードパーティの逆ジオコーディングサービス190から、対応する住所191を受信した後、位置決定部110は、住所173をクライアント装置170に提供することができる。
【0037】
どのサードパーティの逆ジオコーディングサービス190にもアクセスできない場合、資源選択部は、システム100の内部地図データベース160にアクセス可能であるか否かを判定することができる。地図データベース160は、1つ以上のマッピングソースから提供される又は検索される、マッピング情報に対応することができる。地図データベース160にアクセス可能である場合、位置決定部110は、地図データベース160において、位置データ点171の検索を行うことができる。位置データ点171が、対応する住所又は位置情報161を有している場合、位置決定部110は、その住所又は位置情報161を、位置情報173として、装置インタフェース130を経由して、クライアント装置170に提供することができる。
【0038】
地図データベース160がアクセス不可若しくは利用不可、又は対応する住所若しくは位置情報が、地図データベース160において見つからない場合、資源選択部は、どの資源も利用不可又はアクセス不可であると判断することができ、位置決定部110は、テキスト文字列データベースに保存されている、カスタムテキスト文字列を特定することができる。位置決定部110は、 「住所が入手できませんでした」、「別の場所を選択して下さい」、又は「テキストフィールドに住所を入力して下さい」等のカスタムテキスト文字列を、装置インタフェース130を経由して、クライアント装置170に送信させることができる。このようにして、ユーザーは、オンデマンドの位置情報サービスを要求する前に、そのサービスに関わる住所又は位置についての正確な情報を受信することができる。
【0039】
一部の実施例によれば、位置決定部110は、クライアント装置170を操作するユーザーの優先言語を決定することもできる。例えば、システム100は、ユーザー及び/又はユーザーの個々のクライアント装置170のプロフィールデータベースを維持することができる。システム100は運転者プロフィールデータベースも維持することができる。ユーザーのプロフィールは、他のユーザー情報と共に、ユーザー識別子(ID)(例えば、ユーザー名、電子メールアドレス等)及び優先言語(例えば、英語、韓国語、アラビア語、フランス語、中国語等)を含むことができる。ユーザーがクライアント装置170を操作し、クライアント装置170によって、位置決定部110に対し、(ユーザーIDと共に)位置データ点171が与えられると、言語照合部が、ユーザープロフィールデータベースの当該ユーザーのプロフィールにアクセスすることにより、そのユーザーの優先言語を特定することができる。このようにして、ユーザーによって選択された位置データ点171に対し、対応する住所又は位置情報173が、そのユーザーのクライアント装置170に提供される場合、位置決定部110は、当該ユーザーの優先言語で、住所又は位置情報173を送信することができる。
【0040】
幾つかの変形例によれば、位置決定部110は、(例えば、言語照合部を介して)(i)逆ジオコーディング処理を用いて決定した(例えば、複数の資源のうちの1つを用いて決定した)住所又は位置情報を翻訳することにより、(ii)サードパーティの翻訳サービスにアクセスして、決定された住所又は位置情報を翻訳することにより、及び/又は(iii)逆ジオコーディング処理中に、位置決定部110によって、サードパーティの逆ジオコーディングサービスに対し、住所191の逆ジオコーディング要求111が、指定優先言語でなされるようにすることによって、対応するユーザー及び/又はユーザーのクライアント装置170の優先言語で、住所又は位置情報173を提供することができる。一部の実施例において、この翻訳は、1つの言語(例えば英語)から音声的に表現された別の言語(例えば、音声的に表現された中国語)への翻訳である。
【0041】
システム100は、当事者間に手配される位置情報サービスを可能にする、別のシステムと一緒に又は一部として動作することもできる。例えば、システム100は、クライアント装置170から輸送要求175を受信する、輸送手配部120を含むことができる。クライアント装置170のユーザーは、ピックアップ場所等の位置を選択し、システム100から住所又は位置情報173を受信することができる。次に、ユーザーは、クライアント装置170上で動作しているサービスアプリケーションを介して、選択された位置を用いて(又は別の位置を選択して)、システム100に対し、輸送要求175を出すことができる。輸送要求175は位置データ点171を含むことができ、輸送手配部120は、ピックアップ場所を指定する位置データ点171に基づいて、運転者が提供する輸送を手配することができる。例えば、複数の運転者が、複数の運転者装置180を操作することができる。輸送手配部120は、輸送要求175(例えば、要求車両の種類、時刻、ユーザーの評価、運転者の評価等)及び/又は位置データ点171に基づいて、運転者を選択することができる(例えば、輸送手配部120は、遠くにいる他の運転者と比較して、近くにいる運転者を選択することができる)。
【0042】
輸送手配部120が運転者を選択すると、クライアント装置170及び選択された運転者の運転者装置180(例えば、各々の装置上で動作しているサービスアプリケーション)に対し、輸送サービス情報125を提供することができる。運転者には、顧客が選択したピックアック場所も通知される。しかし、クライアント装置170のユーザーが選択した位置データ点171を、運転者装置180に提供する代わりに、一部の実施例において、位置決定部110が、(クライアント装置170のユーザーに対し、以前に決定された)対応する所在地住所又は位置情報を、住所又は位置情報183として、運転者装置180に提供することができる。
【0043】
一部の実施例において、位置決定部110は、選択された運転者の優先言語も決定することができる。輸送手配部120によって運転者が選択されると、位置決定部110の言語照合部は、運転者プロフィールデータベースの選択された運転者プロフィールに(例えば、運転者IDを用いて)アクセスすることにより、その運転者の優先言語を特定することができる。言語照合部は、ユーザーの優先言語と選択された運転者の優先言語とを比較して、両者が同じであるか否かを判定することができる。優先言語が一致した場合、位置決定部110は、別の翻訳ステップを実行する必要がなく、代わりに、(ユーザーのクライアント装置170に送信済みの)決定した住所又は位置情報を運転者装置180に送信することができる。一方、優先言語が一致しない場合、位置決定部110は、(例えば、運転者の優先言語で住所193を受信するために)再度逆ジオコーディング処理を実行、及び/又はユーザーの優先言語で決定された住所を、運転者の好ましい言語に翻訳する処理を実行することができる。
【0044】
このように、システム100は、所定の逆ジオコーディング処理を用いて、位置情報又は所在地住所を提供するにあたり、多くの利点をもたらす。例えば、サードパーティの逆ジオコーディングサービスが、利用不可又はアクセス不可であっても、システム100が、他の資源を用いて、クライアント装置170のユーザーに対し、適切な位置情報を提供することができる。システム100の管理者が、ジオフェンスデータベース150等の内部データベースを絶えず更新して、ユーザーに対し、よりきめの細かな時間ベースの位置情報メッセージを提供することができる。このようなきめの細かな時間ベースの情報は、道路、街角、領域等が、一時的なイベント(例えば、マラソン又は街の祭り)によって、封鎖又は閉鎖されている場合には、ユーザーだけでなく、サービスプロバイダーにとっても、一般的な所在地住所よりも、より有用である。更に、システム100によって、クライアント装置及び運転者装置の両方に対し、オンデマンドサービスのための確固たる住所又は位置情報が提供されるため、サードパーティの逆ジオコーディングサービスに対し、2つの別々(即ち、クライアント装置及び運転者装置による個別)の逆ジオコーディング要求を出すことなく、ユーザーと選択された運転者が同じ情報を受信することができる。
【0045】
方法論
図2A及び2Bは、1つの実施の形態による、位置情報を決定するための例示的な方法を示す図である。
図2A及び2Bの例等で説明する方法は、例えば、
図1の実施の形態で説明した構成要素を用いて実行することができる。従って、
図1の構成要素に対する参照は、ステップ又はサブステップを実行するための適切な要素、又はコンポーネントを示すことを目的としたものである。
【0046】
図2Aにおいて、システム100は、1つ以上のネットワークを介し、クライアント装置から、GPSデータ点等の位置データ点を受信することができる(205)。一部の実施例において、位置データ点は緯度、経度、及びエラー値を含むことができる。エラー値がエラー閾値より小さい場合、システム100は、受信した位置データ点に対し、逆ジオコーディング処理(210〜250)を行うことができる。
図1の位置決定部110によって実行されるような逆ジオコーディング処理の例を詳細に説明する。
【0047】
位置決定部110は、位置データ点が、システム100の管理者によって構成された、複数の所定領域のいずれかの所定領域内にあるか否かを判定する(210)。位置データ点が所定領域内にある場合、位置決定部110は、当該所定領域に対応する位置情報を特定し、その位置情報をクライアント装置に送信する(215)。複数の所定領域に関する情報は、ジオフェンスエントリとして、ジオフェンスデータベースに保存することができる。一部の実施例において、ジオフェンスエントリは、時間ベースとすることができ、当該ジオフェンスエントリの期間(例えば、開始日、開始時刻、終了日、終了時刻等)を含むことができる。例えば、ジオフェンスエントリは、AT&Tパーク周囲の領域および/又は対応する領域を指定することができると共に、そこで行われる野球の試合の日付と継続時間に関連した期間(例えば、試合開始の1時間前から試合終了後1時間まで)を有することができる。AT&Tパークの所定領域に対応する位置情報テキスト文字列は、例えば、「ジャイアンツの試合、ピックアップは、3番ストリートとブラナンストリートの角まで歩いてください」とすることができる。実際の住所/場所が人で混雑及び/又は道路が閉鎖されている可能性があるため、位置情報は(例えば、輸送サービスについて)別の場所に移動してピックアップされるように、ユーザーを誘導する有益な情報とすることができる。このようにしてユーザーのクライアント装置に提供される、このような予め構成された位置情報を、オンデマンドサービスの目的を達成する上において、ユーザーにとってより便利にすることができる。
【0048】
位置データ点が所定領域内にない場合、位置決定部110は、利用可能又はアクセス可能な、地域限定逆ジオコーディングサービスがあるか否かを判定する(220)。例えば、位置データ点をクライアント装置から受信したとき、秒当たりのクエリ(QPS)数等のレート制限に到達していた場合、サードパーティの逆ジオコーディングサービスを利用することはできない。別の例において、サードパーティの逆ジオコーディングサービスに電話したが、(例えば、当該サードパーティの逆ジオコーディングサービスのコンピューティング資源が、故障若しくはクラッシュしていたため、又は当該サードパーティの逆ジオコーディングサービスに対するネットワーク接続が失われたため)、その呼び出しに応じて住所が受信されなかった場合、サードパーティの逆ジオコーディングサービスを利用することはできない。
【0049】
地域限定サードパーティの逆ジオコーディングサービスにアクセスして、位置データ点を住所に翻訳可能である場合、位置決定部110は、その地域限定サードパーティの逆ジオコーディングサービスに対し、要求を送信することができる(225)。この要求には位置データ点を含めることができる。1つの実施の形態において、ユーザーの優先言語で所在地住所の要求を出すことができる。当該地域限定サードパーティの逆ジオコーディングサービスは、当該位置データ点を所在地住所に翻訳して、その住所を位置決定部に110に提供することができる。位置決定部は、その住所をクライアント装置に送信することができる(228)。1つの変形例において、地域限定サードパーティの逆ジオコーディングサービスが、位置データ点の住所を提供することができない場合、位置決定部110は、当該翻訳のために、利用可能又はアクセス可能な、別のサードパーティの逆ジオコーディングサービスがあるか否かを判定することができる。どのサードパーティの逆ジオコーディングサービスも、利用不可又はアクセス不可の場合、位置決定部110は、システム100の地図データベース等の別の資源を利用して位置情報を決定、又はクライアント装置に対し、カスタムテキスト文字列を提供することができる。
【0050】
220に戻り、位置データ点を住所に翻訳するのに、地域限定サードパーティの逆ジオコーディングサービスが利用不可又はアクセス不可の場合、位置決定部110は(地域限定サードパーティの逆ジオコーディングサービスと比較して)より大きく、より包括的なサードパーティの逆ジオコーディングサービス(グーグル社が提供している逆ジオコーディングサービス等)にアクセス可能であるか否かを判定することができる(230)。より大きく、より包括的なサードパーティの逆ジオコーディングサービスが利用可能である場合、位置決定部110は、そのより大きく、より包括的なサードパーティの逆ジオコーディングサービスに対し要求を送信する(235)。位置決定部110は、翻訳された住所を受信し、その住所をクライアント装置に送信することができる(238)。
【0051】
ときには、システム100にとって、サードパーティの逆ジオコーディングサービスが利用不可、又はアクセス不可の場合があり得る。どのサードパーティの逆ジオコーディングサービスもアクセス不可、又は利用不可の場合、位置決定部110は、位置データ点を住所に翻訳するのに、システム100の地図データベース(例えば、システム100が維持する内部データベース)が利用可能であるか否かを判定することができる(240)。地図データベースが利用可能である場合、位置決定部110は、位置データ点を用いて、保存されている住所を検索して、検索した住所をクライアント装置に送信することができる(245)。地図データベースが利用できない場合(又は位置データ点に対応する住所が見つからなかった場合)、システム100は、クライアント装置に送信すべき、規定の文字列(「住所が入手できませんでした」、「別の場所を選択して下さい」、「運転者を呼び出してください」等)を特定することができる。
【0052】
図2Aには、位置決定部110が、複数の資源に対し、アクセス又はアクセスを試みる特定の順序が記載してあるが、変形例に応じ、資源の別の順序又は順位付けが可能である。別の実施例において、位置決定部110は、特定の資源にアクセス又はアクセスを試みることをしなくてもよい。例えば、サードパーティの逆ジオコーディングサービスが、総QPS制限に到達している場合、位置決定部110は、そのサードパーティの逆ジオコーディングサービスに対しアクセスしなくてもよく、代わりに、別の資源(例えば、システム100の地図データベース)又は他の内部データベースにアクセスすることができる。更に、位置データ点が存在するそれぞれの地理的領域には、それぞれ異なる資源が利用可能である。
【0053】
例えば、
図2Bは、1つの実施の形態による、位置情報を決定するための別の例を示す図である。
図2Bにおいて、位置決定部110が、地域限定サードパーティの逆ジオコーディングサービスに対し、個別にアクセス又はアクセスを試みることをしないことを除き、
図2Bは
図2Aと同様である。位置決定部110は、クライアント装置から位置データ点を受信し(255)、その位置データ点が所定領域内にあるか否かを判定する(260)。所定領域内にある場合、その所定領域に対応する特定された位置情報が、クライアント装置に送信される(265)。
【0054】
位置データ点が所定領域内にない場合、位置決定部110は、サードパーティの逆ジオコーディングサービスが利用可能、又はアクセス可能であるか否かを判定する(270)。サードパーティの逆ジオコーディングサービスが利用可能、又はアクセス可能である場合、位置決定部110は、そのサービスに対し要求を送信する(275)。当該サードパーティの逆ジオコーディングサービスは、位置データ点を所在地住所等の住所に翻訳して、位置決定部110に対し、結果を返すことができる。位置決定部110は、クライアント装置に対し、その住所を送信することができる(278)。
【0055】
どのサードパーティの逆ジオコーディングサービスも利用不可、又はアクセス不可の場合、位置決定部110は、システム100の地図データベースが、利用可能であるか否かを判定する(280)。利用可能である場合、当該位置データ点に対応する位置情報又は住所を、地図データベースから検索して、クライアント装置に送信する(285)。システム100の地図データベースが利用できない場合、位置決定部110は、クライアント装置に送信されるカスタムテキスト文字列を特定することができる(290)。
【0056】
図3は、別の実施の形態による、位置情報を決定するための例示的な方法を示す図である。
図3の例等で説明する方法は、例えば、
図1の実施の形態で説明した構成要素を用いて実行することができる。従って、
図1の構成要素に対する参照は、ステップ又はサブステップを実行するための適切な要素、又はコンポーネントを示すことを目的としたものである。
【0057】
システム100は、クライアント装置から、位置データ点を受信することができる(310)。クライアント装置は、例えば、そのクライアント装置のユーザーが、オンデマンド又は位置情報サービスに使用する位置を指定することができる、サービスアプリケーションを実行することができる。1つの実施例において、サービスアプリケーションが、地図インタフェースを提供することができ、ユーザーがその地図インタフェース上のグラフィック機能を移動させることにより、位置を選択することができる。選択された位置が、緯度、経度等の位置データ点に対応することができる。
【0058】
位置データ点の受信に応じて、位置決定部110は、逆ジオコーディング処理を実行し、受信したデータ点に対応する住所又は位置情報を決定する(320)。一部の実施例において、逆ジオコーディング処理が、
図2Aのステップ210〜250、又は
図2Bのステップ260〜290に対応することができる。位置決定部110は、クライアント装置に対し、当該逆ジオコーディング処理の結果、例えば、住所、位置情報、又はカスタムテキスト文字列を提供する。ユーザーは、地図インタフェース上において、輸送要求を出す前に、又は一部の実施の形態においては、輸送要求を出した後でも(ただし、運転者の到着予定時刻の所定時間前まで)、引き続き位置を変更することもできる。位置決定部110は、クライアント装置によって、システム100に対し、別の位置データ点が与えられる都度(例えば、ユーザーが、サービスアプリケーションの地図インタフェース上において、グラフィック機能を移動する都度)、引き続き逆ジオコーディング処理を実行することができる(320)。
【0059】
一部の実施の形態において、ユーザーは、位置データ点を用い、クライアント装置を介して、システム100に対し、オンデマンドサービス要求(配達要求、娯楽サービス要求、輸送要求等)を出すことができる(330)。システム100は、サービス提供者によって、ユーザーに提供されるオンデマンドサービスを手配することができる。例えば、システム100は、輸送サービス要求に関する情報、ユーザーに関する情報、及び当該輸送サービスを提供する運転者を選択するための、サービス位置データ点に対応する地理的領域内の利用可能な運転者に関する情報を用いることができる(340)。別のオンデマンドサービスの例において、システム100は、配達サービスを行う特定の運転者の選択、食品サービスを提供する食品販売店の選択等を行うことができる。輸送サービスに関する情報は、ユーザーのクライアント装置及び運転者の運転者装置の両方に提供することができる。
【0060】
例えば、輸送サービスにおいて、運転者は、ユーザーが指定したピックアップ場所を知る必要がある。ユーザーがピックアップ場所を指定すると、
図2A又は2Bに記載の逆ジオコーディング処理を通してシステム100によって特定された、所在地住所又は位置情報を受信することができる。このような情報は運転者にも提供する必要がある。1つの実施例において、位置決定部110は、ユーザーに対し、ユーザーの優先言語で住所又は位置情報を提供することができる。位置決定部110は、ユーザーの優先言語が運転者の優先言語と一致するか否かを判定することができる(350)。優先言語が一致した場合、位置決定部110は、既に決定されている住所又は位置情報を、その運転者の装置に送信することができる(355)。
【0061】
一方、ユーザーの優先言語が運転者の優先言語に一致しない場合、位置決定部110は、(i)決定された住所又は位置情報を翻訳する、(ii)サードパーティの翻訳サービスにアクセスして、決定された住所又は位置情報を翻訳する、及び/又は(iii)逆ジオコーディング処理を再度行うことができ、これには、サードパーティの逆ジオコーディングサービスに対し、運転者の優先言語で住所又は位置情報を得るための、逆ジオコーディング要求を出すことを含めることができる(360)。運転者の優先言語による住所又は位置情報は、その運転者の装置に提供することができる(370)。
【0062】
ハードウェア図
図4は、本明細書に記載の実施の形態を実施することができる、コンピュータシステムを示すブロック図である。例えば、
図1の状況において、システム100は、
図4に示すようなコンピュータシステムを用いて実現することができる。システム100は、
図4で説明するように、複数のコンピュータシステムの組み合わせを使用して実現することもできる。
【0063】
1つの実施態様において、コンピュータシステム400は、処理資源410、主記憶装置420、読み出し専用メモリ(ROM)430、記憶装置440、及び通信インタフェース450を有している。コンピュータシステム400は、情報を処理するための少なくとも1つのプロセッサ410、並びに情報及びプロセッサ410によって実行される命令を記憶するための、ランダムアクセスメモリ(RAM)やその他の動的記憶装置等の主記憶装置420を有している。主記憶装置420は、プロセッサ410によって実行される命令の実行中における、一時的な変数又はその他の中間情報の記憶にも使用することができる。コンピュータシステム400は、静的情報及びプロセッサ410の命令を記憶するためのROM430、又はその他の静的記憶装置も有することができる。磁気ディスク又は光ディスク等の記憶装置440が備えられ、情報及び
図1のシステム100の構成要素を実現するための命令を含む命令が記憶される。一部の実施例において、プロセッサ410が、ROM430及び/又は記憶装置440に保存されている命令を実行して、
図1〜3で説明したような、逆ジオコーディング処理を実行するためのロジックを実現することができる。
【0064】
通信インタフェース450によって、コンピュータシステム400が、ネットワークリンク(無線又は有線)を用いて、1つ以上のネットワーク480(例えば、移動体通信ネットワーク)と通信することができる。コンピュータシステム400は、ネットワークリンクを用いて、1つ以上のコンピューティング装置、及び1つ以上のサーバーと通信することができる。一部の変形例において、コンピュータシステム400が、ネットワークリンクを介し、1つ以上のクライアント装置から、位置データ点452を受信することができる。位置データ点452をプロセッサ410で処理して、その位置データ点452に対応する住所又は位置情報を決定することができる。ネットワーク480を介し(例えば、位置データ点452を与えた)クライアント装置、及び/又はそのクライアント装置のユーザーに輸送サービスを提供するために選択されている運転者の運転者装置に対し、決定された住所情報454を送信することができる。
【0065】
コンピュータシステム400は、ユーザーに対し、例えば、図形や情報を表示するための陰極線管(CRT)、LCDモニター、又はテレビ受像機等の表示装置460も有することができる。英数字キー及び他のキーを含むキーボード等の入力機構470をコンピュータシステム400に接続して、プロセッサ410に対し、情報及びコマンド選択を伝達することができる。他の例示的な入力機構470には、方向情報及びコマンド選択をプロセッサ410に伝達し、表示装置460上におけるカーソルの移動を制御するためのマウス、トラックボール、タッチセンサー式スクリーン、又はカーソル方向キーが含まれるが、これに限定されるものではない。
【0066】
本明細書に記載の実施例は、本明細書に記載の技術を実現するためのコンピュータシステム400の使用に関連している。1つの実施の形態によれば、これ等の技術は、主記憶装置420に含まれている1つ以上の命令の1つ以上のシーケンスを実行するプロセッサ410に応じて、コンピュータシステム400によって実施される。かかる命令は、記憶装置440等の別の機械可読媒体から、主記憶装置420に読み込むことができる。主記憶装置420に含まれている命令のシーケンスを実行することにより、本明細書に記載の処理ステップが、プロセッサ410によって実行されることになる。別の実施態様において、ソフトウェア命令の代わりに、又はソフトウェア命令と組み合わせて、ハードワイヤード回路を用いて、本明細書に記載の実施例を実現することができる。従って、記載の実施例は、ハードウェア回路及びソフトウェアの、特定の組合せに限定されるものではない。
【0067】
図5は、本明細書に記載の実施の形態を実施することができる、携帯コンピューティング装置を示すブロック図である。1つの実施の形態において、コンピューティング装置500は、電話、メッセージ交換、及びデータサービスが可能な携帯装置等の携帯コンピューティング装置に相当することができる。コンピューティング装置500は、クライアント装置又は運転者装置に相当することができる。かかる装置の例には、携帯電話キャリア用のスマートフォン、ハンドセット、又はタブレット装置が含まれる。コンピューティング装置500は、プロセッサ510、メモリ資源520、表示装置530(タッチセンサー式表示装置等)、1つ以上の通信サブシステム540(無線通信サブシステムを含む)、入力機構550(例えば、入力機構は、タッチセンサー式表示装置を含むか、又はその一部であってよい)、及び1つ以上の位置検出機構(GPSコンポーネント等)560を有している。1つの実施例において、通信サブシステム540のうちの少なくとも1つが、データチャンネル及び音声チャンネルを介し、移動通信データを送受信する。
【0068】
プロセッサ510は、
図1〜4等で説明した実施態様、及び本出願の他の場所に記載の1つ以上のプロセス、ステップ、及びその他の機能を実行するための、ソフトウェア及び/又はその他のロジックで構成されている。プロセッサ510は、メモリ資源520に保存されている命令及びデータを用い、
図1〜4で説明したサービスアプリケーションを動作させるように構成されている。例えば、ユーザーインタフェースを表示するためのサービスアプリケーションを動作させる命令を、コンピューティング装置500のメモリ資源520に保存することができる。
【0069】
ユーザーは、コンピューティング装置500のサービスアプリケーションを動作させて、(例えば、GPSコンポーネント560を用いて)選択した場所の位置データ点565を決定することができる。位置データ点565は、通信サブシステム540を介し、システムに無線送信することができる。システムは、逆ジオコーディング処理を実行して、位置データ点565に対応する住所又は位置情報を決定し、コンピューティング装置500に対し、決定した住所又は位置情報を送信することができる。住所情報545が、プロセッサ510によって処理され、その住所をユーザーインタフェース515の一部として、表示装置530に供給することができる。
【0070】
例えば、プロセッサ510は、メモリ資源520に保存されている命令及び/又はアプリケーションを実行することにより、表示装置530に対し、様々なコンテンツを供給することができる。プロセッサ510によって、受信した住所情報545を含むことができる、サービスアプリケーションのユーザーインタフェース等の1つ以上のユーザーインタフェース515を提供することができる。
図5は携帯コンピューティング装置を示しているが、1つ以上の実施の形態は、ラップトップ、デスクトップ(例えば、PC)等のフル機能のコンピュータを含む、別の種類の装置に実装することができる。
【0071】
本明細書に記載の実施例は、本出願の何れかの場所で説明した要素の組合せを含むことを意図するのみならず、他の概念、アイデア、又はシステムとは独立して、本明細書に記載の個々の要素及び概念に拡張されることを意図したものである。本明細書において、図面を参照しながら、実施例について詳細に説明したが、概念はこれ等の詳細な実施例に限定されものではないと理解されたい。従って、本概念の範囲は、以下の特許請求の範囲及びその均等物によって規定されることを意図したものである。更に、個別又は実施例の一部として説明した特定の機能は、個別に説明した別の機能又は実施例において、その特定の機能が言及されていない場合であっても、その別の機能又は実施例の一部と組み合わせることができることを意図したものである。従って、組合せについて記述されていなことによって、かかる組合せが有する権利が排除されるべきではない。