コンピュータによって実現される、ルーティング情報を提供する方法であって、ルーティング情報を要求するリクエストであって少なくとも1つの不確かな場所を含む少なくとも2つの場所を指定するリクエストを、コンピュータによって、受け取るステップと、前記リクエストされた場所にマッチしている可能性がある複数の場所を、コンピュータによって、見つけ出すステップと、前記マッチしている可能性がある場所に基づいて前記リクエストされた少なくとも2つの場所の可能性がある場所のペアを、コンピュータによって、複数ペア発生するステップであって、各ペアは前記不確かな場所にマッチしている可能性がある少なくとも1つの場所を含む前記ステップと、前記複数ペアの各ペアにおける前記場所の間の距離を、コンピュータによって、算出するステップと、算出された前記距離に基づいて前記複数ペアを、コンピュータによって、順位付けするステップと、前記マッチしている可能性がある場所のうち最上位に順位付けされた場所についてのルーティング情報を、コンピュータによって、提供するステップと、を具備する方法。ルーティング情報を提供するシステムであって、コンピュータ読み取り可能な記憶媒体を具備し、この記憶媒体は、ルーティング情報を要求するリクエストであって少なくとも1つの不確かな場所を含む少なくとも2つの場所を指定するリクエストを受け取るリクエスト受け取りモジュールと、前記リクエストされた場所にマッチしている可能性がある複数の場所を見つけ出す場所検索モジュールと、前記マッチしている可能性がある場所に基づいて前記リクエストされた少なくとも2つの場所の可能性がある場所のペアを複数ペア発生するモジュールであって、各ペアは前記不確かな場所にマッチしている可能性がある少なくとも1つの場所を含む前記モジュールと、前記複数ペアの各ペアにおける前記場所の間の距離を算出するモジュールと、算出された前記距離に基づいて前記複数ペアを順位付けするモジュールと、前記マッチしている可能性がある場所のうち最上位に順位付けされた場所についてのルーティング情報を提供する報告モジュールと、を含む実行可能なコンピュータプログラムモジュールを記憶した記憶媒体であり、かつ、前記コンピュータプログラムモジュールを実行するプロセッサ、を具備することを特徴とするシステム。コンピュータによって実現される、ルーティング情報を提供する方法であって、ルーティング情報を要求するリクエストであって少なくとも1つの不確かな場所を指定するリクエストを、コンピュータによって、受け取るステップと、前記不確かな場所にマッチしている可能性がある複数の場所を、コンピュータによって、見つけ出すステップと、前記不確かな場所にマッチしている可能性がある場所の各々と或る別の場所との間の距離を、コンピュータによって、算出するステップと、前記不確かな場所にマッチしている可能性がある場所と前記別の場所との間の距離に基づいて前記マッチしている可能性がある場所を、コンピュータによって、順位付けするステップと、前記順位付けに基づいて前記マッチしている可能性がある場所を、コンピュータによって、自動的に選択するステップと、前記別の場所と前記選択された場所との間のルーティング情報を、コンピュータによって、自動的に提供するステップと、前記自動的に提供されたものとは異なる前記マッチしている可能性がある場所と前記別の場所との間のルーティング情報を受け取ることをエンドユーザが選択できるようにするユーザインターフェースを、コンピュータによって、提供するステップと、を具備する方法。前記別の場所とは、明白な場所を指定するリクエストによって特定されることを特徴とする請求項3に記載の方法。ルーティング情報を提供するシステムであって、コンピュータ読み取り可能な記憶媒体を具備し、この記憶媒体は、ルーティング情報を要求するリクエストであって少なくとも1つの不確かな場所を指定するリクエストを受け取るリクエスト受け取りモジュールと、前記不確かな場所にマッチしている可能性がある複数の場所を見つけ出す場所検索モジュールと、前記不確かな場所にマッチしている可能性がある場所の各々と或る別の場所との間の距離を算出するモジュールと、前記不確かな場所にマッチしている可能性がある場所と前記別の場所との間の距離に基づいて前記マッチしている可能性がある場所を順位付けするモジュールと、前記順位付けに基づいて前記マッチしている可能性がある場所を自動的に選択するモジュールと、前記別の場所と前記選択された場所との間のルーティング情報を自動的に提供するモジュールと、前記自動的に提供されたものとは異なる前記マッチしている可能性がある場所と前記別の場所との間のルーティング情報を受け取ることをエンドユーザが選択できるようにするユーザインターフェースを提供するモジュールと、を含む実行可能なコンピュータプログラムモジュールを記憶した記憶媒体であり、かつ、前記コンピュータプログラムモジュールを実行するプロセッサ、を具備することを特徴とするシステム。図1は、本発明の一実施の形態に従うコンピューティング環境100を示す高レベルブロック図である。図1は、ネットワーク114によって接続された3つのクライアント110とルーティングサーバ112とを示している。図1およびその他の図においては、同様な参照数字を使用して同様な要素を示している。110Aのような参照数字の後の文字は、該特定の参照数字を有する要素に言及していることを示す。110のような後続する文字のない参照数字は、図における該参照数字を有する要素のいずれかまたはすべてに言及している。図1はクライアント110を3つだけ示しているが、本発明の実施の形態は、前記サーバ112とインタラクトする何千または何百万ものクライアントを有するものであってもよい。しかし、本発明を簡略化し明確化するためにクライアント110を3つだけ示している。同様な理由で、ネットワーク114に接続されてよいその他のサーバは図1に示されていない。前記クライアント110は、ルーティングリクエストを与え、その返答としてのルーティング情報を得るため、ネットワーク114を介してサーバ112とインタラクトするためにエンドユーザによって使用される装置を示す。一実施の形態において、前記クライアント110は、標準的なネットワーク関連機能を有するコンピュータである。ある実施の形態において、前記クライアント110は、ノート型コンピュータ、モバイル電話、パーソナルディジタルアシスタント、携帯eメール装置、携帯ゲーム装置、自動ナビゲーションシステム、または同等機能を有するその他の種類の装置である。前記クライアント110は、コンピュータおよびまたはモバイル通信プロトコルを使用する有線およびまたは無線のネットワークを含む標準的なネットワーク関連技術を使用して、サーバ112と通信する。前記クライアント110は、前記サーバ112に対してルーティングリクエストを出すための機能と、受け取ったルーティング情報をエンドユーザに与えるための機能とを有する。実施の形態によっては、前記クライアント110は、リクエストを入力するためのキーボードと、ルーティング情報を見るための表示器とを有する。多くのモバイル電話およびその他のモバイル装置は、使用するのが難しい小さなキーボードを有する。他の実施の形態においては、前記クライアント110は、タッチスクリーンに基づく入力装置およびまたはオーディオ出力装置のような、これらのタスクを実行するための付加的およびまたはこれらと異なる機能を含む。一実施の形態において、前記クライアント110は、標準的なインターネット通信技術を使用して前記サーバ112とメッセージを交換することを可能にするウェブブラウジング機能を含む。例えば、前記クライアント110は、MICROSOFTINTERNETEXPLORER等のウェブブラウザ、OPERAMOBILEおよびOPERAMINI等のモバイル用に最適化されたブラウザ、およびまたは、エンドユーザがウェブサーバおよびまたは他のネットワーク114上のコンピュータシステムからコンテンツを取り出して、表示することを可能にするブラウザを実行することができる。前記ルーティングサーバ112は、クライアント110からルーティングリクエストを受け取り、ルーティング情報を返す。一実施の形態において、前記ルーティングサーバ112は、クライアント110にウェブページを提供し、クライアントから与えられたデータを受け取るために使用されるウェブサーバとして機能するコンピュータを含む。前記ルーティングサーバ112は、ルーティングリクエストを受け取り、ルーティング情報を発生するためのルーティング情報モジュール300を含む。しばしば、前記クライアント110から受け取られるルーティングリクエストは始点場所および終点場所を含み、前記ルーティングサーバ112は、前記始点場所から終点場所にまで行く方法を説明するルーティング情報を発生する。前記ルーティング情報は、例えば、運転方向および地図、列車の運行スケジュールおよび方向、飛行機の飛行スケジュール等を含むことができる。ここでの説明ではしばしば2つの場所を有するルーティングリクエストに言及しているが、前記ルーティングサーバ112は、どのような数の場所を有するリクエストにも対応可能である。例えば、前記ルーティングサーバ112は、1つの場所を通過するバス、列車およびまたは飛行機の飛行スケジュールを記述する該1つの場所に関するルーティング情報を提供することができる。一実施の形態において、前記ルーティングサーバ112は、一致する可能性がある場所のペアの間の距離を算出し、最も近い場所のペアに関するルーティング情報を返すことによって、曖昧な場所に対応する。このようにして、セーレムとシカゴとの間の運転方向に関するリクエストを受け取る前記ルーティングサーバ112の一実施の形態は、インディアナ州のセーレムとイリノイ州のシカゴの間の運転方向を自動的に提供する。というのは、これらの場所が同じ名前を有する他のすべてのペアの市より近距離であるからである。さらに、前記ルーティングサーバ112は、該ルーティングサーバ112によって選択されたペアが前記エンドユーザが意図するものではない場合、該エンドユーザが異なる場所のペアを指定するのを可能にするユーザインターフェースを提供する。前記ネットワーク114は、前記クライアントと前記ルーティングサーバ112のとの間の通信経路を示すものである。一実施の形態において、前記ネットワーク114はインターネットである。該ネットワーク114は、必ずしもインターネットの一部ではない専用または私用の通信リンクを使用することもできる。一実施の形態において、前記ネットワーク114は、標準的な通信技術およびまたはプロトコルを使用する。従って、前記ネットワーク114は、Ethernet80211、総合デジタル通信網、ディジタル加入者線、非同期転送モード等の技術を使用するリンク、ならびに、モバイル電話通信技術を使用するリンクを含むことができる。同様に、前記ネットワーク114上で使用されるネットワークプロトコルは、マルチプロトコルラベルスイッチング、transmissioncontrolprotocolInternetprotocol、hypertexttransportprotocol、simplemailtransferprotocol、filetransferprotocol、shortmessageserviceプロトコル等を含むことができる。前記ネットワーク114を介して授受されるデータは、hypertextmarkuplanguage、extensiblemarkuplanguage、extensiblehypertextmarkuplanguage、compactHTML等を含む技術およびまたはフォーマットを使用して表される。さらに、リンクのすべてまたは一部は、securesocketslayer、HTTPoverSSLおよびまたは仮想プライベートネットワーク等の従来の暗号化技術を使用して暗号化可能である。他の実施の形態において、前記クライアント110およびルーティングサーバ112は、上記のものの代わりにまたはその追加として、カスタムメイドおよびまたは専用のデータ通信技術を使用する。IIシステムアーキテクチャ図2は、本発明の一実施の形態に従う図1の環境100に示されたもののようなクライアント110またはサーバ112に使用される典型的なコンピュータ200の機能を示す高レベルブロック図である。図2には、バス204に接続された少なくとも1つのプロセッサ202が示されている。また、バス204には、メモリ206と、記憶装置208と、キーボード210と、グラフィックスアダプタ212と、ポインティングデバイス214と、ネットワークアダプタ216とがさらに接続されている。表示器218は、前記グラフィックスアダプタ212に接続されている。前記プロセッサ202は、INTELx86系CPUのような任意の汎用プロセッサであってよい。前記記憶装置208は、一実施の形態において、ハードディスクであるが、書き込み可能なコンパクトディスクもしくはDVD、またはソリッドステートメモリデバイスのような、データを記憶することが可能な任意の装置であってよい。前記メモリ206は、例えば、ファームウエアの読み取り専用メモリ、非揮発性ランダムアクセスメモリおよびまたはRAMであってよく、プロセッサ202によって使用される命令およびデータを保持する。前記ポインティングデバイス214は、マウス、トラックボールまたはその他の種類のポインティングデバイスであってよく、データをコンピュータシステム200に入力するために、前記キーボード210と共に使用される。前記グラフィックスアダプタ212は、表示器218に画像およびその他の情報を表示する。当該技術分野において公知のように、前記コンピュータ200は、コンピュータプログラムモジュールを実行するよう構成されている。ここで、モジュールという用語は、指定された機能を実現するためのコンピュータプログラム論理およびまたはデータを意味する。モジュールは、ハードウエア、ファームウエアおよびまたはソフトウエアの形態で実現され得る。一実施の形態において、前記モジュールは、前記記憶装置208に記憶され、前記メモリ206にロードされ、前記プロセッサ202によって実行される。図1の構成要素によって使用されるコンピュータ200の種類は、実施の形態および前記構成要素によって使用される処理能力に応じて可変である。例えば、前記クライアント110は、典型的には、前記ルーティングサーバ112より低い処理能力を必要とする。従って、前記クライアント110は、標準的なパーソナルコンピュータまたは携帯電子デバイスであってよい。対照的に、前記ルーティングサーバ112は、高能力のコンピュータおよびまたはここに説明する機能を実現するために共働するより多数のコンピュータからなっていてよい。同様に、前記コンピュータ200は、上記の構成要素のうちのいくつかを欠いていてよい。例えば、クライアント110として機能するモバイル電話はポインティングデバイスを欠いていてよく、前記ルーティングサーバ112として機能するコンピュータはキーボードおよび表示器を欠いていてよい。図3は、本発明の一実施の形態に従うルーティング情報モジュール300内のモジュールを示す高レベルブロック図である。他の実施の形態は、図3に示したものとは異なるおよびまたはこれらの追加としてのモジュールを有する。さらに、他の実施の形態では、異なる態様で、前記モジュール間で機能が分散される。リクエスト受領モジュール310は、前記クライアント110およびまたはその他のソースからルーティング情報を受け取る。一実施の形態において、ルーティングリクエストは、その間でのルーティング情報が要求される2つ以上の場所を指定する。さらに、前記ルーティングリクエストは、要求されるルーティング情報の種類、ルーティング情報が要求される日時、当該ルートに高速道路、急行列車または飛行機を使用するのか等を記述するパラメータ等のデータを含んでいてよい。リクエスト解析モジュール312は、ルーティングリクエストを解析し、指定された場所を抽出する。場所は、典型的には、名前およびまたは住所によって指定されるが、地理的座標のような他の手段よって指定されてもよい。一実施の形態において、前記場所は、前記ルーティングリクエストによって明確に特定される。例えば、前記ルーティングサーバ112がクライアント110に提供するウェブページは、始点場所および目的場所の情報を名前、ストリート名、市、州行政区県、および郵便コードに分離する。他の実施の形態において、前記場所のうちの一部またはすべてが暗黙的に特定される。例えば、前記ルーティングリクエストは、東京と鎌倉との間の運転方向のような自由形式文字列に含ませてよい。前記自由形式のリクエストを受け取ると、リクエスト解析モジュール312は、通常の表現およびまたはその他の技術を使用して前記リクエストを解析し、そこで言及された場所に関する情報を抽出する。解析される場所は、不明確およびまたは不完全な情報を使用して指定されることがある。エンドユーザが前記リクエストに前記情報を含めなかったため、およびまたは、解析上の困難のために、もちろんこのような情報欠如は発生し得る。例えば、前記ルーティングリクエストは、ストリートの住所および市の名前を使用して場所を指定できるが、前記市が存在する州または県の名前が含まれていない。同様に、前記リクエストは、駅の名前を使用して場所を指定できるが、該駅が存在する市の名前が含まれていない。場所検索モジュール314は、場所データベース316において、前記ルーティングリクエストから抽出された場所を検索する。一実施の形態において、前記場所データベース316は、複数のルーティングリクエストによって指定される可能性がある複数の場所を記述した情報を含むものである。さらに、前記場所データベース316は、1つまたは複数の国のストリートマップを記述したデータを含んでいてよい。例えば、前記場所データベース316は、列車、飛行機、バス、フェリーおよびその他の交通路線を記述したデータを含んでいてよい。さらに、前記場所データベース316の一実施例は、リアルタイムのまたは過去のストリート交通情報、交通スケジュール、料金表等の関連情報を含む。一実施の形態において、分離した複数のデータベースの1つまたは複数が前記ルーティングサーバ112の外部に設けられていてもよい。一実施の形態において、前記場所データベース316は、該データベースにおける複数の場所の順位付けおよびまたは比較を可能にするデータを有するメトリクスモジュール318を含む。一実施の形態において、測定尺度は距離であり、前記測定モジュール318は、前記データベースにおける複数の場所の地理的位置を記述するデータを有する。さらに、前記メトリクスモジュール318は、2つ以上の指定された場所間の距離を算出する。一実施の形態において、前記測定モジュール318は、前記データベースにおける複数の場所を緯度経度座標に変換し、該緯度経度座標間の距離を算出する。他の実施の形態において、測定尺度は人口およびまたは表面積であり、前記測定モジュール318は、前記データベースにおいて特定された様々な場所の人口および表面積およびまたは地域を記述するデータを有する。さらに他の実施の形態において、測定尺度は人気であり、前記測定モジュール318は、前記データベースにおける様々な場所の人気を記述するデータを有する。該人気は、これらの場所がルーティングリクエストに現われる頻度、エンドユーザによる順位付け、該場所を通過する交通量およびまたはその他の基準に基づく。前記場所検索モジュール314は、前記リクエストから解析された場所間のルーティング情報を得るために前記場所データベース316にアクセスする。前記リクエストによっては、指定された場所は、曖昧、明白または不明であるかもしれない。曖昧な場所とは、前記場所検索モジュール314が前記場所データベース316において2つ以上のマッチを見つけるような場所である。例えば、前記ルーティングリクエストが当該場所をシカゴと特定した場合、その場所は、前記リクエストがイリノイ州のシカゴに言及しているのかウイスコンシン州のシカゴに言及しているのか不明確なので曖昧である。他の例において、前記リクエストが当該場所をえびす駅と特定した場合、該場所が東京の恵比寿駅に言及しているのか兵庫県の恵比寿駅に言及しているのか不明であるので曖昧である。第3の例においては、前記ルーティングリクエストがタイプミスを含む場合、その場所は曖昧と言える。前記場所検索モジュール314は、該当場所について1組のマッチ候補を見つけるであろうが、タイプミスのために1つのマッチも見つけられないかもしれない。。一方、明白な場所とは、前記場所検索モジュール314が前記場所データベース316において1つのマッチを見つけるような場所である。また、不明の場所とは、前記場所検索モジュール314が前記場所データベース316においてマッチする場所を1つも見つけられないような場所である。一実施の形態において、前記場所検索モジュール314は、前記ルーティングリクエストを拒絶し、エンドユーザにさらなる情報を与えるよう要求することによって、不明な場所に対処する。曖昧場所順位付けモジュール320は、前記測定モジュール318によって提供された測定尺度に基づいて、ルーティングリクエストにおける曖昧な場所を順位付けする。ルーティングリクエストが2つの場所を指定するものである実施の形態において、前記曖昧場所順位付けモジュール320は、前記リクエストにおけるマッチしている可能性がある場所のペアを算出し、測定モジュール318からの測定尺度を使用して前記算出したマッチ候補場所のペアを順位付けする。例えば、ルーティングリクエストが、始点場所をインディアナ州のセーレムと明白に指定し、終点位置をシカゴと曖昧に指定した場合を想定する。前記曖昧場所順位付けモジュール320は、以下のようにマッチ候補場所のペアを算出する。始点場所終点位置インディアナ州セーレムイリノイ州シカゴインディアナ州セーレムウイスコンシン州シカゴ上記のペアを仮定した場合、前記曖昧場所順位付けモジュール320は、測定モジュール318からの1つまたは複数の測定尺度を使用して前記ペアを順位付けする。例えば、前記測定尺度が距離であり、場所間の距離が以下のようであると仮定する。始点場所終点位置距離インディアナ州セーレムイリノイ州シカゴ329マイルインディアナ州セーレムウイスコンシン州シカゴ3475マイル距離に基づき、前記曖昧場所順位付けモジュール320は、インディアナ州セーレムイリノイ州シカゴのペアを1位と、インディアナ州セーレムウイスコンシン州シカゴのペアを2位と順位付けする。イリノイ州シカゴはウイスコンシン州シカゴよりはるかに大きな市であるので、人口および人気等のその他の測定尺度に基づく順位付けも、上記と同じ結果を出す可能性が高い。報告モジュール322は、要求されたルーティング情報を報告する。前記ルーティングリクエストは曖昧な場所を全く含んでいないので、前記報告モジュール322の一実施例は、要求されたルーティング情報のみを与える。例えば、前記ルーティング情報は、運転方向、列車方向および運行スケジュール、等からなっていてよい。前記ルーティングリクエストが少なくとも1つの曖昧な場所を含む場合、前記報告モジュール322の一実施例は、最上位に位置付けされた場所ペアに関するルーティング情報を与え、所望の場合にはエンドユーザが異なる場所ペアを選択できるようにするUIを提供する。このようにして、上記のセーレムシカゴの例においては、前記報告モジュール322は、インディアナ州セーレムからイリノイ州シカゴへのルーティング情報を与え、所望の場合には、エンドユーザがインディアナ州セーレムからウイスコンシン州シカゴへのルーティング情報を選択できるようにするUIを提供する。図4は、一実施の形態に従うルーティング情報モジュール300およびまたはルーティングサーバ112によって実行されるステップを示すフローチャート図である。その他の実施の形態は、図4に示したステップ以外の追加的なステップおよびまたは図4に示したステップとは異なるステップを実行する。さらに、その他の実施の形態は、前記ステップを図示したもの以外の順序で実行する。一実施の形態において、前記ルーティング情報モジュール300は、同時に何千または何百ものルーティングステップに対応し、従って同時に多数のステップを実行する。まず、ステップ410において、前記ルーティング情報モジュール300は、クライアント110またはその他のソースからルーティングリクエストを受け取る。例えば、前記ルーティングサーバ112またはその他のサーバは、前記クライアント110に対して、エンドユーザがルーティングリクエストを作成して前記ルーティングサーバに送ることを可能にするウェブページを提供する。ステップ412において、前記ルーティング情報モジュール300は、前記リクエストを解析して該リクエスト内で指定された場所を抽出する。ステップ414において、前記ルーティング情報モジュール300は、場所データベース316において前記解析した場所を検索し、マッチ候補場所を見つける。ただ1つのマッチを有する場所は、明白に指定された場所である。2つ以上のマッチを有する場所は、曖昧に指定された場所である。マッチの無い場所は認識不能の場所であるので、前記ルーティング情報モジュール300は、リクエストした人が更なる情報を与えるまで前記ルーティングリクエストの処理を停止する。ステップ416において少なくとも1つの曖昧な場所がある場合、前記ルーティング情報モジュール300は、マッチ候補場所のペアを発生する。ステップ418において、前記ルーティング情報モジュール300は、各ペアについての測定尺度を算出する。一実施の形態において、前記測定尺度は、該ペアの場所間の距離である。他の実施の形態において、前記測定尺度は、人口または人気等の1またきは複数の他のファクタに基づく。ステップ420において、前記ルーティング情報モジュール300は、前記算出された測定尺度に基づくマッチ候補場所ペアを順位付けする。例えば、前記測定尺度が距離である場合、前記ルーティング情報モジュール300は、各ペアにおける場所間の距離に基づく順序で複数の前記ペアを順位付けする。そして、ステップ422において、前記ルーティング情報モジュール300はその結果を報告する。最上位に順位付けされたペアは、当該エンドユーザが意図したルーティングリクエストとして扱われ、前記ルーティング情報モジュール300は、このペアについてのルーティング情報を報告の一部として提供する。加えて、前記ルーティング情報モジュール300は、他のマッチ候補場所ペアをリストし、所望の場合前記エンドユーザが他の場所ペアを選択することを可能にするユーザインターフェースを与える。前記ルーティング情報モジュール300は、前記リクエストにおいて指定された場所が曖昧な場合であっても、前記エンドユーザが意図するものであると思われる場所についてのルーティング情報を提供する。前記ルーティング情報モジュール300が正しくない場所についてのルーティング情報を提供した場合、前記エンドユーザによって容易に選択可能なよう、正しい場所を含む場所のペアがユーザインターフェースにリストされることが多い。この技術は、前記エンドユーザのルーティングサーバ112とのインタラクションを最少化し、ルーティング情報をリクエストするためにモバイル電話の小型キーボードのような面倒な入力装置を使用する手数を減少させる。以上本発明の好ましい実施の形態の作用について説明したが、上記説明は本発明の範囲を制限することを意図するものではない。本発明の範囲は、次の請求の範囲によってのみ限定されるものである。上記説明から、本発明の精神および範囲に包含される多くの変更例が当業者に明白であろう。