ネットワークを介して位置を特定するためのシステム及び方法
ネットワークを介して位置を特定するためのシステム及び方法を開示する。いくつかの実施形態では、方法が、デジタル装置によって1又はそれ以上の無線ネットワークを求めて領域を走査するステップと、この1又はそれ以上の無線ネットワークに関連する1又はそれ以上のBSSIDを受け取るステップと、この1又はそれ以上のBSSIDを含む位置要求を、DNSプロトコルフォーマットのメッセージで生成するステップと、位置要求を提供するステップと、この位置要求に基づく位置応答を受け取るステップと、この位置応答から少なくとも1つの位置識別子を取り出すステップとを含む。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、一般に通信ネットワークへのアクセスに関する。より詳細には、本発明は、ネットワークを介して位置を特定することに関する。
【背景技術】
【0002】
ネットワークを使用して情報にアクセスすることが増えることにより、様々な活動に関してネットワーク通信への依存度が高まってきた。この依存度とともに、ネットワークアクセスが至る所で可能になるという期待が高まっている。無線技術の向上により、モバイルユーザのネットワークアクセスは特に強化されてきた。様々なセルラ(GSM、CDMAなど)、Wi−Fi(すなわちIEEE 802.11)、WiMax(すなわちIEEE 802.16)及びその他の技術により、潜在的ネットワークユーザに対して広範囲にわたるアクセスオプションが可能になってきた。多くの無線アクセスポイントすなわち「ホットスポット」は、局所的な地理的領域でしかアクセスすることができず、特定の会社又はその他の住所と同じぐらい狭いこともある。また、戦略的に配置されたホットスポットは、全ての人々に公的又は私的ネットワークアクセスを提供することができる。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】米国特許出願第11/899,697号明細書
【特許文献2】米国特許出願第11/899,638号明細書
【発明の概要】
【発明が解決しようとする課題】
【0004】
ホットスポットの所有者又は管理者は、ユーザアクセスを可能にするために、多くの場合パスワードなどを要求する。この結果、複数のホットポットのユーザは、数多くのパスワードを記憶し、覚え、又は別様に管理する必要が生じ得る。多くのユーザは、ホットスポットへのアクセスに使用するラップトップコンピュータ上に自身のパスワードを記憶することができる。しかしながら、ホットスポットにアクセスできる装置は、全てがラップトップコンピュータであるとは限らず、現在では携帯電話、携帯情報端末(PDA)、及びその他の多くの装置が無線アクセス可能である。残念ながら、ユーザは、装置上に容易にパスワードを入力したり、或いは装置内にパスワードを記憶させることができないことが多い。例えば、無線アクセス可能な装置には、キーボードを有していないものもある。たとえ装置がキーボードを含んでいても、このキーボードは小さいことが多く、特に指先が器用でないユーザにとっては機能が限られることがある。
【0005】
ユーザがラップトップコンピュータ上にパスワードを記憶する場合、ユーザはまず、ラップトップコンピュータにアクセスしてコンピュータに正しいパスワードを記憶させなければならない。パスワードが変わると、ユーザは、コンピュータ内のパスワードを更新する必要がある。また、装置内にユーザ名及びパスワードを記憶させると、装置が紛失又は盗難にあった場合にセキュリティ上の問題を生じる。
【0006】
さらに、通常、ユーザは、パスワード、ユーザ名を入力し、ウェブサイトを渡り歩いてネットワークアクセスを得る必要がある。この過程には時間がかかり、またユーザが誤った情報を入力して、データを再入力せざるを得なくなる場合もある。
【0007】
ユーザは、パスワードを手動入力する場合、難しいパスワードを覚えようとはしない。この結果、単純なパスワードでのアクセスは、ハッキングを受けやすく、ユーザのネットワークアクセス、ホットスポット及び/又はユーザの個人情報を危険にさらすことがある。さらに、ユーザの単純なパスワードがハッキングされたり、又は単純に推測される場合、ユーザのネットワークアクセスが盗まれることがある。
【0008】
これまで、無線ネットワークに接続することは、無線装置のユーザにとって他の理由で複雑な処理であった。通常、ユーザは、2又はそれ以上のWi−Fiネットワークが存在する領域に入り、自身のラップトップ上でWi−Fi機能を選択し、利用可能なWi−Fiネットワークを一覧にした一連の「走査結果」を見る。1つの例では、利用可能なWi−Fiネットワークのリストが、Wi−FiネットワークSSID識別子のリストを含む。多くの場合、ユーザは、暗号化又は(ログインページなどの)その他のセキュリティメカニズムが存在しないWi−Fiネットワークを識別しなければならない。機能的な無線ネットワークもいくつか存在する一方で、ネットワークが使用できなくなるように誤設定された無線ネットワークも存在することが、ユーザの不満を増大させる。
【0009】
通常、ユーザは、どのWi−Fiネットワークに接続すべきかを一覧に基づいて任意に判断する。通常、ユーザは、どのWi−Fiネットワークに接続すべきかを判断する際に、選択したWi−Fiネットワークが十分なサービス品質を提供するかどうか、或いはネットワークが動的ホスト構成プロトコル(DHCP)を介してIPアドレスを提供できるかどうかが分からない。
【0010】
多くのアプリケーションでは位置情報を利用することが増えているが、全ての装置が全地球測位システム(GPS)又は同様のハードウェアを含んでいるわけではない。さらに、装置がGPSを有していても、位置を特定するのに十分な数の衛星を利用又は視認できないことがある。例えば、ユーザが屋内にいたり、1又はそれ以上の衛星にアクセスできなかったり、又は装置からのGPS信号が遮られたりすることがある。さらに、装置が小型化して安価になるにつれ、GPSハードウェアの能力、柔軟性及び通信機能が限られて、GPS座標の検索を阻むこともある。
【課題を解決するための手段】
【0011】
ネットワークアクセスのためのネットワーク信用証明書を提供する例示的な方法及びシステムについて説明する。この例示的な方法は、ネットワーク装置を介してデジタル装置から信用証明書要求を受け取るステップと、この信用証明書要求の中の少なくとも一部の情報に基づいてネットワーク記録を識別するステップと、このネットワーク記録に基づいて、複数のネットワーク信用証明書から1つのネットワーク信用証明書を取り出すステップと、複数のネットワーク信用証明書から取り出したネットワーク信用証明書を含む信用証明書要求応答をデジタル装置へ送信するステップとを含む。
【0012】
この方法は、信用証明書要求を解読し、信用証明書要求を認証し、信用証明書要求応答を暗号化するステップをさらに含むことができる。さらに、この方法は、デジタル装置に基づいて暗号鍵を取り出すステップを含むこともできる。信用証明書要求は、ネットワーク装置の標準プロトコルを介して受け取ることができる。この標準プロトコルはDNSとすることができる。
【0013】
信用証明書要求は、位置識別子を含むことができる。方法は、デジタル装置から確認済みアクセス応答を受け取るステップをさらに含むことができる。
【0014】
ネットワーク信用証明書を提供するための例示的なシステムは、信用証明書要求モジュール及び信用証明書要求応答モジュールを含むことができる。信用証明書要求モジュールは、デジタル装置からネットワーク装置を介して信用証明書要求を受け取るように構成することができる。信用証明書要求応答モジュールは、この信用証明書要求の中の少なくとも一部の情報に基づいてネットワーク記録を識別し、このネットワーク記録に基づいて複数のネットワーク信用証明書から1つのネットワーク信用証明書を取り出し、このネットワークを含む信用証明書要求応答をデジタル装置へ送信するように構成することができる。
【0015】
例示的なコンピュータ可読媒体は、プログラムを含むことができる。このプログラムは、ネットワーク信用証明書を提供する方法を実施するためのプロセッサによって実行することができる。この方法は、ネットワーク装置を介してデジタル装置から信用証明書要求を受け取るステップと、この信用証明書要求の中の少なくとも一部の情報に基づいてネットワーク記録を識別するステップと、このネットワーク記録に基づいて複数のネットワーク信用証明書から1つのネットワーク信用証明書を取り出すステップと、複数のネットワーク信用証明書から取り出したネットワーク信用証明書を含む信用証明書要求応答をデジタル装置へ送信するステップとを含むことができる。
【0016】
無線ネットワークを選択するためのシステム及び方法を開示する。いくつかの実施形態では、方法が、第1のネットワーク装置のための第1のネットワーク装置識別子及び第2のネットワーク装置のための第2のネットワーク装置識別子を受け取るステップと、第1の属性を含む、第1のネットワーク装置識別子に基づく第1のネットワークプロファイルを取得するステップと、第2の属性を含む、第2のネットワーク装置識別子に基づく第2のネットワークプロファイルを取得するステップと、第1の属性及び第2の属性の属性分析に基づいて第1のネットワーク装置識別子又は第2のネットワーク装置識別子を選択するステップとを含む。
【0017】
様々な実施形態では、第1のネットワーク装置識別子及び第2のネットワーク装置識別子が、デジタル装置からサーバによって受け取られる。この方法は、選択に基づいて無線ネットワーク選択を行うステップをさらに含むことができる。この方法は、選択に基づいて信用証明書要求応答を提供するステップをさらに含むこともできる。
【0018】
いくつかの実施形態では、ネットワーク選択識別子が第1のネットワーク装置識別子を含む。ネットワーク選択識別子はまた、第1のネットワーク装置識別子及び第2のネットワーク装置識別子を含むソート済みリストを含むこともでき、このリストは第1の属性及び第2の属性の属性分析に基づいてソートされる。属性は、性能測定基準、共有インジケータ、及びサービス識別子を含むことができる。
【0019】
方法は、第1の属性及び第2の属性を最低要件と比較するステップをさらに含むことができ、第1のネットワーク識別子又は第2のネットワーク装置識別子を選択するステップは、この属性と最低要件の比較にも少なくとも部分的に基づく。方法はまた、第1の属性及び第2の属性を個別設定と比較するステップをさらに含むこともでき、第1のネットワーク識別子又は第2のネットワーク装置識別子を選択するステップは、この属性と個別設定の比較にも少なくとも部分的に基づく。方法はまた、ユーザ識別子を受け取り、このユーザ識別子に基づいてユーザアカウントから個別設定を取り出すステップをさらに含むこともできる。
【0020】
様々な実施形態では、システムがデジタル装置及びサーバを含む。デジタル装置は、通信ネットワークに結合することができ、この通信ネットワークを介して第1のネットワーク装置のための第1のネットワーク装置識別子及び第2のネットワーク装置のための第2のネットワーク装置識別子を受け取るように構成することができる。サーバも通信ネットワークに結合するとができ、第1のネットワーク装置識別子及び第2のネットワーク装置識別子をデジタル装置から受け取って、第1の属性を含む、第1のネットワーク装置識別子に基づく第1のネットワークプロファイルを取得し、第2の属性を含む、第2のネットワーク装置識別子に基づく第2のネットワークプロファイルを取得し、第1の属性及び第2の属性の属性分析に基づいて第1のネットワーク装置識別子又は第2のネットワーク装置識別子を選択するように構成することができる。
【0021】
コンピュータ可読記憶媒体は、方法を含む命令を記憶するように構成することができ、この方法は、第1のネットワーク装置のための第1のネットワーク装置識別子及び第2のネットワーク装置のための第2のネットワーク装置識別子を受け取るステップと、第1の属性を含む、第1のネットワーク装置識別子に基づく第1のネットワークプロファイルを取得するステップと、第2の属性を含む、第2のネットワーク装置識別子に基づく第2のネットワークプロファイルを取得するステップと、第1の属性及び第2の属性の属性分析に基づいて第1のネットワーク装置識別子又は第2のネットワーク装置識別子を選択するステップとを含む。
【0022】
様々な実施形態では、方法が、デジタル装置によって1又はそれ以上の無線ネットワークを求めて領域を走査するステップと、この1又はそれ以上の無線ネットワークに関連する1又はそれ以上のBSSIDを受け取るステップと、この1又はそれ以上のBSSIDを含む位置要求を、DNSプロトコルフォーマットのメッセージで生成するステップと、位置要求を提供するステップと、この位置要求に基づく位置応答を受け取るステップと、この位置応答から少なくとも1つの位置識別子を取り出すステップとを含む。
【0023】
位置応答は、DNSプロトコルとしてフォーマットすることができる。この方法は、位置要求の中の1又はそれ以上のBSSIDを符号化するステップ、及び/又は位置応答から取り出した少なくとも1つの位置識別子を復号するステップをさらに含むことができる。位置要求は、ネットワークアクセス装置のオープンポートを使用してネットワーク上の位置サーバに提供することができる。さらに、オープンポートは、ポート53とすることができる。少なくとも1つの位置識別子は、緯度及び経度を含むことができる。
【0024】
様々な実施形態では、この方法が、この少なくとも1つの位置識別子をデジタル装置のアプリケーションに提供するステップをさらに含むことができる。さらに、この方法は、GPS座標及び1又はそれ以上のネットワーク装置識別子をサーバに提供するステップをさらに含むことができる。
【0025】
いくつかの実施形態では、例示的なシステムが、走査モジュール、DNSモジュール、及び位置モジュールを備える。走査モジュールは、1又はそれ以上の無線ネットワークを求めて領域を走査するように構成できるとともに、この1又はそれ以上の無線ネットワークに関連する1又はそれ以上のBSSIDを受け取るように構成することができる。DNSモジュールは、1又はそれ以上のBSSIDを含む位置要求を、DNSプロトコルフォーマットのメッセージで生成するように構成することができる。位置モジュールは、位置要求に基づく位置応答を受け取るとともに、この位置応答から少なくとも1つの位置識別子を取り出すように構成することができる。
【0026】
例示的なコンピュータ可読記憶媒体は、命令を記憶するように構成することができる。この命令は方法を含むことができる。この方法は、デジタル装置によって1又はそれ以上の無線ネットワークを求めて領域を走査するステップと、この1又はそれ以上の無線ネットワークに関連する1又はそれ以上のBSSIDを受け取るステップと、この1又はそれ以上のBSSIDを含む位置要求を、DNSプロトコルフォーマットのメッセージで生成するステップと、位置要求を提供するステップと、この位置要求に基づく位置応答を受け取るステップと、この位置応答から少なくとも1つの位置識別子を取り出すステップとを含む。
【図面の簡単な説明】
【0027】
【図1】本発明の実施形態を実施できる環境を示す図である。
【図2】例示的な信用証明書サーバのブロック図である。
【図3】デジタル装置にネットワークアクセスを提供する例示的な処理のフロー図である。
【図4】例示的な信用証明書要求のブロック図である。
【図5】例示的な信用証明書要求応答のブロック図である。
【図6】ネットワーク信用証明書を提供する例示的な方法のフロー図である。
【図7】ネットワーク信用証明書を提供する例示的な方法の別のフロー図である。
【図8】ネットワーク信用証明書を受け取って記憶する例示的な方法のフロー図である。
【図9】例示的な信用証明書サーバのブロック図である。
【図10】本発明の実施形態を実施できる別の環境を示す図である。
【図11】無線ネットワークの選択を提供する例示的な処理のフロー図である。
【図12】無線ネットワークを選択する例示的な処理のフロー図である。
【図13】無線ネットワークを選択し、この選択した無線ネットワークにアクセスするための略図である。
【図14】例示的なデジタル装置のブロック図である。
【図15】DNSプロトコルフォーマットのメッセージを通じ、無線ネットワークを介して位置情報を受け取る例示的な方法のフロー図である。
【図16】例示的な位置サーバのブロック図である。
【図17】DNSプロトコルフォーマットのメッセージを通じ、無線ネットワークを介して位置情報を提供する例示的な方法のフロー図である。
【図18】ネットワークを介して位置情報を収集する例示的な方法のフロー図である。
【発明を実施するための形態】
【0028】
本発明の実施形態は、ネットワーク信用証明書を提供するためのシステム及び方法を提供する。例示的な実施形態では、信用証明書サーバが、ホットスポットにおけるデジタル装置からネットワーク信用証明書の要求を受け取る。この要求は、ホットスポットから信用証明書サーバへ中継される標準プロトコルとしてフォーマットすることができる。信用証明書サーバは、要求の中に含まれる少なくとも一部の情報に基づいてネットワーク記録を識別し、このネットワーク記録に関連する送信ネットワーク信用証明書をデジタル装置へ送信することができる。デジタル装置は、ネットワーク信用証明書を受け取り、ネットワークアクセスを取得するためにこれをネットワーク装置に提供することができる。
【0029】
様々な実施形態では、ルールサーバが、様々なネットワーク属性に基づいてデジタル装置が接続できる複数の利用可能なネットワークから好ましいネットワークを識別することができる。1つの例では、デジタル装置が、利用可能なネットワークを求めて物理的領域を走査し、利用可能な無線ネットワークのリストを生成することができる。このリストをルールサーバに提供し、このルールサーバが、リスト上の個々の無線ネットワークのネットワークプロファイルを識別して取り出すことができる。次に、ルールサーバは(個々のプロファイルに含まれる属性などを通じて)個々のネットワークプロファイルを比較して、リストから好ましいネットワークを選択することができる。その後、ルールサーバは、この時点でネットワークにアクセスできるデジタル装置へ無線ネットワーク選択を送信することができる。
【0030】
いくつかの実施形態では、デジタル装置が、信用証明書サーバにより提供された信用証明書を使用して、選択した無線ネットワークにアクセスする。1つの例では、ルールサーバが好ましい無線ネットワークを選択すると、ルールサーバ(又は、ルールサーバと通信している別のサーバ)は、選択した無線ネットワークに関連するネットワーク信用証明書を含む信用証明書要求応答を同時に(又はほぼ同時に)提供することができる。
【0031】
図1は、本発明の実施形態を実施できる環境100の図を示している。例示的な実施形態では、デジタル装置102を有するユーザがホットスポットに入る。デジタル装置102は、標準プロトコルとしての信用証明書要求を、ネットワーク装置104の向こうへ自動的に送信することができる。この信用証明書要求が信用証明書サーバ116へ転送され、この信用証明書サーバ116が、信用証明書要求の中に含まれる情報に基づいてデジタル装置102へ信用証明書要求応答を送信することができる。信用証明書要求応答はネットワーク信用証明書を含み、デジタル装置102は、これをネットワーク装置104、認証サーバ108又はアクセスコントローラ112に提供して通信ネットワーク114へのアクセスを取得することができる。
【0032】
様々な実施形態では、ホットスポットが、(「ウォールド・ガーデン(walled garden)」などの)ローカルエリアネットワーク106に結合されたネットワーク装置104、認証サーバ108、DNSサーバ110及びアクセスコントローラ112を含む。ネットワーク装置104は、デジタル装置102がローカルエリアネットワーク106を介して認証サーバ108、DNSサーバ110及びアクセスコントローラ112と通信できるようにするアクセスポイントを含むことができる。デジタル装置102は、ラップトップ、携帯電話、カメラ、携帯情報端末又はその他のあらゆるコンピュータ装置を含むことができる。認証サーバ108は、デジタル装置102を通信ネットワーク114にアクセスできるようにする前に、デジタル装置102にネットワーク信用証明書を要求するサーバである。DNSサーバ110は、ローカルエリアネットワーク106を介してDNSサービスを提供するとともに、通信ネットワーク114を横切って他のDNSサーバ(図示せず)へ要求を中継することができる。アクセスコントローラ112は、ネットワーク装置104に機能上結合された装置と、通信ネットワーク114に結合された装置との間の通信を可能にすることができるルータ又はブリッジなどのアクセス装置である。
【0033】
図1のホットスポットは、ローカルエリアネットワーク106に結合された別個のサーバを示しているが、当業者であれば、ローカルエリアネットワーク106に結合された装置(サーバ、デジタル装置、アクセスコントローラ及びネットワーク装置など)はいくつ存在してもよいことを理解するであろう。いくつかの実施形態では、ローカルエリアネットワーク106が任意である。1つの例では、認証サーバ108、DNSサーバ110、及びアクセスコントローラ112が、ネットワーク装置104に直接結合される。様々な実施形態では、認証サーバ108、DNSサーバ110、及びアクセスコントローラ112を、1又はそれ以上のサーバ、或いは1又はそれ以上のデジタル装置内で組み合わせることができる。さらに、図1は無線アクセスを示しているが、デジタル装置102は、無線で又は(10baseTなどの)有線を介してネットワーク装置104に結合することができる。
【0034】
通信ネットワーク114にアクセスするために、認証サーバ108は、デジタル装置102に、ホットスポットにアクセスするための1又はそれ以上のネットワーク信用証明書を提供するように求めることができる。ネットワーク信用証明書は、例えばホットスポットに関連するアカウント用のユーザ名及びパスワードを含むことができる。代替の実施形態では、ユーザ名及びパスワード以外のネットワーク信用証明書を利用することができる。
【0035】
例示的な実施形態によれば、デジタル装置102は、ネットワーク信用証明書を信用証明書サーバ116から動的に取得することができる。デジタル装置102は、デジタル装置102(又はデジタル装置102のユーザ)のアイデンティティ及び(ネットワーク装置104又はWi−Fiサービス提供者名などの)ネットワーク装置104に関する詳細を含む信用証明書要求を信用証明書サーバ116へ送信することができる。
【0036】
1つの例では、デジタル装置102がホットスポットに入る際に、ネットワーク装置104は、DNSクエリを提出できる相手先のIPアドレスを、例えばDHCP(動的ホスト構成プロトコル)を介して提供することができる。信用証明書要求は、標準プロトコルとしてフォーマットすることができる。一例では、信用証明書要求をDNS要求としてフォーマットすることができる。信用証明書要求は、(アクセスコントローラ112などの)ネットワークインフラが要求を阻止しないように、(TXTなどの)標準記録形式を含むテキスト記録要求とすることができる。ネットワーク信用証明書を取得する処理に関するさらなる詳細が、2007年9月6日に出願された「ネットワーク信用証明書を取得するためのシステム及び方法」という名称の同時係属中米国特許出願第11/899,697号に記載されており、該特許出願は引用により本明細書に組み入れられる。
【0037】
いくつかの実施形態では、信用証明書要求がDNSサーバ110によって受け取られ、このDNSサーバ110が、ネットワーク信用証明書を求めて信用証明書要求を信用証明書サーバ116へ転送することができる。例示的な実施形態では、信用証明書サーバ116が検索を実行して(単複の)適切なネットワーク信用証明書を決定してDNSサーバ110へ返送し、このDNSサーバ110が、要求元のデジタル装置102へネットワーク信用証明書を返送することができる。様々な実施形態では、(単複の)適切なネットワーク信用証明書が、信用証明書サーバ116から信用証明書要求の送信と同じ経路を介してデジタル装置102へ送信される。
【0038】
図1には1つのDNSサーバ110しか示していないが、信用証明書要求が信用証明書サーバ116によって受け取られる前に、限定するわけではないが、DNSサーバを含むあらゆる数のサーバを介して信用証明書要求を転送することができる。他の実施形態では、信用証明書要求が、ネットワーク装置104から信用証明書サーバ116へ直接転送される。
【0039】
いくつかの実施形態では、信用証明書サーバ116からの信用証明書要求応答が、ユーザ名、パスワード及び/又はログイン手順情報を含むことができる。ログイン手順情報は、例えばHTML形式要素名、提出URL又は提出プロトコルを含むことができる。いくつかの実施形態では、信用証明書サーバ116が、ネットワーク信用証明書応答をデジタル装置102へ送信する前に、デジタル装置102に関連する暗号鍵を使用して暗号化することができる。
【0040】
デジタル装置102がネットワーク信用証明書応答を受け取ると、デジタル装置102は、ネットワーク装置104に(ネットワーク信用証明書応答から取り出した)ネットワーク信用証明書を認証応答の形で提出することができる。例示的な実施形態では、検証のために認証応答を認証サーバ108へ転送することができる。いくつかの実施形態では、認証サーバ108が、AAAサーバ又はRADIUSサーバを含むことができる。2007年9月6日に出願された「ネットワークアクセスを取得するシステム及び方法」という名称の同時係属中米国特許出願第11/899,638号に、ネットワークアクセスを取得する処理に関するさらなる詳細が記載されており、該特許出願は引用により本明細書に組み入れられる。
【0041】
なお、図1は例示的なものである。代替の実施形態は、より多くの、より少ない、又は機能的に同等の構成要素を含むことができるが、これもまた本実施形態の範囲内にある。例えば、前述したように、(DNSサーバ110、信用証明書サーバ116及び認証サーバ108などの)様々なサーバの機能を組み合わせて1つ又は2つのサーバにすることができる。すなわち、例えば認証サーバ108及びDNSサーバ110を同じサーバで構成できる場合、認証サーバ108、DNSサーバ110及びアクセスコントローラ112の機能を組み合わせて単一の装置にすることができる。
【0042】
図2は、例示的な信用証明書サーバ116のブロック図である。信用証明書サーバ116は、認証モジュール200、ネットワークモジュール202、信用証明書要求モジュール204、信用証明書要求応答モジュール206、暗号化/解読モジュール208、ネットワーク記録ストレージ210、及び暗号鍵ストレージ212を含む。モジュールは、ソフトウェア、ハードウェア、ファームウェア又は回路を個別に又は組み合わせて含むことができる。
【0043】
認証モジュール200は、信用証明書要求を認証して信用証明書要求応答にセキュリティを与えるように構成することができる。様々な実施形態では、デジタル装置102が、(共有暗号鍵又は鍵対の一部である暗号鍵などの)暗号鍵を使用して信用証明書要求を暗号化し、又は信用証明書要求にデジタル署名することができる。認証モジュール200は、暗号鍵ストレージ212から取り出した適切な暗号鍵で信用証明書要求を解読することにより、信用証明書要求を認証することができる。1つの例では、デジタル装置102が信用証明書要求のハッシュを生成し、信用証明書要求の暗号化部分の中にハッシュを記憶する。認証モジュール200は、信用証明書要求を解読し、信用証明書要求応答のハッシュを生成し、生成したハッシュを信用証明書要求の中に含まれるハッシュと比較して認証を行うことができる。
【0044】
他の実施形態では、デジタル装置102がナンス(すなわちランダム値)を生成し、デジタル署名された信用証明書要求の一部の中にナンスを記憶することができる。認証モジュール200は、デジタル署名を解読して信用証明書要求を認証し、ナンスを取り出すことができる。様々な実施形態では、信用証明書要求応答モジュール206が信用証明書要求応答を生成する(後述)際に、認証モジュール200が信用証明書要求応答にナンスを含めることができる。その後、認証モジュール200又は暗号化/解読モジュール208は、信用証明書要求応答を暗号化することができる。デジタル装置102が信用証明書要求応答を解読する場合、デジタル装置102は、信用証明書要求応答からナンスを取り出し、このナンスを、信用証明書要求に含めて送信したナンスと比較してさらなる認証を行うことができる。
【0045】
ネットワークモジュール202は、信用証明書要求を受け取り、通信ネットワーク114を介して信用証明書要求応答を送信するように構成することができる。
【0046】
信用証明書要求モジュール204は、ネットワークモジュール202から信用証明書要求を受け取ることができる。信用証明書要求は標準プロトコルとすることができる。1つの例では、信用証明書要求が(DNSなどの)UDPプロトコルである。
【0047】
例示的な実施形態では、信用証明書要求モジュール204が、信用証明書要求からDDID及びSSIDを取り出すことができる。DDIDは、デジタル装置102、デジタル装置102のユーザ、及び/又はネットワーク記録に関連するユーザを識別することができる。SSIDは、ホットスポット又はホットスポットのサービスプロバイダ(すなわち運営会社)を識別することができる。
【0048】
信用証明書要求モジュール204又は信用証明書要求応答モジュール206は、DDID及びSSIDに基づいてネットワーク記録を識別することができる。ネットワーク記録とは、DDID及びSSIDに((リレーショナルデータベースのように)直接的に又は間接的に)関連する記録のことである。1つの例では、ネットワーク記録が、SSIDに関連するホットスポットにおいてDDIDに関連するデジタル装置102にネットワークアクセスを提供するのに必要なネットワーク信用証明書を含む。ネットワーク記録は、ネットワーク記録ストレージ210内に記憶することができる。
【0049】
信用証明書要求応答モジュール206は信用証明書要求応答を生成することができる。様々な実施形態では、信用証明書要求応答モジュール206が、ネットワーク記録からDDID及びSSIDに関連するネットワーク信用証明書を受け取る。いくつかの実施形態では、ネットワーク信用証明書が、クレジットカード番号を含むことができる。1つの例では、デジタル装置102が、ネットワーク信用証明書を受け取り、クレジットカード番号を取り出して、このクレジットカード番号を認証サーバ108に提供する。いくつかの例では、その後、認証サーバ108が、クレジットカード番号に関連するクレジットカードに料金を請求し、或いはこの情報を使用して、ネットワークアクセスを認める前にユーザのアイデンティティを確認することができる。
【0050】
さらに、様々な実施形態では、ネットワーク信用証明書がログイン手順情報を含むことができる。1つの例では、信用証明書がユーザ名及びパスワードを含み、これらがデジタル装置102によって認証サーバ108から取り出された(認証フォームなどの)フォームで提供されることになる。いくつかの実施形態では、ログイン手順情報によってデジタル装置102に、フォーム内の特定のフィールドにネットワーク信用証明書を読み込んだ後で、完成したフォームを認証サーバ108に提出するように指示することができる。当業者であれば、信用証明書を認証サーバ108に提供するための方法は数多く存在することを理解するであろう。認証サーバに信用証明書を提供する処理は、2007年9月6日に出願された「ネットワークアクセスを取得するシステム及び方法」という名称の同時係属中米国特許出願第11/899,638号にさらに記載されている。
【0051】
信用証明書要求応答モジュール206又は暗号化/解読モジュール208は、DDID又は信用証明書要求に関連する暗号鍵で信用証明書要求応答を暗号化することができる。1つの例では、信用証明書サーバ116が1又はそれ以上の共有暗号鍵を記憶する。少なくとも1つのデジタル装置102により、個々の共有暗号鍵を共有することができる。信用証明書要求応答モジュール206は、デジタル装置102に関連する共有暗号鍵で信用証明書要求応答を暗号化することができる(例えば、共有暗号鍵をDDIDに関連付けることができる)。信用証明書要求応答モジュール206又は暗号化/解読モジュール208は、鍵対の一部である暗号鍵で信用証明書要求を暗号化することもできる。暗号化/解読モジュール208が信用証明書要求を暗号化する方法は、数多く存在し得る。
【0052】
暗号化/解読モジュール208は、信用証明書要求を解読して信用証明書要求応答を暗号化することができる。上述したように、暗号化/解読モジュール208は、信用証明書要求のデジタル署名を解読することができる。1つの例では、暗号化/解読モジュール208が、信用証明書要求の中に含まれるDDIDに関連する暗号鍵に基づいてデジタル署名を解読する。暗号化/解読モジュール208は、信用証明書要求応答を暗号化することもできる。1つの例では、暗号化/解読モジュール208が、(共有暗号鍵又は鍵対の一部である暗号鍵などの)DDIDに関連する暗号鍵に基づいて信用証明書要求応答を暗号化する。
【0053】
様々な実施形態では、暗号化/解読モジュール208が、ネットワーク記録ストレージ210に含まれるネットワーク記録を暗号化して、暗号鍵ストレージ212を管理することができる。暗号化/解読モジュール208はまた、ネットワーク信用証明書を記憶する際に、(SSL及びHTTPなどを介して)デジタル装置と安全な通信を確立することもできる。この処理については図7でさらに説明する。いくつかの実施形態によれば、暗号化/解読モジュール208を任意とすることができる。
【0054】
ネットワーク記録ストレージ210及び暗号鍵ストレージ212は、ネットワーク記録及び暗号鍵をそれぞれ記憶することができる。ネットワーク記録ストレージ210及び暗号鍵ストレージ212は、1又はそれ以上のデータベースを含むことができる。1つの例では、ネットワーク記録ストレージ210がネットワーク記録を記憶することができる。ネットワーク記録は、DDID、SSID及びネットワーク信用証明書を含むことができる。ネットワーク記録はまた、ユーザがネットワーク記録にアクセスし、これらを変更、更新し、又は信用証明書サーバ116に記憶するためのユーザ名及びパスワードを含むこともできる。
【0055】
様々な実施形態では、ネットワーク記録により、複数のデジタル装置102が同じネットワーク信用証明書を使用できるようにすることもできる。1つの例では、ユーザが複数のデジタル装置102を所有することができる。各々が異なるデジタル装置102に関連する複数のDDIDを、同じネットワーク記録に含めることができる。いくつかの実施形態では、複数の装置を1又はそれ以上のネットワーク記録に関連付けることができ、この1又はそれ以上のネットワーク記録がユーザに関連する。この結果、ユーザは、あらゆる数のデジタル装置102を使用して、ホットスポットに対してネットワーク信用証明書を取り出すことができる。当業者であれば、ネットワーク記録及び/又はこれに含まれる情報を記憶して体系化することができる方法(例えば、異なるデータ構造、データベース、記録、体系化方式及び/又は方法)は数多く存在することを理解するであろう。
【0056】
図3は、デジタル装置102にネットワークアクセスを提供する例示的な処理のフロー図である。ステップ300において、デジタル装置102は、最初にホットスポットに入る際に、ローカルエリアネットワーク106を求めて走査を行うことができる。走査の結果、ステップ302において、ネットワーク装置104がネットワーク構成情報を提供することができる。このネットワーク構成情報は、DNSサーバ110にアクセスするための1又はそれ以上のIPアドレスを含むことができる。
【0057】
ステップ304において、デジタル装置102が信用証明書要求を生成する。その後、ステップ306において、先程ネットワーク装置104から受け取ったIPアドレスの1つを使用して、信用証明書要求をDNSサーバ110へ送信することができる。
【0058】
ステップ308において、信用証明書要求に基づいて、DNSサーバ110が信用証明書サーバ116を識別する。他の実施形態では、DNSサーバ110が、信用証明書要求を信用証明書サーバ116へ転送する。DNSサーバ110がDNS要求をローカルに解析できない場合、信用証明書要求は(ポート53などを介して)通信ネットワーク114上の別のDNSサーバに転送され、その後、このDNSサーバが、信用証明書要求を信用証明書サーバ116へ転送することができる。ステップ310において、信用証明書要求が、信用証明書サーバ116へ直接、又は通信ネットワーク114上の1又はそれ以上のDNSサーバを介して間接的に転送される。
【0059】
ステップ312において、信用証明書サーバ116が、信用証明書要求に基づいて必要とされるネットワーク信用証明書を識別する。例えば、信用証明書要求は、デジタル装置102の識別子(すなわちDDID)、並びにホットスポットSSID(例えば、運営会社などのサービスプロバイダ)の識別子を含むことができる。信用証明書要求モジュール204又は信用証明書要求応答モジュール206により、これらの識別子を(ネットワーク記録などの)このような識別子の表と比較して、適切なネットワーク信用証明書を決定することができる。その後、ステップ314において、信用証明書要求応答モジュール206が信用証明書要求応答を生成し、ステップ316において、これがDNSサーバ110へ中継して戻される。ステップ318において、DNSサーバ110が、信用証明書要求応答をデジタル装置へ転送する。
【0060】
その後、ステップ320において、デジタル装置102が、信用証明書要求応答からネットワーク信用証明書を取り出すことができる。その後、ステップ322において、このネットワーク信用証明書をネットワーク装置104に提供することができる。ステップ324において、ネットワーク装置104が、ネットワーク信用証明書を確認した上でデジタル装置102にネットワークアクセスを提供する。
【0061】
ここで図4を参照すると、例示的な信用証明書要求400をより詳細に示している。例示的な実施形態によれば、信用証明書要求応答モジュール204が信用証明書要求応答400を生成することができる。1つの実施形態では、信用証明書要求400を、位置識別子402、シーケンス識別子404、署名406、DDID408、サービスセット識別子(SSID)410、及びバージョン識別子412を含む構造を有するDNS文字列とすることができる。
【0062】
任意の位置識別子402は、デジタル装置102、ネットワーク装置104、認証サーバ108又はアクセスコントローラ112の物理的又は地理的位置を示すことができる。様々な実施形態では、信用証明書サーバ116が位置識別子402を使用して、ホットスポットの使用状況、デジタル装置102のユーザ、及びデジタル装置102を追跡することができる。
【0063】
シーケンス識別子404は、その後の信用証明書サーバ116への要求に対応してログインが成功したかどうかを判定するために使用されるあらゆる数字又数字の組を含むことができる。すなわち、シーケンス識別子404は相関機構を提供し、この相関機構により信用証明書サーバ116がログイン処理を確認することができる。
【0064】
例示的な実施形態では、署名406が、なりすましを防ぐために利用される暗号署名(すなわちデジタル署名)を含む。デジタル装置102からの要求の署名406は、信用証明書サーバ116により検証される。署名406が有効でなければ、この要求は信用証明書サーバ116により拒絶される。
【0065】
DDID408は、デジタル装置102の識別子を含む。例えば、DDID408は、デジタル装置102のMACアドレス又はその他のいずれかの識別子を含むことができる。
【0066】
SSID410は、ネットワークアクセスポイント又はWi−Fiサービスプロバイダの識別子を含む。例えば、SSID410は、サービスプロバイダ名、又はネットワーク装置104が動作している場所の名前を含むことができる。
【0067】
バージョン識別子412は、信用証明書要求400のプロトコル又はフォーマットを識別することができる。例えば、デジタル装置102は、信用証明書要求400を生成し、データをいくつかの異なるフォーマットで体系化することができる。個々の異なるフォーマットを異なるバージョン識別子に関連付けることができる。いくつかの実施形態では、信用証明書要求応答モジュール206の構成要素を更新し、再構成し、又は徐々に変更することができ、これが信用証明書要求400の構造に影響を与え得る。この結果、信用証明書サーバ116は、別様にフォーマットされた複数の信用証明書要求400を受け取ることができる。信用証明書サーバ116は、それぞれのバージョン識別子に基づいて、個々の信用証明書要求が必要とする情報にアクセスすることができる。
【0068】
図5は、例示的な信用証明書要求応答のブロック図である。例示的な実施形態によれば、信用証明書要求応答モジュール206が、信用証明書要求応答500を生成することができる。1つの実施形態では、信用証明書要求応答500が暗号化テキスト502を含むことができる。暗号化テキストは、任意のナンス504及び信用証明書情報506を含むことができる。信用証明書情報は、鍵/値の対508〜510を含むことができる。
【0069】
上述したように、信用証明書要求応答を、暗号化テキスト502を含むDNS応答としてフォーマットすることができる。暗号化テキスト502は、(ユーザ名、パスワード及びログイン手順情報などの)ネットワーク信用証明書を含む。信用証明書要求応答500を、暗号化テキスト502を含むように示しているが、信用証明書要求応答500内のテキストを暗号化する必要はない。
【0070】
暗号化テキスト502は、ナンスを含むことができる。上述したように、このナンスは、信用証明書要求から取り出すことができる。デジタル装置102は、信用証明書要求応答500を受け取ると、信用証明書要求応答500内のナンスを、信用証明書要求に含めて送信したナンスと比較して認証を行うことができる。図5では、ナンスを信用証明書要求応答500に含まれた形で示しているが、ナンスは任意である。
【0071】
信用証明書情報506は、ユーザ名、パスワード、ログイン手順情報、又はこれらの組み合わせを含むことができる。信用証明書情報506は鍵/値の対508〜510を含むことができる。信用証明書情報506内にはあらゆる数の鍵/値の対が存在することができる。鍵/値の対は、デジタル装置102が受け取って解釈する信用証明書情報を表すことができる。信用証明書情報506を鍵/値の対として示すのは例示目的にすぎず、信用証明書情報は、必ずしも鍵/値の対に限定されないあらゆるフォーマットとすることができる。
【0072】
図6は、ネットワーク信用証明書を提供する例示的な方法のフロー図である。ステップ602において、信用証明書サーバ116が、デジタル装置102から信用証明書要求を受け取る。
【0073】
様々な実施形態では、信用証明書サーバ116が、デジタル署名を暗号鍵で解読して認証する。その後、ステップ604において、信用証明書サーバ116が、ネットワーク記録に含まれるDDID及びSSIDに基づいてネットワーク記録を識別することができる。1つの例では、信用証明書要求応答モジュール206が、信用証明書要求の中のDDIDに関連する1又はそれ以上のネットワーク記録を取り出す。その後、信用証明書要求応答モジュール206は、取り出した(単複の)ネットワーク記録内のSSIDに関連する少なくとも1つのネットワーク信用証明書を識別する。
【0074】
ステップ606において、信用証明書要求応答モジュール206が、選択したネットワーク記録から、識別した(単複の)ネットワーク信用証明書を取り出す。1つの例では、信用証明書要求応答モジュール206が、デジタル装置102のユーザがネットワークアクセスを取得するために認証サーバ108に提供しなければならないユーザ名及びパスワードを識別する。ステップ608において、信用証明書要求応答モジュール206が、(ユーザ名、パスワードなどの)ネットワーク信用証明書を含む信用証明書要求応答をデジタル装置102に対して生成する。
【0075】
いくつかの実施形態では、信用証明書要求応答モジュール206が、ネットワーク信用証明書の一部としてログイン手順情報を識別することができる。信用証明書要求応答モジュール206は、(SSIDに関連するパスワードを含む同じネットワーク記録などの)ネットワーク記録からログイン手順情報を取り出すことができる。ログイン手順情報は、ネットワークアクセスを取得するためにデジタル装置102が従うためのフォーム識別子及び(パラメータなどの)命令を含むことができる。1つの例では、デジタル装置102が、信用証明書要求応答の中のネットワーク信用証明書からフォーム識別子及び命令を取り出す。デジタル装置102は、このフォーム識別子及び命令に基づいて、認証サーバ108及び入力データから受け取ったフォームを識別することができる。別の例では、デジタル装置102が、信用証明書要求応答に含まれるログイン手順情報に基づいて、ネットワークアクセスを取得するための情報を認証サーバ108に提供する。認証サーバ108に情報を提供する処理は、2007年9月6日に出願された「ネットワークアクセスを取得するシステム及び方法」という名称の米国特許出願第11/899,638号にさらに記載されている。
【0076】
図7は、ネットワーク信用証明書を提供するための例示的な方法の別のフロー図である。デジタル装置102は、ネットワーク装置104を介して利用可能な無線ネットワークを検索し、これを発見することができる。ステップ702において、デジタル装置102は、ホットスポットに接続している間にネットワーク構成情報を受け取ることができる。ネットワーク構成情報は、ネットワーク装置104又はDNSサーバ110の識別子を含むことができる。1つの例では、デジタル装置102が、接続処理中に(DNSサーバ110などの)DNSサーバのIPアドレスを受け取る。
【0077】
ステップ704において、デジタル装置102が信用証明書要求を生成する。この信用証明書要求は、シーケンス識別子、DDID及びSSIDを含むことができる。ステップ706において、デジタル装置102が任意にナンスを生成し、暗号鍵を使用して信用証明書要求にデジタル署名する。ステップ708において、デジタル装置102が、信用証明書要求を標準プロトコルとして送信する。ネットワーク装置104は、信用証明書要求を受け取って通信ネットワーク114へ転送することができる。様々な実施形態では、ネットワーク装置104が、信用証明書要求をDNSサーバ110に提供し、このDNSサーバ110が、信用証明書要求を信用証明書サーバ116へ転送することができる。
【0078】
例示的な実施形態では、信用証明書サーバ116の信用証明書要求モジュール204が信用証明書要求を受け取る。信用証明書要求モジュール204は、信用証明書サーバ内のDDIDに関連する暗号鍵を暗号鍵ストレージ212から取り出すことができる。その後、信用証明書要求モジュール204は、信用証明書要求のデジタル署名を解読して認証を行うことができる。信用証明書要求モジュール204は、信用証明書要求からナンス及びシーケンス識別子をさらに取り出すことができる。
【0079】
その後、信用証明書サーバ116の信用証明書要求応答モジュール206は、ネットワーク記録ストレージ210からDDID及びSSIDに関連するネットワーク記録を取り出すことができる。信用証明書要求応答モジュール206は、ネットワーク記録からネットワーク信用証明書を取り出して信用証明書要求応答を生成する。信用証明書要求応答は、ネットワーク信用証明書及びナンスを含むことができる。暗号化/解読モジュール208は、暗号鍵ストレージ212から取り出したDDIDに関連する暗号鍵を使用して、信用証明書要求応答を暗号化することができる。いくつかの実施形態では、信用証明書要求応答が(DNSなどの)標準プロトコルとしてフォーマットされる。
【0080】
ステップ710において、デジタル装置102が信用証明書要求応答を受け取る。その後、ステップ712において、デジタル装置102が信用証明書要求応答を認証する。1つの例では、デジタル装置102が、信用証明書要求にデジタル署名するために使用するものと同じ暗号鍵を使用して信用証明書要求応答を解読する。デジタル装置102は、信用証明書要求応答内のナンスをさらに取り出し、このナンスを、信用証明書要求に含めて送信したナンスと比較してさらに認証を行うことができる。信用証明書要求応答が本物であると判明した場合、ステップ714において、デジタル装置102が、信用証明書要求応答からネットワーク信用証明書を取り出す。
【0081】
ステップ716において、デジタル装置102が、ネットワークアクセスに関連する認証要件を識別する。様々な実施形態では、デジタル装置102が、認証サーバ108に提供するのに適した情報及びネットワーク信用証明書を決定する。1つの例では、デジタル装置102が、認証サーバ108から1又はそれ以上のネットワークアクセスページを取り出す。デジタル装置102は、認証サーバからの正しいネットワークアクセスページにアクセスして自動的に選択を行うことができる。1つの例では、デジタル装置102が、選択を自動的に起動する(例えば、ネットワークアクセスページ内のボタンを起動する、ボックスをチェックする、及びラジオボタンを選択する)ことができる。
【0082】
例えば、信用証明書要求応答モジュール206は、ネットワークアクセスページ内の自動選択のための命令をデジタル装置102に提供することができる。本明細書で説明したように、ネットワークアクセスページは、認証サーバ108から取り出した1又はそれ以上のウェブページ、1又はそれ以上のタグ、又はこれらの両方の組み合わせを含むことができる。1つの例では、デジタル装置102内のソフトウェアが、ネットワークアクセスページ内の全ての選択ボックスに自動的にチェックを入れることができる。その後、デジタル装置102は、ログイン手順情報に基づいて選択ボックスのチェックを外すことができる。当業者であれば、自動的に選択を行えるようにする方法は数多く存在できることを理解するであろう。他の実施形態では、デジタル装置102が、認証サーバ108からXMLタグを受け取る。デジタル装置102は、ログイン手順情報の中のXMLタグ及び命令に基づく情報を認証サーバ108に提供してネットワークアクセスを取得することができる。
【0083】
ステップ718において、デジタル装置102が、ネットワーク装置104にネットワーク信用証明書を提供して通信ネットワーク114へのネットワークアクセスを取得する。1つの例では、信用証明書要求応答モジュール206が、認証サーバ108から1又はそれ以上のフォームを取り出し、フォームに1又はそれ以上のネットワーク信用証明書を読み込んで、完成したフォームを認証サーバ108に提供する。別の例では、信用証明書要求応答モジュール206が、必要に応じて認証サーバ108にネットワーク信用証明書を提供する。認証サーバ108は、ネットワーク信用証明書を受け取ると、デジタル装置102と通信ネットワーク114の間の通信を可能にすることができる。1つの例では、認証サーバ108が、アクセスコントローラ112に、デジタル装置102の通信ネットワーク114へのアクセスを許可するように命令する。
【0084】
その後、デジタル装置102は、ネットワーク接続性をテストしてネットワークアクセスを確認することができる。1つの例では、デジタル装置102が、通信ネットワーク114を利用できるかどうかを判定するための要求を信用証明書サーバ116へ送信する。いくつかの実施形態では、クエリ又はコマンドが、以前に信用証明書要求に含めて提出したシーケンス識別子を含む。ネットワークアクセスが成功した場合、信用証明書サーバ116は、この要求を受け取ってシーケンス識別子を取り出すことができる。この結果、信用証明書サーバ116は、ネットワークアクセスが成功したことを確認することができる。
【0085】
図8は、ネットワーク信用証明書を受け取って記憶するための例示的な方法のフロー図である。様々な実施形態では、ユーザが、ネットワーク記録を作成して信用証明書サーバ116に記憶することができる。例えば、信用証明書サーバ116は、ユーザがネットワーク記録を作成、記憶、更新、削除、及び修正できるようにするグラフィカルユーザインターフェイス(GUI)を提供する信用証明書記憶モジュール(図示せず)を含むことができる。
【0086】
ステップ802において、信用証明書サーバ116が、ユーザにネットワーク信用証明書要求フォームを提供する。1つの例では、信用証明書サーバ116が、ネットワーク信用証明書要求フォームを、インターネットを介して1又はそれ以上のウェブページとしてユーザに提供する。ネットワーク信用証明書要求フォームは、(運営会社名などの)サービスプロバイダ名及び/又はSSID及びネットワーク信用証明書を受け取るように構成される。
【0087】
サービスプロバイダ名は、ホットスポット、ホットスポットに関する1又はそれ以上の構成要素(例えばネットワーク装置104)、又はローカルエリアネットワーク106のインフラを運営するエンティティ名を含むことができる。いくつかの実施形態では、サービスプロバイダ名が、別のサービスプロバイダの1又はそれ以上のホットスポットを管理する組織名を含む。1つの例では、たとえホットスポットに異なるサービスプロバイダが存在していても、コーヒーショップ及び書店は、両方とも第三の管理者を使用してホットスポットを管理することができる。いくつかの実施形態では、ネットワーク信用証明書要求フォームを、第三の管理者名を受け取るように構成することができる。いくつかの実施形態では、サービスプロバイダ名が、ホットスポットネットワークへのアクセスを再販する組織(アグリゲータなど)の名前を含む。
【0088】
ネットワーク信用証明書要求フォームは、ネットワークサービス選択としてSSIDを受け取ることもできる。1つの例では、ネットワーク信用証明書要求フォームが、異なるサービスプロバイダのプルダウンメニュー及び/又はユーザが選択できるホットスポットを含む。例えば、ユーザは、ホットスポットとして「スターバックス」又は「サンフランシスコ国際空港」を選択することができる。ユーザには、ホットスポットの地理的位置などに対するさらなる選択肢を与えることができる。ユーザは、サービスプロバイダを選択することもできる。例えば、ユーザは、サービスプロバイダとして「T−Mobile」を選択することができる。この結果、ネットワーク信用証明書要求フォームは、ユーザがT−mobileに関連する1又はそれ以上の様々なホットスポットの中から選択を行えるようにすることができる。その後、これらの(単複の)選択をネットワーク記録として記憶することができる。或いは、(単複の)選択に関連するネットワークサービス識別子がSSIDとして生成される。
【0089】
さらに、ネットワーク信用証明書要求フォームは、ユーザからネットワーク信用証明書を受け取ることができる。例えば、ユーザは、ネットワーク信用証明書要求フォームの中に、ネットワーク信用証明書としてユーザ名、パスワード、パスコードを入力することができる。いくつかの実施形態では、ネットワーク信用証明書要求フォームが、SSIDを受け取った後で、必要なネットワーク信用証明書の種類を決定する。例えば、ネットワーク信用証明書要求フォームは、ユーザが先程選択したサンフランシスコ国際空港のホットスポットにおいてネットワークにアクセスするために必要な情報を識別する。その後、ネットワーク信用証明書要求フォームは、ユーザがこのホットスポットにおいてネットワークアクセスを取得するために必要な(ユーザ名、パスワードなどの)情報のみを入力できるようにするフィールド又は選択肢を生成する。
【0090】
信用証明書サーバ116はまた、ネットワーク信用証明書要求フォームを受け取る前に登録を行うことをユーザに求めることもできる。登録中、ユーザは、サービス条件に同意して顧客情報を入力する必要がある。顧客情報は、信用証明書サーバ116にアクセスしてネットワーク信用証明書を記憶するためのユーザ名及びパスワードを含む。任意に、顧客情報は、ユーザの住所、連絡先情報、及び信用証明書サーバ116により提供されるサービスをユーザが使用するための支払い選択肢を含むことができる。
【0091】
ステップ804において、信用証明書サーバ116が、ネットワーク信用証明書要求フォームを介して顧客情報及びネットワークサービスの選択を受け取る。ステップ806において、信用証明書サーバが、ネットワーク信用証明書を取り出すことができる。ステップ808において、信用証明書サーバ116が顧客情報を受け取る。ステップ810において、信用証明書サーバ116が、ネットワーク信用証明書を顧客情報、ネットワークサービスの選択、及び(単複の)ネットワーク信用証明書と関連付けてネットワーク記録を作成する。その後、ステップ812において、ネットワーク記録が記憶される。
【0092】
いくつかの実施形態では、ユーザが、インターネットを介して信用証明書サーバ116に手動でアクセスすることができる。他の実施形態では、ユーザが、ネットワーク信用証明書ソフトウェアをダウンロードしてデジタル装置102上にインストールすることができる。このネットワーク信用証明書ソフトウェアは、デジタル装置102のDDIDを識別して信用証明書サーバ116へ送ることができる。他の実施形態では、デジタル装置102上にネットワーク信用証明書ソフトウェアをプリインストールすることができる。デジタル装置102がネットワーク信用証明書ソフトウェアを最初に起動する際に、ネットワーク信用証明書ソフトウェアが、デジタル装置102のDDID識別して信用証明書サーバへ送ることができる。
【0093】
ユーザは、ネットワーク信用証明書ソフトウェアにSSIDを入力する(例えば、サービスプロバイダ又はホットスポットを識別する)ことができる。ユーザは、ネットワーク信用証明書ソフトウェアにネットワーク信用証明書を入力することもできる。ネットワーク信用証明書ソフトウェアは、DDID、SSID及びネットワーク信用証明書を取得した後で、この情報を信用証明書サーバ116にアップロードし、信用証明書サーバ116は、この情報をネットワーク記録に記憶することができる。様々な実施形態では、ネットワーク信用証明書ソフトウェアを信用証明書サーバ116からダウンロードすることができる。
【0094】
図9は、例示的なデジタル装置のブロック図である。信用証明書サーバ116は、プロセッサ900、メモリシステム902、記憶システム904、入出力インターフェイス906、通信ネットワークインターフェイス908、及びディスプレイインターフェイス910を含む。プロセッサ900は、(プログラムなどの)実行可能命令を実行するように構成される。いくつかの実施形態では、プロセッサ900が、実行可能命令を処理できる回路又はいずれかのプロセッサを含む。
【0095】
メモリシステム902は、データを記憶するように構成されたいずれかのメモリである。メモリシステム902のいくつかの例として、RAM又はROMなどの記憶装置がある。メモリシステム902は、ラムキャッシュを含むことができる。様々な実施形態では、メモリシステム902にデータが記憶される。メモリシステム902内のデータは、クリア又は最終的に記憶システム904に伝送することができる。
【0096】
記憶システム904は、データを取り出して記憶するように構成されたいずれかのストレージである。記憶システム904のいくつかの例として、フラッシュドライブ、ハードドライブ、光ドライブ及び/又は磁気テープがある。いくつかの実施形態では、信用証明書サーバ116が、RAMの形のメモリシステム902及びフラッシュデータの形の記憶システム904を含む。メモリシステム902及び記憶システム904はいずれも、プロセッサ900などのコンピュータプロセッサにより実行可能な命令又はプログラムを記憶できるコンピュータ可読媒体を含む。
【0097】
任意の入出力(I/O)インターフェイス906は、ユーザから入力を受け取ってデータを出力するいずれかの装置である。任意のディスプレイインターフェイス910は、グラフィクス及びデータをディスプレイに出力するように構成されたいずれかの装置である。1つの例では、ディスプレイインターフェイス910がグラフィックアダプタである。全てのデジタル装置102が、入出力インターフェイス906又はディスプレイインターフェイス910を含むとは限らないと理解されたい。
【0098】
通信ネットワークインターフェイス(com. network interface)908は、リンク912を介して(ローカルエリアネットワーク106及び通信ネットワーク114などの)ネットワークに結合することができる。通信ネットワークインターフェイス908は、例えば、イーサネット(登録商標)接続、シリアル接続、パラレル接続又はATA接続を介して通信をサポートすることができる。通信ネットワークインターフェイス908は、(802.11/b/g/n、WiMaxなどの)無線通信をサポートすることもできる。当業者には、通信ネットワークインターフェイス908が多くの有線及び無線標準をサポートできることが明らかであろう。
【0099】
様々な実施形態では、満足のいくサービス品質を実現するために、デジタル装置が様々なルールに基づいて複数の利用可能な無線ネットワークから利用可能な無線ネットワークを自動的に選択してアクセスできるようにするシステム及び方法について説明する。このようなルールを、デジタル装置自体の中で、デジタル装置と通信しているサーバ上で、又はこれらの両方の組み合わせで実施することができる。様々な実施形態では、無線ネットワークは、デジタル装置とインターネットなどの通信ネットワークとの間の無線アクセスを可能にするネットワークである。
【0100】
いくつかの実施形態によれば、(Wi−Fi通信が可能なデジタル装置などの)無線デジタル装置のユーザが、ウェブサーバ上にアカウントを作成し、このアカウントを使用して1又はそれ以上の(コンピュータ、ラップトップ、携帯情報端末及び携帯電話などの)デジタル装置を登録する。登録されたデジタル装置を管理して、HTTPなどのネットワーク通信メカニズムを介して(プロファイルサーバ又は信用証明書サーバなどの)中央サーバによりネットワーク記録が提供されるようにすることができる。
【0101】
図10は、本発明の実施形態を実施できる別の環境を示す図である。様々な実施形態では、デジタル装置1002を有するユーザが、ネットワーク装置1004及び1006の近くに存在する領域に入る。1つの例では、ネットワーク装置1004及び1006が別個のアクセスポイントであり、これらの各々を使用して、デジタル装置1002と通信ネットワーク1008の間の通信を確立することができる。
【0102】
デジタル装置1002は、デジタル装置1002を取り巻く領域を走査し、2つのネットワーク装置1004及び1006を検出し、デジタル装置1002が通信を確立できる利用可能な無線ネットワークのリストを生成することができる。いくつかの実施形態では、利用可能な無線ネットワークのリストが、ネットワーク装置1004及び1006のDDID識別子、SSID識別子及び/又はBBSID識別子を含む。
【0103】
その後、デジタル装置1002は、この利用可能な無線ネットワークのリストをルールサーバ1010に提供する。1つの例では、デジタル装置1002が、利用可能な無線ネットワークのリストを、ネットワーク装置1004又はネットワーク装置1006のオープンポートに対する標準プロトコルとして通信ネットワーク1008に提供し、最終的にはルールサーバ1010に提供する。別の例では、デジタル装置1002が、図示していないセルラ通信ネットワークなどの別のネットワークを介して(CDMA、GSM(登録商標)、3G、又はEVDOなどを介して)利用できる無線ネットワーク、又は(Wi−Fi、Wimax又はLTEネットワークなどの)その他の無線ネットワークをのリストを提供する。
【0104】
ルールサーバ1010は、利用可能な無線ネットワークのリストを受け取り、リスト内で識別された個々の無線ネットワークのネットワークプロファイルを取り出すことができる。ネットワークプロファイルとは、無線ネットワークに関連するとともに、この関連するネットワークにより提供される性能及び/又はサービス品質に関する属性を含む記録のことである。1つの例では、ルールサーバ1010が、リスト内の個々のネットワークを識別して個々のネットワークのSSID及び/又はBBSIDをプロファイルサーバ1014に提供する。その後、プロファイルサーバ1014は、個々のネットワークの(SSID及び/又はBBSIDに基づく)ネットワークプロファイルをルールサーバ1010に提供することができる。いくつかの実施形態では、プロファイルサーバ1014が、データベース又は(ネットワークデータベースサーバ1012などの)その他のサーバからネットワークプロファイルを取り出す。
【0105】
ルールサーバ1010は、ネットワークプロファイル内の属性、及び/又はデジタル装置1002から受け取ったあらゆる属性に基づいて、利用可能な無線ネットワークのリストから好ましい無線ネットワークを選択することができる。属性とは、無線ネットワークの特性のことである。様々な実施形態では、属性が、性能測定基準、共有インジケータ、又はサービス識別子を含む。無線ネットワークの性能測定基準とは、ネットワーク性能のいずれかの尺度のことである。いくつかの例では、性能測定基準が、待ち時間測定基準、帯域幅測定基準、又はサービス品質(QOS)測定基準を含むことができる。当業者であれば、性能測定基準が、無線ネットワークの性能を表すあらゆる種類の測定基準を含むことができると理解するであろう。
【0106】
待ち時間測定基準とは、ネットワーク上でデジタル装置からサーバへデータパケットを送信するための時間を表す尺度のことである。いくつかの実施形態では、デジタル装置1002がサーバへICMP「エコー要求」パケットを送信し、ICMP「エコー反応」応答に耳を傾けることができる。待ち時間測定基準は、往復時間(一般的にはミリ秒単位)の推定値を含み、及び/又はいずれかのパケット損失を含むことができる。別の例では、待ち時間測定基準が、推定される往復時間の半分である。
【0107】
帯域幅測定基準とは、無線ネットワークの利用可能な帯域幅の尺度のことである。1つの例では、デジタル装置が、無線ネットワークを介してサーバへデータブロックを送信して応答のタイミングを計ることにより、利用可能な帯域幅をテストすることができる。
【0108】
QOS測定基準は、無線ネットワーク、アクセス装置1004、アクセス装置1006、及び/又は通信ネットワーク1008のサービス品質を測定するいずれかの尺度である。1つの例では、QOS測定基準が、IPアドレスを得るために必要な時間の長さを計ることにより判定されるDHCPの信頼度を表す。DHCPの信頼度は、統計的測定、IPアドレスを多少なりとも受け取る確率、及び/又は時間の配分を含むことができる。
【0109】
共有インジケータは、無線ネットワークが共有されているかどうかを示す。いくつかの実施形態では、共有インジケータを、「共有」、「非共有」、「不明」を含む3つの状態のうちの1つとすることができる。共有インジケータは、(「非共有」などの)1つの状態しか含むことができないが、当業者であれば、共有インジケータがあらゆる数の状態を有することができると理解するであろう。ネットワークが「共有」されていることを示す共有インジケータを含む無線ネットワークは、無線ネットワークの所有者が、他の誰かがネットワークの使用を意図していることを示すことができる。「共有」ネットワークの一例として、他の誰かが使用するために意図的に「オープン」になっている(例えば、暗号化されていない)無線ネットワークを挙げることができる。
【0110】
ネットワークが「非共有」であることを示す共有インジケータを含む無線ネットワークは、無線ネットワークの所有者が、ネットワークにアクセスするための明確な許可を持たない者を望まないことを示すことができる。1つの例では、非共有の無線ネットワークは、無許可のユーザに対してアクセスを制限するために(WEP又はWPAなどを介して)意図的に暗号化されていることが多い。しかしながら、全ての「非共有」のネットワークが暗号化されているとは限らない。例えば、たとえネットワークが共有を意図されていなくても、ネットワークの所有者がネットワーク装置を誤って設定したり、或いはエラーを通じてネットワークがオープン(すなわち非暗号化に)になったりする可能性がある。
【0111】
ネットワークが「不明」であることを示す共有インジケータを含む無線ネットワークは、無線ネットワークが「共有」又は「非共有」のいずれの可能性もあることを示すことができる。例えば、オープンネットワークの所有者の意図が不明な場合がある。
【0112】
サービス識別子は、無線ネットワークがサポートする1又はそれ以上のサービスを識別することができる。1つの例では、1又はそれ以上のサービス識別子が、無線ネットワークがVoIP、テレビ会議及び/又はビデオ会議をサポートしていることを示す。サービス識別子は、無線ネットワークがサポートするあらゆる種類のサービスを識別することができる。いくつかの実施形態では、サービス識別子が、無線ネットワークがサポートしていないサービスを識別することができる。
【0113】
当業者であれば、ネットワークプロファイルがあらゆる数の属性を含むことができると理解するであろう。さらに、当業者であれば、ネットワークプロファイルが1つのみ又はそれ以上の性能測定基準、1つのみの共有インジケータ又は1つのみ又はそれ以上のサービス識別子を含むことができることを理解するであろう。
【0114】
様々な実施形態では、ルールサーバ1010が、属性分析に基づいて、利用可能な無線ネットワークのリストから1又はそれ以上の無線ネットワークを選択する。1つの例では、ルールサーバ1010が属性に様々なルールを適用する。これらのルールとして、最低要件、個別設定、及び属性比較を挙げることができる。1つの例では、ルールサーバ1010により適用されるルールが、1又はそれ以上の無線ネットワークの属性を1又はそれ以上の最低要件と比較することができる。無線ネットワークの属性が最低要件を下回る場合、この無線ネットワークを選択することができず、又は利用可能な無線ネットワークのリストから削除することができる。
【0115】
いくつかの実施形態では、ルールサーバ1010により適用されるルールが、ユーザによる個別設定に基づくことができる。例えば、デジタル装置1002のユーザは、デジタル装置1002を、「共有」と指定された無線ネットワークを介してのみ接続すべきであることを示す個別設定を示すことができる。この例では、ルールサーバ1010は、無線ネットワークを「共有」であると識別する共有インジケータを含む属性の無線ネットワークのみを選択することができる。
【0116】
様々な実施形態では、ルールサーバ1010により適用されるルールが、1つの無線ネットワークの属性と別のネットワークの属性との比較に基づくことができる。1つの例では、属性が、1つの無線ネットワークが別の無線ネットワークよりも帯域幅が大きく、待ち時間が短いことを示すことができる。この例では、ルールサーバ1010は、別の無線ネットワークとの比較においてより性能が良く、又はサービスの価値が高い1つの無線ネットワークを選択することができる。当業者であれば、利用可能な無線ネットワークのリストから無線ネットワークを選択する際に、選択又は支援のために使用するルールにはあらゆる種類があり得ることを理解するであろう。
【0117】
無線ネットワーク選択を行う際には、ルールサーバ1010が2以上のルールを適用することができる。1つの例では、ルールサーバ1010が、異なる無線ネットワークからの属性を比較して選択を行う前に、ユーザの個別設定を適用することができる。別の例では、ルールサーバ1010が、属性を比較する前に、属性に最低要件を適用することができる。
【0118】
ルールサーバ1010は、ネットワークプロファイルからの属性の比較に基づいて無線ネットワークを選択したら、この無線ネットワーク選択をデジタル装置1002に提供することができる。無線ネットワーク選択は、少なくとも1つの無線ネットワークを識別する(ネットワーク識別子などの)1又はそれ以上の識別子を含む。この無線ネットワーク選択は、単一の無線ネットワークを識別すること、又は優先度順にソートされた無線ネットワークのソート済みリストを含むことができる。
【0119】
いくつかの実施形態では、ルールサーバ1010が、無線ネットワーク選択に加え、選択された無線ネットワークの(信用証明書要求応答などの)信用証明書もデジタル装置1002に提供する。1つの例では、ルールサーバ1010が、選択された無線ネットワークを信用証明書サーバ1016に提供し、次にこの信用証明書サーバ1016が、(たとえ信用証明書要求が行われなかったとしても)選択された無線ネットワークの信用証明書要求応答をデジタル装置1002に提供する。他の実施形態では、デジタル装置1002が無線ネットワーク選択を受け取り、その後、本明細書で説明したように、信用証明書サーバ1016に信用証明書要求を送信するステップに進んで信用証明書を受け取る。
【0120】
さらに、様々な実施形態では、デジタル装置1002が、選択された無線ネットワークに基づいて接続を確立しようと試みる。接続が失敗した場合、デジタル装置1002は、本明細書で説明したように、信用証明書要求を信用証明書サーバ1016へ送信して、ネットワークアクセスのための信用証明書を取り出すことができる。デジタル装置1002は、ネットワーク装置1004のオープンポートを介して信用証明書サーバ1016に信用証明書要求を提供することができる。別の例では、デジタル装置1002が、異なるネットワーク装置との接続を含む他のいずれかのネットワークを介して、又は携帯電話接続を介して信用証明書要求を提供することができる。
【0121】
図1では、ルールサーバ1010、ネットワークデータベースサーバ1012、プロファイルサーバ1014、信用証明書サーバ1016及びウェブサーバ1018を別個のサーバとして示しているが、これらのサーバは全て、1又はそれ以上のサーバとして組み合わせることができる。同様に、サーバのいずれかの機能を、図示している他のサーバの1つ又はその他のいずれかのサーバが実行することもできる。
【0122】
図10には、複数の利用可能な無線ネットワークから無線ネットワーク選択を行うための複数のサーバ(ルールサーバ、ネットワークデータベースサーバ、プロファイルサーバ、信用証明書サーバ、及びウェブサーバなど)を示しているが、当業者であれば、無線ネットワーク選択をデジタル装置1002内で行うこともできると理解するであろう。1つの例では、デジタル装置1002が、利用可能な無線ネットワークを一覧にした走査結果を取り出して、設定優先度に基づいて無線ネットワークを選択する。この設定優先度は、1又はそれ以上のローカルに実行されるルール、好ましい信号強度、又はその他のいずれか1つの又は複数の属性に基づくことができる。別の例では、デジタル装置1002が、(VoIPなどの)所望のサービスをサポートし、最小待ち時間標準を満たし、最小QOS標準を満たす無線ネットワークを選択する。別の例では、プロファイルサーバ1014が、所望のネットワークプロファイルをデジタル装置1002に提供し、このデジタル装置1002が分析を行って好ましい無線ネットワークを決定する。
【0123】
図11は、無線ネットワーク選択を提供する例示的な処理のフロー図である。ステップ1102において、(ルールサーバ1010、ネットワークデータベースサーバ1012、プロファイルサーバ1014、信用証明書サーバ1016又はウェブサーバ1018などの)サーバが、デジタル装置1002から利用可能な無線ネットワークのリストを受け取る。いくつかの例では、このリストは、(ネットワーク装置1004及びネットワーク装置1006などの)1又はそれ以上のネットワーク装置のSSID又はBBSIDを含む。リストは、ネットワーク及び/又はネットワーク装置を識別するあらゆる情報を含むことができる。
【0124】
いくつかの実施形態では、サーバが、ネットワーク及び/又はネットワーク装置に関連する1又はそれ以上の属性も受け取る。様々な実施形態では、デジタル装置1002が、信号強度を測定し、利用可能なサービスを判別し、又は利用可能な無線ネットワークのリスト上で識別される1又はそれ以上のネットワーク及び/又はネットワーク装置の性能測定基準を取り上げる。
【0125】
ステップ1104において、サーバが、ネットワークデータベースに記憶された複数のネットワークプロファイルから、利用可能な無線ネットワークのリスト上の個々の利用可能な無線ネットワークのネットワークプロファイルを取り出す。個々のネットワークプロファイルは、少なくとも1つの属性を含むことができる。いくつかの実施形態では、リスト上の全ての無線ネットワークがネットワークプロファイルを有するとは限らない。リスト上の無線ネットワークのネットワークプロファイルが見つからない場合、この無線ネットワークに関連するネットワークプロファイルを作成することができる。デジタル装置1002から属性を受け取った場合、サーバは、デジタル装置1002から受け取ったいずれの属性がいずれのネットワーク、ネットワーク装置及び/又はネットワークプロファイルに関連するかを判定することができる。
【0126】
ステップ1106において、サーバが、個々のネットワークプロファイルからの属性を最低要件と比較する。1つの例では、サーバが、(利用可能な場合)リスト内の全てのネットワークプロファイルからの待ち時間測定基準を最小待ち時間測定基準と比較する。サーバは、デジタル装置1002から受け取った属性を最低要件と比較することもできる。ステップ1108において、サーバが、(単複の)比較に基づいて、利用可能な無線ネットワーク及び/又は無線ネットワークプロファイルのリストから1又はそれ以上の無線ネットワークを削除する。例えば、待ち時間測定基準が最小待ち時間測定基準を下回る無線ネットワークは選択しなくてもよい。他の実施形態では、待ち時間測定基準が最小待ち時間測定基準を下回る無線ネットワークが重み値を受け取り、これを他の無線ネットワークと比較して選択処理を支援することができる。
【0127】
いくつかの実施形態では、デジタル装置1010のユーザが最低要件を決定する。他の実施形態では、(管理者などが)ユーザのために最低要件を選択することができる。
【0128】
ステップ1110において、サーバがユーザのための個別設定を取り出す。ユーザは、この個別設定をサーバへ送ることができる。いくつかの実施形態では、ユーザが、個別設定を含むウェブサーバ1018とのアカウントを有する。1つの例では、サーバが、利用可能な無線ネットワークのリストとともにユーザ識別子を受け取る。次に、サーバは、ユーザのアカウントにアクセスして個別設定を受け取り、その後、この個別設定が、リスト上の無線ネットワークに関連するネットワークプロファイルの属性に適用される。様々な実施形態では、ユーザが(「攻撃性」などの)個別設定を設定することができ、デジタル装置1002は、この設定で無線ネットワークに接続することができる。このような設定は以下を含むことができる。
(a) 共有インジケータに関係なくオープンなものに接続する。
(b) 所有者が混乱してアクセスポイントを単純にオープンのままにしてセキュリティ機能の設定方法を知らないと思われる旨を(「linksys」などの)デフォルトのメーカSSIDが示すもの以外はオープンなものに接続する。
(c) プロファイルサーバ108が認めた(又はWi−Fiネットワークに関する情報を既に記憶している)オープンなものに接続する。或いは、
(d) 「共有」という共有インジケータを含み、又は他の何らかの手段により共有と示されるオープンなものに接続する。当業者であれば、個別設定が数多く存在できることを理解するであろう。
【0129】
ステップ1112において、サーバが、個別設定に基づいてリスト又はネットワークプロファイルから1又はそれ以上の無線ネットワークを削除する。例えば、個別設定は、ビデオ会議をサポートし、ユーザが定義したQoS要件を保持する無線ネットワークへの接続のみをユーザが望んでいることを示すことができる。その後、サーバは、ネットワークプロファイルから得られた、又はユーザの個別設定を満たさないデジタル装置1002から最近受け取った属性に基づいて、利用可能な無線ネットワークのリストからいずれかの無線ネットワークを削除することができる。
【0130】
いくつかの実施形態では、その後、ネットワークプロファイルから得られた属性の比較前、又は比較後に個別設定を考慮することができる。1つの例では、個別設定が、「共有」と指定されていない、又は特定のサービスを提供していない無線ネットワークへの接続をユーザが望まないことを示す。1つの例では、ルールサーバ1010が、必要なサービスを提供しないネットワークに関連するネットワークプロファイルを取り出さず、及び/又はこれらのネットワークに関連する属性を比較しない。他の実施形態では、デジタル装置1002が、ルールサーバ1010から受け取った結果(無線ネットワーク選択など)に個別設定を適用した後で好ましい無線ネットワークにアクセスする。
【0131】
ステップ1114において、サーバが、リスト上の残りの無線ネットワークの属性を比較する。様々な実施形態では、サーバが重みを適用して、ネットワークプロファイル内から得られた(測定基準などの)属性の1又はそれ以上を標準化する。いくつかの実施形態では、古い属性を削除し、又はより新しい他の属性よりも低く重み付けすることができる。1つの例では、1週間よりも以前のあらゆる測定基準に同様のより新しい測定基準よりも低い重みを付けることができる。別の例では、1ヵ月よりも以前の測定基準をネットワークプロファイルから削除し、又は比較において検討対象外とすることができる。当業者であれば、ネットワークプロファイル内から得られる全ての属性又は情報を比較において考慮できるわけではないことを理解するであろう。
【0132】
個々のネットワークプロファイルは、あらゆる数の属性を含むことができる。1つの例では、ルールサーバ1010が、2つの異なるネットワークプロファイルからの測定基準の比較に基づいて無線ネットワーク選択を行う。いくつかの実施形態では、ルールサーバ1010が、2つの類似する測定基準間の比較に基づいて無線ネットワークを選択する(すなわち、第1のネットワークプロファイルからの待ち時間測定基準が、第2のネットワークプロファイルからの待ち時間測定基準と比較される)。当業者であれば、ルールサーバ1010が、2つの類似する最近受け取った測定基準間の比較又はネットワークプロファイル内の最近受け取った測定基準及び別の測定基準に基づいて無線ネットワークを選択できることを理解するであろう。
【0133】
他の実施形態では、ルールサーバ1010が、2つの異なる測定基準間の比較に基づいて無線ネットワークを選択する(すなわち、第1のネットワークプロファイルからの待ち時間測定基準が、第2のネットワークプロファイルからの帯域幅測定基準と比較される)。ルールサーバ1010は、適当な無線ネットワークを選択するための比較を行うために、類似する及び/又は異なる測定基準又は属性に重み付けして標準化するアルゴリズムを実行することができる。1つの例では、ルールサーバ1010が、第1のネットワークプロファイル内の待ち時間測定基準を第2のネットワークプロファイル内の帯域幅測定基準と比較する。ルールサーバ1010は、測定基準に重み付けして標準化するアルゴリズムを実行することができる。待ち時間の方がネットワーク性能に及ぼす影響が大きいと考えられるので、このアルゴリズムは、待ち時間測定基準に帯域幅測定基準よりも大きく重み付けすることができる。
【0134】
属性又は測定基準は、あらゆる数の要素に依存して異なる重みを受け取ることができる。例えば、待ち時間測定基準は、この測定基準が許容範囲内にあるときには所定の重みを受け取ることができ、そうでない場合には、大幅に下回る重みとなり得る。デジタル装置1002から最近受け取った測定基準は、ネットワークプロファイル内の類似する種類の測定基準よりも大きな重みを受け取ることができる。当業者であれば、類似する及び/又は異なる性能及び/又は質的な測定基準を比較するための方法は数多く存在することを理解するであろう。
【0135】
ステップ1116において、サーバが、属性の比較に基づいて無線ネットワークを選択する。無線ネットワーク選択は、単一の好ましい無線ネットワーク、又は優先度順にソートされた無線ネットワークのリストを含むことができる。1つの例では、ルールサーバ1010が、最も好ましいネットワーク、2番目に好ましいネットワークなどを識別する。その後、ステップ1118において、ルールサーバ1010は、無線ネットワーク選択をデジタル装置1002へ送信することができる。
【0136】
様々な実施形態では、ルールサーバ1010が、デジタル装置1002から最近受け取った測定基準のみを比較する。1つの例では、デジタル装置1002から2つの待ち時間測定基準が受け取られる。個々の待ち時間測定基準は、利用可能なネットワークのリスト上で識別された別個の無線ネットワークに関連する。この例では、ルールサーバ1010が、2つの属性の比較に基づいて無線ネットワークを選択することができる。
【0137】
図12は、無線ネットワークを選択するための例示的な処理のフロー図である。1002ステップにおいて、デジタル装置1002が、2つの無線ネットワークを含む領域内に入り、デジタル装置1202が、アクセスするネットワークを求めて走査する。ステップ1204において、デジタル装置1002が、第1及び第2の利用可能な無線ネットワークのネットワーク識別子を受け取る。本明細書で説明したように、第1及び第2のネットワーク識別子は、BBSID、SSID、又はその他のいずれかのネットワーク識別子を含むことができる。例えば、第1のネットワーク識別子はBBSIDを含むことができ、第2のネットワーク識別子はSSID識別子を含むことができる。別の例では、第1のネットワークが、BBSID及びSSIDを含む複数の識別子を提供できるのに対し、第2のネットワークはSSIDのみを提供する。この例では、第1のネットワーク識別子が、第1のネットワーク装置のBBSID及びSSIDの両方を含むことができるのに対し、第2のネットワーク識別子は、第2のネットワーク装置のSSIDしか含まない。
【0138】
ステップ1206において、デジタル装置1002が、利用可能な無線ネットワークのリストを生成する。例えば、デジタル装置1002は、第1のネットワーク識別子及び第2のネットワーク識別子を含むリストを生成することができる。その後、ステップ1208において、リストがサーバに提供される。
【0139】
ステップ1210において、デジタル装置1002が、無線ネットワーク選択をサーバから受け取る。無線ネットワーク選択は、選択された無線ネットワークを識別し、又は選択された無線ネットワークに関連するネットワーク装置を識別する識別子(ネットワーク装置のBBSID及び/又はSSIDなど)を含むことができる。様々な実施形態では、無線ネットワーク選択が、優先度によってソートされた無線ネットワークのリストを含むことができる。リストは、選択された無線ネットワーク又はネットワーク装置を識別する2又はそれ以上の識別子を含むことができる。
【0140】
ステップ1212において、デジタル装置1002が、無線ネットワーク選択のための信用証明書をサーバから受け取る。いくつかの実施形態では、信用証明書が、利用可能な無線ネットワークのリストをデジタル装置1002から受け取ったサーバと同じサーバから受け取られる。
【0141】
様々な実施形態では、デジタル装置1002が無線ネットワーク選択をサーバから受け取り、その後信用証明書要求を提供して所望のネットワークの信用証明書を受け取る。1つの例では、デジタル装置1002が、利用可能な無線ネットワークのリストを提供する方法と同じ方法で(例えば、ネットワークのオープンポートを介して)信用証明書要求を提供する。いくつかの実施形態では、好ましいネットワークが信用証明書を必要とせず、又は信用証明書がデジタル装置1002上にローカルに記憶される。
【0142】
ステップ1214において、デジタル装置1002が信用証明書を使用して、選択された無線ネットワークにアクセスする。本明細書では、ログインページなどに信用証明書を適用する処理について説明する。
【0143】
様々な実施形態では、デジタル装置1002が、本明細書で説明する信用証明書要求の提供と同様の方法で、利用可能な無線ネットワークのリストをネットワーク装置のオープンポートを介してサーバに提供することができる。他の実施形態では、デジタル装置1002が、別のネットワークを介してサーバにリストを提供することができる。1つの例では、デジタル装置1002が、利用可能なWi−Fiネットワークのリストを生成し、(EVDO又はHSDPAネットワークなどの)携帯電話ネットワークを介してリストを提供する。この例では、無線ネットワーク選択を携帯電話ネットワークを介してデジタル装置へ戻し、その後デジタル装置1002が、好ましいWi−Fiネットワークにアクセスしようと試みることができる。
【0144】
別の例では、デジタル装置1002が1つの無線ネットワークにアクセスする。その後、デジタル装置1002は、利用可能な無線ネットワークのリストをサーバに提供することができる。サーバは、無線ネットワーク選択をデジタル装置1002へ戻すことができる。この好ましい無線ネットワークが、デジタル装置1002が最初にアクセスしたネットワークでない場合、デジタル装置1002は、接続を中断して好ましい無線ネットワークにアクセスすることができる。
【0145】
図10〜図12は、利用可能な無線ネットワークのリストを受け取り、無線ネットワーク選択を決定し、この選択をデジタル装置1002に提供するサーバを想定したものであるが、当業者であれば、サーバが必須ではないことを理解するであろう。1つの例では、デジタル装置1002が、利用可能な無線ネットワークのリストを生成し、その後(例えば、ローカルに記憶されたネットワークプロファイルから、1又はそれ以上のネットワーク装置から、ローカルデータベース又は遠隔データベースから、及び/又はインターネットなどの別のネットワークから情報を取り出して)、リスト上のネットワークに関するいずれかの利用可能な情報を取り出す。次に、デジタル装置1002は、選択を行うために、又は優先順位リストを生成するために、ネットワークに関連するどのような属性が利用可能であるかに基づいて比較を行うことができる。その後、デジタル装置1002は、選択した無線ネットワークにアクセスすることができる。
【0146】
様々な実施形態では、デジタル装置1002が、1又はそれ以上のネットワークに関する属性を生成して提供し、ネットワークプロファイルを更新することができる。1つの例では、デジタル装置1002が、信号の品質、帯域幅、又はその他のあらゆる測定基準を判定して、利用可能な無線ネットワークのリストとともにこれらの測定基準をサーバに提供する。別の例では、デジタル装置1002が、選択した無線ネットワークにアクセスし、属性を測定し、ネットワークプロファイル内に属性更新測定基準を提供する。デジタル装置1002は、いつでも(待ち時間測定基準、帯域幅測定基準及びQOS測定基準などの)属性を取り込み、これらを使用してネットワークプロファイルを更新することができる。
【0147】
図13は、無線ネットワークを選択し、選択した無線ネットワークにアクセスするための略図である。様々な実施形態では、ステップ1302及び1304において、ネットワーク装置1004及びネットワーク装置1006が、第1及び第2のネットワーク識別子をデジタル装置1002に提供する。ステップ1306において、デジタル装置1002が、ネットワーク装置1004及びネットワーク装置1006に関連する無線ネットワークに関する測定を行うことにより、測定基準(すなわち属性)を生成する。いくつかの例では、測定基準として、待ち時間、信号強度、又はQOS測定基準を挙げることができる。
【0148】
ステップ1308において、デジタル装置1002が、ネットワーク装置1004からのネットワーク識別子及びネットワーク装置1006からのネットワーク識別子を含むことができる利用可能な無線ネットワークのリストを生成する。いくつかの実施形態では、デジタル装置1002が、2つのネットワーク識別子間の優先度を示すこと、又はネットワーク識別子の一方又は両方を削除することができる個別設定を含むこともできる。1つの例では、個別設定が、(「linksys」などの)デフォルトのメーカSSIDを有していないオープンネットワークにのみアクセスできることを示す。この例では、ネットワーク装置1004からのネットワーク識別子がデフォルトのメーカSSIDを示す場合、デジタル装置1002は、このネットワーク装置1004のネットワーク識別子を利用可能な無線ネットワークのリスト内に含めることができない。
【0149】
いくつかの実施形態では、デジタル装置1002が少なくとも2又はそれ以上のネットワークを識別するリストを生成できない場合、デジタル装置1002はリストを送らない。1つの例では、デジタル装置1002が、ユーザ要件を満たす利用可能な無線ネットワークを1つしか識別できない場合、デジタル装置1002は、無線ネットワークに直接アクセスしようと試みるか、或いは信用証明書要求をサーバへ送信して、アクセスに必要ないずれかの信用証明書を取り出すことができる。
【0150】
ステップ1310において、デジタル装置1002が、利用可能なネットワークの属性及びリストをルールサーバ1010に提供する際にプロキシのように振る舞うネットワーク装置1006の(ポート53などの)オープンポートを介して、属性及び利用可能な無線ネットワークのリストを提供する。他の実施形態では、デジタル装置1002が、ネットワーク装置1004のオープンポートを介して属性及びリストを提供する。或いは、デジタル装置1002は、別個のネットワークを介して属性及びリストを(例えば、ネットワーク装置のうちの1つのオープンポートを介して属性を、及びセルラネットワークを介してリストを)提供することもできる。ステップ1312において、DNSを介して属性及びリストをルールサーバ1010に提供することにより、ネットワーク装置1006がプロキシの役割を果たす。
【0151】
ステップ1314において、ルールサーバ1010がネットワークプロファイルを取り出す。1つの例では、ルールサーバ1010がリストからネットワーク識別子を取り出し、このネットワーク識別子に関連するネットワークプロファイルを取り出す。
【0152】
ステップ1316において、ルールサーバ1010(又はプロファイルサーバ1014)が、ネットワークプロファイル内の属性をデジタル装置1002から受け取った属性に更新する。1つの例では、デジタル装置1002からの新たな待ち時間測定基準を使用して、ネットワーク装置1004からのネットワーク識別子に関連するネットワークプロファイルを更新する。新たな待ち時間測定基準が最近のものであることを示すために、属性に関連する有効期間値を更新することもできる。
【0153】
ステップ1318において、ルールサーバ1010が、ネットワークプロファイル内から得た属性の比較に基づいてネットワーク装置を選択する。いくつかの実施形態では、ルールサーバ1010が、(ウェブサーバ1018などを介して)デジタル装置1002から、又はデジタル装置1002に関連するアカウントから得た個別設定も適用した後で選択を行う。ルールサーバ1010は、デジタル装置1002により提供されたリストから、2つのネットワーク装置の優先順位リストを作成することができる。リストには、2つのネットワーク装置のうちのいずれの方がネットワークプロファイルからの測定基準に基づいて最も望ましいサービスを提供するかに基づいて優先順位が付けられる。
【0154】
ステップ1320において、ルールサーバ1010が、デジタル装置1002へ情報を送るためのプロキシとして機能するために、DNSを介してネットワーク装置1006へ無線ネットワーク選択及び信用証明書を提供する。1つの例では、ルールサーバ1010がネットワーク装置1004を選択する。ルールサーバ1010は、ネットワーク装置1004のネットワーク識別子に基づいてネットワーク装置1004の信用証明書を取り出すことができる。例えば、ルールサーバ1010は、信用証明書サーバ1016に信用証明書要求を提供することができる。信用証明書サーバ1016は、必要な信用証明書を含む信用証明書要求応答をルールサーバ1010に提供することができ、その後このルールサーバ1010が、信用証明書サーバ1016から受け取った信用証明書及び無線ネットワーク選択をデジタル装置1002へ送信する。
【0155】
その後、ステップ1322において、ネットワーク装置1006が、オープンポートを介してネットワーク選択及び信用証明書をデジタル装置1002に提供する。ステップ1324において、デジタル装置1002が、信用証明書を提供してネットワーク装置1004にアクセスし、ネットワークに関する追加の属性を生成する(すなわち追加測定を行う)。接続が確立されると、ステップ1326において、ルールサーバ1010又はプロファイルサーバ1014に新しい属性が提供されて、ネットワーク装置1004に関連するネットワークプロファイルが更新される。1つの例では、デジタル装置1002が、ネットワーク装置1004との接続を確立するのに必要な時間を測定することができる。その後、この接続を確立するのに必要な時間を使用して、ネットワークプロファイル内の属性を更新することができる。接続が確立されなかったり、又は失敗した場合、この情報を提供して関連するネットワークプロファイルを更新することもできる。
【0156】
いくつかの実施形態では、選択したネットワークとのネットワーク接続が失敗した場合、デジタル装置1002は接続を再試行することができる。接続をしようとする複数の試みが失敗した場合、この失敗に関する情報が送られて、関連するネットワークプロファイルが更新される。その後、デジタル装置1002は、(ネットワーク装置1006などの)別のネットワーク装置との接続を試みることができる。いくつかの実施形態では、デジタル装置1002が領域を再走査して、利用可能なネットワークの新しいリストを生成し、このリストに、デジタル装置1002が接続を失敗したネットワークを含めないようにすることができる。この新しいリストをルールサーバ1010へ送って新しい無線ネットワーク選択を受け取り、この処理を繰り返すことができる。
【0157】
いくつかの実施形態では、ルールサーバ1010が、優先度によりソートされた利用可能な無線ネットワークの優先順位リストを提供する。1つの例では、ルールサーバ1010が、3つのネットワークの優先順位リストをデジタル装置1002に提供する。その後、デジタル装置1002は、この優先順位リストに基づいて第1の無線ネットワークにアクセスしようと試みることができる。デジタル装置1002は、第1の無線ネットワークに接続できなかった場合、リスト上の次のネットワークへの接続を試行することができる。当業者であれば、この優先順位リストが、利用可能な無線ネットワークのリスト内で識別された無線ネットワークの全て、1つ、又はいくつかを含むことができると理解するであろう。例えば、ルールサーバ1010は、性能が劣ると分かっていたり、(VoIPサービスなどの)所望のサービスを提供しなかったり、及び/又は別様にブラックリストに載っている無線ネットワークを識別することはできない。
【0158】
様々な実施形態では、デジタル装置1002のユーザが、無線ネットワーク選択を無効にしていずれかの無線ネットワークにアクセスすることができる。1つの例では、ユーザが、利用可能な無線ネットワークの優先順位を選択する。いくつかの実施形態では、ユーザが、デジタル装置1002、又はウェブサーバ1018とのアカウントを、ルールサーバ1010から得た無線ネットワークの優先順位リストを並べ替え、又は別様に変更することができる個人的な優先度を含むように構成することができる。例えば、利用可能な無線ネットワークのリストをルールサーバ1010に提供する前に、デジタル装置1002又はウェブサーバ1018が、このリストをユーザの優先度に基づいて変更することができる。
【0159】
いくつかの実施形態では、1又はそれ以上のオープンなWi−Fiネットワークに加え、所定の位置に1又はそれ以上の暗号化されたWi−Fiネットワークが存在することもある。デジタル装置1002は、オープンなWi−Fiネットワークに接続して、暗号化されたWi−Fiネットワークを含む他のWi−FiネットワークのSSIDをHTTPなどのネットワーク通信プロトコルを介してルールサーバ1010へ送信することができる。
【0160】
その後、ルールサーバ1010は、個別設定又はその他のルールに基づいて、利用可能な暗号化されたWi−Fiネットワークがネットワーク接続にとって好ましい選択であると判定することができる。ルールサーバ1010は、現在のオープンなWi−Fiネットワーク接続を介してデジタル装置1002へ必要な暗号鍵を送信するとともに、暗号化されたWi−Fiネットワークに切り替えるための命令をデジタル装置1002へ送ることができる。
【0161】
ユーザ、アプリケーション、及びオペレーティングシステムは、たとえGPSハードウェアが利用できず又は機能しない(例えば、衛星が視認できない)としても、位置情報を所望又は要求する。いくつかの実施形態では、GPSハードウェアに代わる方法として、ユーザ、アプリケーション、及びオペレーティングシステムが、デジタル装置の近くに位置するネットワークの存在に基づいて位置情報を検索することができる。この位置情報を、アシスト型GPS(すなわち、AGPS)として使用することを含むあらゆる数の方法で使用することができる。例えば、位置情報を使用して、速度及び/又は精度を向上させるようにGPSハードウェアを「準備する」ことができる。
【0162】
ネットワークの位置は、ほとんど安定する傾向にある。従って、(ルータ、ホットスポット又はその他のネットワーク装置などの)ネットワークの物理的位置の場所を識別して使用し、ユーザの位置を識別することができる。1つの例では、デジタル装置を有するユーザが、無線ネットワークを求めて領域を走査することができる。1又はそれ以上の無線ネットワークを識別することができる。この識別された(単複の)無線ネットワークに関する情報を、識別された(単複の)無線ネットワークの位置(GPS座標など)を識別するデータ構造(表又はデータベースなど)を有することができるサーバに提供することができる。サーバは、この位置をユーザのデジタル装置に提供することができる。その後、デジタル装置は、この情報を表示することができ、及び/又は(地図アプリケーションなどの)1又はそれ以上のアプリケーション又はデジタル装置のオペレーティングシステムにこの情報を提供することができる。
【0163】
図14は、例示的なデジタル装置102のブロック図である。デジタル装置102は、コントローラ1402、走査モジュール1404、DNSモジュール1406、位置モジュール1406、及びウェブモジュール1410を備えることができる。いくつかの実施形態では、デジタル装置102上に、位置情報を特定するための(クライアントなどの)アプリケーションがインストールされる。このアプリケーションは、図14に示すモジュールの1又はそれ以上を含むことができる。例えば、このアプリケーションは、識別された無線ネットワークと、位置応答から位置情報を取り出すための位置モジュール1408とに基づいて位置要求を生成して送信するDNSモジュール1406を含むことができる。
【0164】
コントローラ1402は、走査モジュール1404、DNSモジュール1406、位置モジュール1406、及び/又はウェブモジュール1410を制御するように構成することができる。1つの例では、コントローラ1402が、走査モジュール1402による走査を引き起こし、DNSモジュール1406でDNSプロトコルフォーマットの位置要求を生成し、位置要求を提供し、位置応答を受け取り、位置応答から位置情報を取り出すことができる。いくつかの実施形態では、コントローラ1402が、(応答を表示するような)ユーザ、デジタル装置102上のアプリケーション(図示せず)又はオペレーティングシステム(図示せず)に位置情報を提供することができる。
【0165】
様々な実施形態では、走査モジュール1402を、無線ネットワークを求めてデジタル装置102の近くの領域を走査するように構成することができる。当業者であれば、利用可能な無線ネットワークを求めて走査を行うことは、ネットワークアクセスのために利用できるネットワークを識別するためのかなり一般的な処理であることを理解するであろう。走査モジュール1402は、無線ネットワークを求めて領域を走査すると、1又はそれ以上の無線ネットワークを識別することができる。例えば、無線ネットワーク及び/又はネットワーク装置に関連する、SSID及び/又はBSSIDなどのネットワーク識別子のリストを検出することができる。リスト化される無線ネットワークの1又はそれ以上は、(パスワード、ユーザ名、パスコード又は記録を必要とするような)安全なものの場合もあれば、或いは安全でないものの場合もある。リストは、(1又はそれ以上などの)あらゆる数のネットワーク識別子を含むことができる。
【0166】
DNSモジュール1406は、走査されたネットワークの1又はそれ以上に基づいて位置要求を生成するように構成することができる。位置要求は、ネットワークを介して(サーバなどの)第2のデジタル装置へ送られる、位置情報を要求するためのメッセージである。位置要求は、あらゆる数の方法でフォーマットできるメッセージである。1つの例では、位置要求が、DNSプロトコルメッセージ(RFC1876で定義されるようなDNS LOC記録としてフォーマットされるメッセージなど)としてフォーマットされる。位置要求は、UDPプロトコルでフォーマットすることもできる。1つの例では、位置要求に、(BSSIDなどの)走査したネットワーク識別子の1つを含めることができる。位置要求には、あらゆる数のネットワーク識別子を含めることができる。
【0167】
いくつかの実施形態では、この位置検索にDNSを使用することにより、本明細書で説明する位置要求及び関連する位置応答を、インターネットを介して例外なく又はほぼ例外なくサポートできるコネクションレス型分散プロトコルを介して搬送することができる。位置要求及び位置応答は、標準フォーマットとすることができる。従って、デジタル装置102は、位置を検索するために、Wi−Fi層におけるオープンなホットスポット又はネットワーク装置を認証する必要はない。
【0168】
例えば、ネットワーク装置は、ネットワークへのアクセスを許可する前に、(ユーザ名、パスワード又はその他の情報などの)アクセス情報を必要とすることがある。しかしながら、ネットワーク装置は、アクセス情報を必要とせずにサービスを提供するために、(ポート53などの)1又はそれ以上のオープンポートを含むこともできる。1つの例では、ネットワーク装置が、ポート53を通じてDNSサービスを可能にすることができる。デジタル装置102は、本明細書で説明したようなDNSプロトコルでフォーマットされた位置要求を生成し、アクセス情報を提供することなくネットワーク装置のオープンポートを介してネットワークに位置要求を提供することができる。その後、デジタル装置102は、位置情報を含む位置応答をオープンポートから受け取ることができる。
【0169】
位置要求は、以下に限定されるわけではないが、走査されたネットワークの1又はそれ以上の信号強度、(ライセンスキーなどの)ライセンス識別子、及びデジタル装置102の識別子などのあらゆる種類の情報を含むことができる。信号強度は、デジタル装置102によって検出された無線ネットワークに関連する信号の強度指標とすることができる。1つの例では、走査モジュール1404が領域を走査し、検出された無線ネットワークのリストを提供することができる。この無線ネットワークの1又はそれ以上は、デジタル装置102と無線ネットワークの1つとの潜在的接続の強度を示す関連信号強度指標を有することができる。いくつかの実施形態では、領域を所定の時間にわたって定期的に又は連続的に走査することにより、信号強度を求めることができる。検出された無線ネットワークに関連する信号の強度を平均化(例えば、幾何学的に平均化)し、又は統計的に測定して関連信号強度指標を作成することができる。
【0170】
ライセンス識別子は、デジタル装置102上のアプリケーション又はクライアントに関連する識別子とすることができる。様々な実施形態では、ユーザが、本明細書で説明した手段及び方法によってデジタル装置の位置を特定し、本明細書で説明したような信用証明書を検索し、又はあらゆる数の動作を行うアプリケーションをインストールする。このアプリケーションをライセンス識別子に関連付け、位置要求に含めて提供することができる。
【0171】
装置識別子は、装置を識別するために使用できるいずれの識別子であってもよい。いくつかの実施形態では、装置識別子が一意のものである。いくつかの例では、装置識別子が、MACアドレス、シリアル番号、IPアドレス、デジタル装置102にインストールされたソフトウェアのバージョン番号、IPアドレス及び/又はその他のいずれかの識別子である。
【0172】
位置情報は、ネットワーク及び/又はネットワークに関連するネットワーク装置(アクセスポイントなど)の物理的位置を識別するいずれの情報であってもよい。1つの例では、位置情報が、緯度及び経度座標を含むことができる。位置情報は、(海面よりも上又は下などの)高度を含むこともできる。当業者であれば、位置情報は、ユーザ、デジタル装置、ネットワーク装置、アプリケーション、オペレーティングシステムなどに位置又は位置の近似を提供するために使用できるあらゆる情報を含むことができると理解するであろう。
【0173】
いくつかの実施形態では、DNSモジュール1406が、位置要求の中の1又はそれ以上のネットワーク識別子及び/又はその他の情報を符号化することができる。例えば、DNSモジュール1406は、位置要求の中の情報の一部又は全部を16進符号化することができる。位置要求を暗号化することもできる。位置要求の全部又は一部をハッシュ化することもできる。例えば、DNSモジュール1406は、サービスの悪用を防ぐために、BSSIDを共用秘密値でハッシュ化して新たな名前を生成することができる。位置要求に装置識別子(UUID)を追加することもできる。例えば、最終結果は以下のようになる。
<uuid><bssid hash>.<server domain>
【0174】
位置要求は、コントローラ1402又はDNSモジュール1406によって提供することができる。いくつかの実施形態では、コントローラ1402又はDNSモジュール1406が、ネットワークを介して位置要求を送信することができる。1つの例では、DNSモジュール1406が、ネットワーク装置を介して位置サーバにDNSプロトコルフォーマットの位置要求を提供する。DNSモジュール1406は、ネットワーク装置のオープンポートを介して位置要求を提供することができる。オープンポートは、ポート53とすることができる。この位置要求は、本明細書で説明した信用証明書要求を提供する方法と同様の方法でネットワーク装置を介して提供することができる。
【0175】
位置モジュール1408は、ネットワーク上から位置応答を受け取るように構成することができる。この位置応答を、位置要求に関連付けることができる。位置応答は、位置情報を含むことができる。いくつかの実施形態では、位置モジュール1408が、位置応答から位置情報を取り出す。いくつかの例では、位置モジュール1408が、位置の全部又は一部を(ユーザにGPS座標などを表示して)ユーザに、デジタル装置102上のアプリケーションに、デジタル装置102上のオペレーティングシステムに、又は別のデジタル装置に提供する。
【0176】
いくつかの実施形態では、位置モジュール1408が、位置応答から情報を復号及び/又は解読する。位置要求は、DNSプロトコル又はいずれかのプロトコルとしてフォーマットすることができる。いくつかの実施形態では、位置モジュール1408が、位置応答から位置情報を復号する。1つの例では、位置情報の全部又は一部を16進符号化することができる。
【0177】
位置応答を、インターネットを介して受け取ることもできる。いくつかの実施形態では、位置モジュール1408が、(暗号鍵などで)位置応答の全部又は一部を解読し、及び/又は位置応答を認証する。その後、この認証に基づいて、位置モジュール1408が、位置応答から取り出した位置情報を提供することができる。
【0178】
ウェブモジュール1410は、位置要求を提供し、及び/又はインターネット又はその他のアクセス可能なネットワーク上から位置応答を受け取るように構成することができる。いくつかの実施形態では、ウェブモジュール1410が、ウェブブラウザとして機能することができる。ウェブモジュール1410は、ネットワーク識別子を含む位置要求を(HTTP、HTTPS、又はXMPPなどを通じて)生成し、アクセスされたネットワークを介して別のデジタル装置に位置要求を提供することができる。ウェブモジュール1410は、(HTTP、HTTPS、又はXMPPなどを通じて)位置応答を受け取り、位置情報を取り出すこともできる。
【0179】
当業者であれば、いくつかの実施形態は、無線ネットワークを求めて走査を行うことを想定するものであるが、有線ネットワークを使用してユーザの位置を特定することもできると理解するであろう。例えば、デジタル装置が(イーサネットケーブルなどを介して)有線ネットワークに結合されている場合、このデジタル装置は、IPアドレス、ホスト名アドレスなどのネットワーク識別子を受け取ることができる。1つの例では、ネットワーク識別子が、アクセスを提供するネットワーク装置の識別子である。このネットワーク識別子を位置サーバに提供し、その後この位置サーバが、ネットワーク及び/又はアクセスを提供するネットワーク装置の物理的位置を提供することができる。いくつかの実施形態では、(HTTPなどを介して)アクセスが確立されると、デジタル装置102が、ネットワークを介して位置要求を送信することができる。様々な実施形態では、デジタル装置102が、異なるネットワークを介して位置要求を送信することができる。1つの例では、デジタル装置102が、DNSプロトコルを通じ、無線ネットワークを介して位置要求を送信することができる。
【0180】
図15は、DNSプロトコルフォーマットのメッセージを通じ、無線ネットワークを介して位置情報を受け取る例示的な方法のフロー図である。ステップ1502において、走査モジュール1404が、無線ネットワーク(ネットワークのBSSID及び/又はSSIDをブロードキャストするネットワーク装置など)を求めて領域を走査する。例えば、走査モジュール1404は、オペレーティングシステム、別のアプリケーション、プラグイン、又はクライアントの一部とすることができる。ステップ1504において、走査モジュール1404が、走査を通じて無線ネットワークのネットワーク識別子を検出する。ネットワーク識別子は、例えばBSSID及び/又はSSIDなどの、無線ネットワーク又はネットワーク装置を識別するいずれかの情報とすることができる。走査を通じて、あらゆる数の無線ネットワークに関連するあらゆる数のネットワーク識別子を受け取ることができる。
【0181】
ステップ1506において、DNSモジュール1406が、DNSプロトコル用にフォーマットされた位置要求を生成する。この位置要求は、ネットワーク識別子を含むことができる。いくつかの実施形態では、走査モジュール1404による走査により2以上のネットワーク識別子が見つかったとしても、位置要求は1つのネットワーク識別子しか含まない。他の実施形態では、位置要求が、走査モジュール1404による走査で見つかったネットワーク識別子の一部又は全部を含む。
【0182】
ステップ1508において、コントローラ1402又は走査モジュール1404が、DNSプロトコルを通じ、ネットワークを介してサーバなどのデジタル装置に位置要求を提供する。例えば、デジタル装置1002は、ネットワーク装置のオープンポートを介して位置サーバに位置要求を提供することができる。位置要求を提供する処理は、本明細書で説明したようなネットワーク装置のオープンポートを介して(信用証明書要求などの)メッセージを提供する処理と同様のものとすることができる。オープンポートは、いずれのオープンポートであってもよい。1つの例では、オープンポートがポート53である。
【0183】
ステップ1510において、位置モジュール1408が、位置要求を受け取ったデジタル装置から位置応答を受け取る。位置応答は、ネットワーク識別子により識別されるネットワーク又はネットワーク装置の近似位置を識別する位置情報を含むことができる。
【0184】
ステップ1512において、位置モジュール1408が、位置応答から位置情報を取り出す。位置モジュール1408は、この位置情報をユーザ、ハードウェア装置、又はソフトウェアプログラムに提供することができる。位置モジュール1508は、位置情報を復号することができる。
【0185】
いくつかの実施形態では、位置応答が、追加情報の要求を含むことができる。例えば、位置要求は、符号化されたBSSIDなどの、無線ネットワークに関連するネットワーク識別子を含むことができる。位置要求を受け取るデジタル装置は、ネットワーク識別子に関する情報又は不十分な情報を有することができない。この結果、位置要求を受け取ったデジタル装置は、追加情報の要求を含む位置応答を提供することができる。その後、DNSモジュール1404は、前の位置要求とは異なる1又はそれ以上のネットワーク識別子を含む新たな位置要求を生成することができる。その後、この新たな位置要求を提供して、位置を特定できるかどうかを判定することができる。この処理は、例えば、位置が識別されるまで、走査モジュール1404によって走査されたネットワーク識別子が、全て1又はそれ以上の位置要求に含まれるまで、所定の時間が経過するまで、及び/又は位置を識別するための試行が所定の回数に達するまで継続することができる。
【0186】
当業者であれば、いつ何時でも位置要求を生成及び/又は送信できることを理解するであろう。例えば、ユーザが、GPS装置を有していないデジタルカメラで撮った写真にタグを付けたいと望むことがある。ユーザは、無線ネットワーク識別子を求めて領域を走査することもできるデジタルカメラで写真を撮ることもある。走査した無線ネットワーク識別子に写真の1又はそれ以上を関連付けることができる。デジタルカメラが(例えば無線で、又は有線ネットワークを介して)ネットワークに接続されている場合、DNSモジュール1404又はウェブモジュール1408は、位置要求を生成することができる。位置要求は、走査したネットワーク識別子の1又はそれ以上を含むことができる。次に、コントローラ1402が、受け取った位置応答から受け取った位置情報に基づいて、個々の写真に適宜タグを付けることができる。いくつかの実施形態では、写真に関連する1又はそれ以上のネットワーク識別子を含む個別の位置要求が写真ごとに存在してもよい。他の実施形態では、複数の写真の位置要求が存在してもよい。タグを付けた位置情報を写真に関連付ける方法はいくつも存在し、以下に限定されるわけではないが、写真をプリントする際に位置情報をプリントしたり、又は写真に関連するメタデータ内に位置情報を表示したりすることができる。
【0187】
図16は、例示的な位置サーバ1602のブロック図である。位置サーバ1602は、限定するわけではないが、信用証明書サーバ116(図1を参照)を含むいずれかのデジタル装置とすることができる。位置サーバ1602は、異なるネットワーク識別子に関連する位置情報を収集し、及び/又は位置要求に基づいてデジタル装置に位置情報を提供するように構成することができる。位置サーバ1602は、DNS位置モジュール1604、ウェブモジュール1606、位置分析モジュール1608、及び位置データベース1610を含むことができる。
【0188】
DNS位置モジュール1604は、位置要求を受け取るように構成することができる。1つの例では、DNS位置モジュール1604が、デジタル装置102から位置要求を受け取る。DNS位置モジュール1604は、1又はそれ以上のネットワーク識別子、位置要求を送信したデジタル装置、バージョン識別子、又はその他のいずれかの情報を位置要求から取り出すことができる。DNS位置モジュール1604を、位置要求から情報を復号する(例えば、16進符号化された情報を復号する)ように構成することもできる。1つの例では、DNS位置モジュール1604が、ハッシュ化されたネットワーク識別子を共有鍵で復号する。いくつかの実施形態では、DNS位置モジュール1604が、位置要求を認証及び/又は解読することができる。
【0189】
いくつかの実施形態では、DNS位置モジュール1604が、1又はそれ以上のデジタル装置から位置識別メッセージを受け取ることもできる。例えば、1又はそれ以上のデジタル装置は、GPS装置を有することができ、又はデジタル装置の近似位置を知ることができる。デジタル装置は、領域を走査してネットワーク識別子を検出し、検出したネットワーク識別子及び(GPS装置又は位置サーバ1602などからの)いずれかの位置情報を位置サーバ1602へ送信することができる。
【0190】
位置識別メッセージは、1又はそれ以上のネットワーク識別子を含むことができる。位置識別メッセージは、位置識別メッセージ及び/又はネットワーク識別子の1又はそれ以上を送信するデジタル装置に関連付けることができる位置情報を含むこともできる。いくつかの実施形態では、DNS位置モジュール1604又は位置分析モジュール1608が、位置情報をネットワーク識別子の1又はそれ以上に関連付け、この関連性を位置データベース1610に記憶することができる。様々な実施形態では、DNS位置モジュール1604又は位置分析モジュール1608が、位置情報及び/又はネットワーク識別子の全部又は一部を位置データベース1610に記憶することができる。
【0191】
ウェブモジュール1606は、(HTTP又はHTTPSなどを介して)位置要求を受け取るように構成することもできる。いくつかの実施形態では、位置サーバ1602がウェブサーバである。1つの例では、DNS位置モジュール1604と同様に、ウェブモジュール1606も、デジタル装置102から位置要求を受け取る。ウェブモジュール1606は、1又はそれ以上のネットワーク識別子、位置要求を送信したデジタル装置、バージョン識別子、又はその他のいずれかの情報を位置要求から取り出すことができる。ウェブモジュール1606は、位置要求からの情報を復号するように構成することができる。いくつかの実施形態では、ウェブモジュール1606が、位置要求を認証及び/又は解読することができる。
【0192】
いくつかの実施形態では、ウェブモジュール1606も、DNS位置モジュール1604の場合と同様の方法で1又はそれ以上のデジタル装置から位置識別メッセージを受け取ることができる。
【0193】
位置分析モジュール1608は、利用可能な位置情報に基づいて、ネットワーク装置の位置又は近似位置を特定して記憶するように構成することができる。様々な実施形態では、位置分析モジュール1608が、デジタル装置から(例えば、ネットワーク収集メッセージから)ネットワーク識別子及び位置情報を受け取る。ネットワーク識別子は、ネットワーク装置を識別することができる。位置情報は、検出されたネットワーク装置を走査したスマートフォンなどのデジタル装置の位置を識別することができる。位置分析モジュール1608は、(デジタル装置のGPS座標などの)位置情報をネットワーク識別子に関連付け、この関連性を位置データベース1610に記憶することができる。
【0194】
位置情報は、座標に加え、座標の信頼度又信頼レベルを含むことができる。例えば、多くの異なる種類のGPSハードウェアが、緯度座標、経度座標、及び信頼度を識別する。信頼度は、生じ得る誤差を示す範囲とすることができる。例えば、特定の座標の組の信頼度(精度又は誤差範囲など)を、+/−20フィートとすることができる。換言すれば、GPSハードウェアは、特定の座標の組から20フィート以内に位置すると考えることができる。この信頼度を、関連する座標とともに位置データベース1610に記憶することができる。
【0195】
様々な実施形態では、位置分析モジュール1608が、所定の時間後に、及び/又は特定のネットワーク識別子を識別する所定の数のネットワーク識別メッセージを受け取った後にネットワーク装置の位置を特定する。例えば、位置分析モジュール1608は、ネットワーク装置を識別する設定数のメッセージ及び位置情報を受け取った(例えば、ネットワーク装置に関するいくつかのネットワーク収集メッセージを受け取った)後にしかネットワーク装置の位置を特定することができない。当業者であれば、単一のネットワーク収集メッセージでは、誤った位置情報が含まていれる可能性があることを理解するであろう。いくつかの異なるデジタル装置が同じネットワーク識別子を検出して位置情報を提供するので、ネットワーク識別子の位置の信頼性が高まると考えられる。従って、例えば、位置分析モジュール1608は、同じネットワーク識別子を含む10個の位置識別メッセージを受け取った後に、このネットワーク識別子に関連するネットワークの位置を特定することができる。
【0196】
位置分析モジュール1608は、位置に関する全体的信頼度を判定することもできる。1つの例では、位置分析モジュール1608が、位置を特定するために使用した位置情報に関連する利用可能な信頼度を統計的に測定し、重み付けし、及び/又は平均化することができる。全体的信頼度は、デジタル装置102に提供できる位置の誤差範囲を示すことができる。いくつかの実施形態では、位置応答が、位置情報及び全体的信頼度を含む。
【0197】
いくつかの実施形態では、位置分析モジュール1608が、ネットワーク識別子に関連する位置情報(例えば、所定の時間にわたって受け取られた位置情報、又は位置サーバ1602及び/又はその他のデジタル装置によって受け取られた全てのネットワーク識別メッセージ)を取り出すことにより、このネットワークの位置を特定する。その後、位置分析モジュール1608は、(ネットワーク装置を検出した全てのデジタル装置のGPS座標を平均化することなどの)いずれかの統計的手段を通じて、ネットワーク装置の位置を特定することができる。
【0198】
いくつかの実施形態では、位置分析モジュール1608が、GPS座標の1又はそれ以上に関する信頼度を取り出し、この情報を使用してネットワーク装置の位置を特定する。例えば、統計処理では、位置分析モジュール1608が、信頼度に少なくとも部分的に基づいてGPS座標に重み付けすることができる。1つの例では、位置分析モジュールが、(+/−5フィートの信頼度などの)誤差範囲の低いGPS座標に高く重み付けすることができる。同様に、位置分析モジュールは、(+/−500フィートの信頼度などの)誤差範囲の高いGPS座標の衝突を低減又は除去することができる。当業者であれば、信頼度に部分的に基づいてあらゆる数の方法でGPS座標に重み付けできることを理解するであろう。
【0199】
いくつかの実施形態では、位置分析モジュール1608が、データを閾値化する。例えば、位置分析モジュール1608は、位置を特定する前に(GPS座標の大部分が集まっているのに対し、1つ又は2つのGPS座標がこの集まりから何マイルも離れて位置するような)異常値を除去することができる。さらに、位置分析モジュール1608は、信頼性の欠如を示唆する位置情報を除去することができる。例えば、位置分析モジュール1608は、検出中のデジタル装置が移動中であったこと、又は他の位置情報に対して高高度にあったことを示す位置情報を除去することができる。同様に、位置分析モジュール1608は、GPS座標の誤差範囲が広すぎることを示す位置情報も除去することができる。
【0200】
当業者であれば、位置分析モジュール1608が、所定の時間後、所定数のネットワーク識別メッセージを受け取った後、又はネットワークが移動した可能性があることを示唆するいくつかのネットワーク識別メッセージを受け取った後に位置を特定し直すことによってネットワーク識別子の位置を定期的に確認できることを理解するであろう。例えば、会社が閉鎖して物的資産を売却することは珍しくない。この結果、ネットワーク装置が売却され、異なる位置で使用されている可能性がある。1つの例では、位置分析モジュール1608が、あるネットワーク識別子に関してすでに収集した位置情報と異なる位置情報を有するネットワーク識別子を含むいくつかのネットワーク識別メッセージを受け取ることができる。所定の時間後、又は所定数のネットワーク識別メッセージを受け取った後に、位置分析モジュール1608は、新たな情報に基づいてネットワーク識別子の位置を特定し、以前に記憶した位置と新たに特定した位置を比較することができる。これらの位置が大幅に異なる場合、位置分析モジュール1608は、位置データベース1610を新たな位置で更新し、又はさらなる情報を受け取るのを待ってから変更を行うことができる。
【0201】
位置分析モジュール1608は、信号強度又はGPS位置の品質に基づいてネットワーク識別子の位置に重み付けすることもできる。いくつかの実施形態では、位置情報が、ネットワーク識別子の信号強度及び/又は(ネットワーク識別子を走査したデジタル装置から20メートル以内などの)GPS位置の信頼度の指標を含む。このGPS位置の信号強度及び/又は信頼度を、あらゆる数の関連するネットワーク識別メッセージを介して位置を特定する上での因子とすることができる。
【0202】
位置データベース1610は、複数のネットワーク識別子及び関連する位置(位置情報など)を含むいずれかのデータ構造(表など)である。位置データベース1610は、位置識別メッセージ、デジタル装置識別子、ライセンス識別子などを記憶することもできる。
【0203】
図17は、DNSプロトコルフォーマットのメッセージを通じ、無線ネットワークを介して位置情報を提供する例示的な方法のフロー図である。ステップ1702において、DNS位置モジュール1604が、DNSプロトコル用にフォーマットされた位置要求を受け取る。位置要求は、(BSSID又はSSIDなどの)1又はそれ以上のネットワーク識別子を含むことができる。次にDNS位置モジュール1604は、ステップ1704において、位置要求から(単複の)ネットワーク識別子を取り出すことができる。
【0204】
ステップ1706において、位置分析モジュール1608が、位置データベース1610から(単複の)ネットワーク識別子に関連する位置情報を取り出すことができる。この(単複の)ネットワーク識別子に関連する位置情報が存在しない場合、位置分析モジュール1608は、位置要求を提供したデジタル装置に追加情報を要求することができる。
【0205】
ステップ1708において、DNS位置モジュール1604が、位置情報を含む位置応答をDNSプロトコルでフォーマットすることができる。当業者であれば、いくつかの実施形態では、ウェブモジュール1606がHTTPフォーマットのメッセージとして位置応答を受け取ることができると理解するであろう。ウェブモジュール1606は、HTTPフォーマットのメッセージとして位置応答を提供することもできる。
【0206】
ステップ1710において、位置要求を提供したデジタル装置に位置応答を提供する。様々な実施形態では、位置サーバ1602が、位置要求と同じ形で位置応答を戻す。例えば、位置要求がDNSプロトコルでフォーマットされていた場合、位置応答もDNSプロトコルフォーマットのメッセージとして戻される。
【0207】
いくつかの実施形態では、デジタル装置102が、複数の異なるネットワークの位置情報を含む位置応答を位置サーバ1602から受け取ることができる。例えば、デジタル装置102による領域の走査が、3つの異なるBSSIDを含むことがある。この3つのBSSIDを(HTTPなどを介して)位置要求に含め、デジタル装置102は、この3つのBSSIDの全ての位置情報を含む位置応答を受け取ることができる。様々な実施形態では、デジタル装置102が、3つのBSSIDのうちの1つの位置情報を選択し、位置情報を平均化し、或いはBSSIDの各々の信号強度に基づいてデジタル装置102の位置を三角測量することができる。当業者であれば、あらゆる数の方法でデジタル装置102の位置を特定できることを理解するであろう。
【0208】
様々な実施形態では、デジタル装置102が、1つの位置要求、又は複数のネットワーク識別子を含む複数の位置要求を提供することができる。位置サーバ1602は、この(単複の)位置要求からネットワーク識別子を取り出し、ネットワーク識別子の2又はそれ以上に関連する位置情報を識別して、デジタル装置102の位置を三角測量することができる。この三角測量は、位置サーバ1602が記憶する位置情報の信頼度に部分的に基づくことができる。その後、位置サーバ1602は、三角測量した情報を含む位置応答をデジタル装置102に戻すことができる。
【0209】
図18は、ネットワークを介して位置情報を収集する例示的な方法のフロー図である。ステップ1802において、DNS位置モジュール1604が、無線ネットワークに関する(1又はそれ以上のネットワーク識別子などに関連する)複数のネットワーク収集メッセージを受け取る。
【0210】
ステップ1804において、DNS位置モジュール1604が、この複数のネットワーク収集メッセージから位置識別子を取り出す。この複数のネットワーク収集メッセージからのネットワーク識別子及び位置情報などの情報を、位置データベース1610に記憶することができる。
【0211】
ステップ1806において、位置分析モジュール1608が、位置データベース1610に記憶された位置情報に少なくとも部分的に基づいてネットワーク識別子の位置を特定する。位置は、GPS座標、高度、又はその他のいずれかの特定を含むことができる。位置は、信頼基準を含むこともできる(例えば、この信頼基準は、位置が近似であり、20メートル以内に存在し得ることを示すことができる。)
【0212】
いくつかの実施形態では、位置分析モジュール1608が、ネットワーク識別子に関連する位置情報を統計的に分析することによってネットワークの位置を特定する。例えば、特定のネットワーク識別子に関連する位置情報を含むあらゆる数のネットワーク収集メッセージが時間とともに受け取られると考えられる。位置分析モジュール1608は、所定の時間後、及び/又はそのネットワーク識別子に関する所定数のメッセージを受け取った後に、ネットワークの位置を特定することができる。1つの例では、位置分析モジュール1608が、あらゆる異常値を除去した後に、複数の異なるネットワーク収集メッセージからの位置情報を平均化することにより、ネットワークの近似位置を特定する。その後、結果として得られる位置をネットワークのネットワーク識別子に関連付け、位置データベース1610に記憶することができる。
【0213】
上述の機能及び構成要素は、コンピュータ可読媒体などの記憶媒体上に記憶された命令で構成することができる。この命令をプロセッサが取り出して実行することができる。命令のいくつかの例として、ソフトウェア、プログラムコード及びファームウェアがある。記憶媒体のいくつかの例としては、記憶装置、テープ、ディスク、集積回路及びサーバがある。この命令は、プロセッサにより実行された場合、プロセッサが本発明の実施形態に従って動作するように導く。当業者は、命令、(単複の)プロセッサ及び記憶媒体に精通している。
【0214】
以上、例示的な実施形態を参照しながら本発明について説明した。当業者には、本発明のより広い範囲から逸脱することなく、様々な修正を行うとともに他の実施形態を使用できることが明らかであろう。従って、例示的な実施形態に対するこれらの及びその他の変形も本発明に含まれることが意図されている。
【符号の説明】
【0215】
1002:デジタル装置
1004:ネットワーク装置
1006:ネットワーク装置
1008:通信ネットワーク
1010:ルールサーバ
1012:ネットワークデータベース
1014:プロファイルサーバ
1016:信用証明書サーバ
1018:ウェブサーバ
【技術分野】
【0001】
本発明は、一般に通信ネットワークへのアクセスに関する。より詳細には、本発明は、ネットワークを介して位置を特定することに関する。
【背景技術】
【0002】
ネットワークを使用して情報にアクセスすることが増えることにより、様々な活動に関してネットワーク通信への依存度が高まってきた。この依存度とともに、ネットワークアクセスが至る所で可能になるという期待が高まっている。無線技術の向上により、モバイルユーザのネットワークアクセスは特に強化されてきた。様々なセルラ(GSM、CDMAなど)、Wi−Fi(すなわちIEEE 802.11)、WiMax(すなわちIEEE 802.16)及びその他の技術により、潜在的ネットワークユーザに対して広範囲にわたるアクセスオプションが可能になってきた。多くの無線アクセスポイントすなわち「ホットスポット」は、局所的な地理的領域でしかアクセスすることができず、特定の会社又はその他の住所と同じぐらい狭いこともある。また、戦略的に配置されたホットスポットは、全ての人々に公的又は私的ネットワークアクセスを提供することができる。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】米国特許出願第11/899,697号明細書
【特許文献2】米国特許出願第11/899,638号明細書
【発明の概要】
【発明が解決しようとする課題】
【0004】
ホットスポットの所有者又は管理者は、ユーザアクセスを可能にするために、多くの場合パスワードなどを要求する。この結果、複数のホットポットのユーザは、数多くのパスワードを記憶し、覚え、又は別様に管理する必要が生じ得る。多くのユーザは、ホットスポットへのアクセスに使用するラップトップコンピュータ上に自身のパスワードを記憶することができる。しかしながら、ホットスポットにアクセスできる装置は、全てがラップトップコンピュータであるとは限らず、現在では携帯電話、携帯情報端末(PDA)、及びその他の多くの装置が無線アクセス可能である。残念ながら、ユーザは、装置上に容易にパスワードを入力したり、或いは装置内にパスワードを記憶させることができないことが多い。例えば、無線アクセス可能な装置には、キーボードを有していないものもある。たとえ装置がキーボードを含んでいても、このキーボードは小さいことが多く、特に指先が器用でないユーザにとっては機能が限られることがある。
【0005】
ユーザがラップトップコンピュータ上にパスワードを記憶する場合、ユーザはまず、ラップトップコンピュータにアクセスしてコンピュータに正しいパスワードを記憶させなければならない。パスワードが変わると、ユーザは、コンピュータ内のパスワードを更新する必要がある。また、装置内にユーザ名及びパスワードを記憶させると、装置が紛失又は盗難にあった場合にセキュリティ上の問題を生じる。
【0006】
さらに、通常、ユーザは、パスワード、ユーザ名を入力し、ウェブサイトを渡り歩いてネットワークアクセスを得る必要がある。この過程には時間がかかり、またユーザが誤った情報を入力して、データを再入力せざるを得なくなる場合もある。
【0007】
ユーザは、パスワードを手動入力する場合、難しいパスワードを覚えようとはしない。この結果、単純なパスワードでのアクセスは、ハッキングを受けやすく、ユーザのネットワークアクセス、ホットスポット及び/又はユーザの個人情報を危険にさらすことがある。さらに、ユーザの単純なパスワードがハッキングされたり、又は単純に推測される場合、ユーザのネットワークアクセスが盗まれることがある。
【0008】
これまで、無線ネットワークに接続することは、無線装置のユーザにとって他の理由で複雑な処理であった。通常、ユーザは、2又はそれ以上のWi−Fiネットワークが存在する領域に入り、自身のラップトップ上でWi−Fi機能を選択し、利用可能なWi−Fiネットワークを一覧にした一連の「走査結果」を見る。1つの例では、利用可能なWi−Fiネットワークのリストが、Wi−FiネットワークSSID識別子のリストを含む。多くの場合、ユーザは、暗号化又は(ログインページなどの)その他のセキュリティメカニズムが存在しないWi−Fiネットワークを識別しなければならない。機能的な無線ネットワークもいくつか存在する一方で、ネットワークが使用できなくなるように誤設定された無線ネットワークも存在することが、ユーザの不満を増大させる。
【0009】
通常、ユーザは、どのWi−Fiネットワークに接続すべきかを一覧に基づいて任意に判断する。通常、ユーザは、どのWi−Fiネットワークに接続すべきかを判断する際に、選択したWi−Fiネットワークが十分なサービス品質を提供するかどうか、或いはネットワークが動的ホスト構成プロトコル(DHCP)を介してIPアドレスを提供できるかどうかが分からない。
【0010】
多くのアプリケーションでは位置情報を利用することが増えているが、全ての装置が全地球測位システム(GPS)又は同様のハードウェアを含んでいるわけではない。さらに、装置がGPSを有していても、位置を特定するのに十分な数の衛星を利用又は視認できないことがある。例えば、ユーザが屋内にいたり、1又はそれ以上の衛星にアクセスできなかったり、又は装置からのGPS信号が遮られたりすることがある。さらに、装置が小型化して安価になるにつれ、GPSハードウェアの能力、柔軟性及び通信機能が限られて、GPS座標の検索を阻むこともある。
【課題を解決するための手段】
【0011】
ネットワークアクセスのためのネットワーク信用証明書を提供する例示的な方法及びシステムについて説明する。この例示的な方法は、ネットワーク装置を介してデジタル装置から信用証明書要求を受け取るステップと、この信用証明書要求の中の少なくとも一部の情報に基づいてネットワーク記録を識別するステップと、このネットワーク記録に基づいて、複数のネットワーク信用証明書から1つのネットワーク信用証明書を取り出すステップと、複数のネットワーク信用証明書から取り出したネットワーク信用証明書を含む信用証明書要求応答をデジタル装置へ送信するステップとを含む。
【0012】
この方法は、信用証明書要求を解読し、信用証明書要求を認証し、信用証明書要求応答を暗号化するステップをさらに含むことができる。さらに、この方法は、デジタル装置に基づいて暗号鍵を取り出すステップを含むこともできる。信用証明書要求は、ネットワーク装置の標準プロトコルを介して受け取ることができる。この標準プロトコルはDNSとすることができる。
【0013】
信用証明書要求は、位置識別子を含むことができる。方法は、デジタル装置から確認済みアクセス応答を受け取るステップをさらに含むことができる。
【0014】
ネットワーク信用証明書を提供するための例示的なシステムは、信用証明書要求モジュール及び信用証明書要求応答モジュールを含むことができる。信用証明書要求モジュールは、デジタル装置からネットワーク装置を介して信用証明書要求を受け取るように構成することができる。信用証明書要求応答モジュールは、この信用証明書要求の中の少なくとも一部の情報に基づいてネットワーク記録を識別し、このネットワーク記録に基づいて複数のネットワーク信用証明書から1つのネットワーク信用証明書を取り出し、このネットワークを含む信用証明書要求応答をデジタル装置へ送信するように構成することができる。
【0015】
例示的なコンピュータ可読媒体は、プログラムを含むことができる。このプログラムは、ネットワーク信用証明書を提供する方法を実施するためのプロセッサによって実行することができる。この方法は、ネットワーク装置を介してデジタル装置から信用証明書要求を受け取るステップと、この信用証明書要求の中の少なくとも一部の情報に基づいてネットワーク記録を識別するステップと、このネットワーク記録に基づいて複数のネットワーク信用証明書から1つのネットワーク信用証明書を取り出すステップと、複数のネットワーク信用証明書から取り出したネットワーク信用証明書を含む信用証明書要求応答をデジタル装置へ送信するステップとを含むことができる。
【0016】
無線ネットワークを選択するためのシステム及び方法を開示する。いくつかの実施形態では、方法が、第1のネットワーク装置のための第1のネットワーク装置識別子及び第2のネットワーク装置のための第2のネットワーク装置識別子を受け取るステップと、第1の属性を含む、第1のネットワーク装置識別子に基づく第1のネットワークプロファイルを取得するステップと、第2の属性を含む、第2のネットワーク装置識別子に基づく第2のネットワークプロファイルを取得するステップと、第1の属性及び第2の属性の属性分析に基づいて第1のネットワーク装置識別子又は第2のネットワーク装置識別子を選択するステップとを含む。
【0017】
様々な実施形態では、第1のネットワーク装置識別子及び第2のネットワーク装置識別子が、デジタル装置からサーバによって受け取られる。この方法は、選択に基づいて無線ネットワーク選択を行うステップをさらに含むことができる。この方法は、選択に基づいて信用証明書要求応答を提供するステップをさらに含むこともできる。
【0018】
いくつかの実施形態では、ネットワーク選択識別子が第1のネットワーク装置識別子を含む。ネットワーク選択識別子はまた、第1のネットワーク装置識別子及び第2のネットワーク装置識別子を含むソート済みリストを含むこともでき、このリストは第1の属性及び第2の属性の属性分析に基づいてソートされる。属性は、性能測定基準、共有インジケータ、及びサービス識別子を含むことができる。
【0019】
方法は、第1の属性及び第2の属性を最低要件と比較するステップをさらに含むことができ、第1のネットワーク識別子又は第2のネットワーク装置識別子を選択するステップは、この属性と最低要件の比較にも少なくとも部分的に基づく。方法はまた、第1の属性及び第2の属性を個別設定と比較するステップをさらに含むこともでき、第1のネットワーク識別子又は第2のネットワーク装置識別子を選択するステップは、この属性と個別設定の比較にも少なくとも部分的に基づく。方法はまた、ユーザ識別子を受け取り、このユーザ識別子に基づいてユーザアカウントから個別設定を取り出すステップをさらに含むこともできる。
【0020】
様々な実施形態では、システムがデジタル装置及びサーバを含む。デジタル装置は、通信ネットワークに結合することができ、この通信ネットワークを介して第1のネットワーク装置のための第1のネットワーク装置識別子及び第2のネットワーク装置のための第2のネットワーク装置識別子を受け取るように構成することができる。サーバも通信ネットワークに結合するとができ、第1のネットワーク装置識別子及び第2のネットワーク装置識別子をデジタル装置から受け取って、第1の属性を含む、第1のネットワーク装置識別子に基づく第1のネットワークプロファイルを取得し、第2の属性を含む、第2のネットワーク装置識別子に基づく第2のネットワークプロファイルを取得し、第1の属性及び第2の属性の属性分析に基づいて第1のネットワーク装置識別子又は第2のネットワーク装置識別子を選択するように構成することができる。
【0021】
コンピュータ可読記憶媒体は、方法を含む命令を記憶するように構成することができ、この方法は、第1のネットワーク装置のための第1のネットワーク装置識別子及び第2のネットワーク装置のための第2のネットワーク装置識別子を受け取るステップと、第1の属性を含む、第1のネットワーク装置識別子に基づく第1のネットワークプロファイルを取得するステップと、第2の属性を含む、第2のネットワーク装置識別子に基づく第2のネットワークプロファイルを取得するステップと、第1の属性及び第2の属性の属性分析に基づいて第1のネットワーク装置識別子又は第2のネットワーク装置識別子を選択するステップとを含む。
【0022】
様々な実施形態では、方法が、デジタル装置によって1又はそれ以上の無線ネットワークを求めて領域を走査するステップと、この1又はそれ以上の無線ネットワークに関連する1又はそれ以上のBSSIDを受け取るステップと、この1又はそれ以上のBSSIDを含む位置要求を、DNSプロトコルフォーマットのメッセージで生成するステップと、位置要求を提供するステップと、この位置要求に基づく位置応答を受け取るステップと、この位置応答から少なくとも1つの位置識別子を取り出すステップとを含む。
【0023】
位置応答は、DNSプロトコルとしてフォーマットすることができる。この方法は、位置要求の中の1又はそれ以上のBSSIDを符号化するステップ、及び/又は位置応答から取り出した少なくとも1つの位置識別子を復号するステップをさらに含むことができる。位置要求は、ネットワークアクセス装置のオープンポートを使用してネットワーク上の位置サーバに提供することができる。さらに、オープンポートは、ポート53とすることができる。少なくとも1つの位置識別子は、緯度及び経度を含むことができる。
【0024】
様々な実施形態では、この方法が、この少なくとも1つの位置識別子をデジタル装置のアプリケーションに提供するステップをさらに含むことができる。さらに、この方法は、GPS座標及び1又はそれ以上のネットワーク装置識別子をサーバに提供するステップをさらに含むことができる。
【0025】
いくつかの実施形態では、例示的なシステムが、走査モジュール、DNSモジュール、及び位置モジュールを備える。走査モジュールは、1又はそれ以上の無線ネットワークを求めて領域を走査するように構成できるとともに、この1又はそれ以上の無線ネットワークに関連する1又はそれ以上のBSSIDを受け取るように構成することができる。DNSモジュールは、1又はそれ以上のBSSIDを含む位置要求を、DNSプロトコルフォーマットのメッセージで生成するように構成することができる。位置モジュールは、位置要求に基づく位置応答を受け取るとともに、この位置応答から少なくとも1つの位置識別子を取り出すように構成することができる。
【0026】
例示的なコンピュータ可読記憶媒体は、命令を記憶するように構成することができる。この命令は方法を含むことができる。この方法は、デジタル装置によって1又はそれ以上の無線ネットワークを求めて領域を走査するステップと、この1又はそれ以上の無線ネットワークに関連する1又はそれ以上のBSSIDを受け取るステップと、この1又はそれ以上のBSSIDを含む位置要求を、DNSプロトコルフォーマットのメッセージで生成するステップと、位置要求を提供するステップと、この位置要求に基づく位置応答を受け取るステップと、この位置応答から少なくとも1つの位置識別子を取り出すステップとを含む。
【図面の簡単な説明】
【0027】
【図1】本発明の実施形態を実施できる環境を示す図である。
【図2】例示的な信用証明書サーバのブロック図である。
【図3】デジタル装置にネットワークアクセスを提供する例示的な処理のフロー図である。
【図4】例示的な信用証明書要求のブロック図である。
【図5】例示的な信用証明書要求応答のブロック図である。
【図6】ネットワーク信用証明書を提供する例示的な方法のフロー図である。
【図7】ネットワーク信用証明書を提供する例示的な方法の別のフロー図である。
【図8】ネットワーク信用証明書を受け取って記憶する例示的な方法のフロー図である。
【図9】例示的な信用証明書サーバのブロック図である。
【図10】本発明の実施形態を実施できる別の環境を示す図である。
【図11】無線ネットワークの選択を提供する例示的な処理のフロー図である。
【図12】無線ネットワークを選択する例示的な処理のフロー図である。
【図13】無線ネットワークを選択し、この選択した無線ネットワークにアクセスするための略図である。
【図14】例示的なデジタル装置のブロック図である。
【図15】DNSプロトコルフォーマットのメッセージを通じ、無線ネットワークを介して位置情報を受け取る例示的な方法のフロー図である。
【図16】例示的な位置サーバのブロック図である。
【図17】DNSプロトコルフォーマットのメッセージを通じ、無線ネットワークを介して位置情報を提供する例示的な方法のフロー図である。
【図18】ネットワークを介して位置情報を収集する例示的な方法のフロー図である。
【発明を実施するための形態】
【0028】
本発明の実施形態は、ネットワーク信用証明書を提供するためのシステム及び方法を提供する。例示的な実施形態では、信用証明書サーバが、ホットスポットにおけるデジタル装置からネットワーク信用証明書の要求を受け取る。この要求は、ホットスポットから信用証明書サーバへ中継される標準プロトコルとしてフォーマットすることができる。信用証明書サーバは、要求の中に含まれる少なくとも一部の情報に基づいてネットワーク記録を識別し、このネットワーク記録に関連する送信ネットワーク信用証明書をデジタル装置へ送信することができる。デジタル装置は、ネットワーク信用証明書を受け取り、ネットワークアクセスを取得するためにこれをネットワーク装置に提供することができる。
【0029】
様々な実施形態では、ルールサーバが、様々なネットワーク属性に基づいてデジタル装置が接続できる複数の利用可能なネットワークから好ましいネットワークを識別することができる。1つの例では、デジタル装置が、利用可能なネットワークを求めて物理的領域を走査し、利用可能な無線ネットワークのリストを生成することができる。このリストをルールサーバに提供し、このルールサーバが、リスト上の個々の無線ネットワークのネットワークプロファイルを識別して取り出すことができる。次に、ルールサーバは(個々のプロファイルに含まれる属性などを通じて)個々のネットワークプロファイルを比較して、リストから好ましいネットワークを選択することができる。その後、ルールサーバは、この時点でネットワークにアクセスできるデジタル装置へ無線ネットワーク選択を送信することができる。
【0030】
いくつかの実施形態では、デジタル装置が、信用証明書サーバにより提供された信用証明書を使用して、選択した無線ネットワークにアクセスする。1つの例では、ルールサーバが好ましい無線ネットワークを選択すると、ルールサーバ(又は、ルールサーバと通信している別のサーバ)は、選択した無線ネットワークに関連するネットワーク信用証明書を含む信用証明書要求応答を同時に(又はほぼ同時に)提供することができる。
【0031】
図1は、本発明の実施形態を実施できる環境100の図を示している。例示的な実施形態では、デジタル装置102を有するユーザがホットスポットに入る。デジタル装置102は、標準プロトコルとしての信用証明書要求を、ネットワーク装置104の向こうへ自動的に送信することができる。この信用証明書要求が信用証明書サーバ116へ転送され、この信用証明書サーバ116が、信用証明書要求の中に含まれる情報に基づいてデジタル装置102へ信用証明書要求応答を送信することができる。信用証明書要求応答はネットワーク信用証明書を含み、デジタル装置102は、これをネットワーク装置104、認証サーバ108又はアクセスコントローラ112に提供して通信ネットワーク114へのアクセスを取得することができる。
【0032】
様々な実施形態では、ホットスポットが、(「ウォールド・ガーデン(walled garden)」などの)ローカルエリアネットワーク106に結合されたネットワーク装置104、認証サーバ108、DNSサーバ110及びアクセスコントローラ112を含む。ネットワーク装置104は、デジタル装置102がローカルエリアネットワーク106を介して認証サーバ108、DNSサーバ110及びアクセスコントローラ112と通信できるようにするアクセスポイントを含むことができる。デジタル装置102は、ラップトップ、携帯電話、カメラ、携帯情報端末又はその他のあらゆるコンピュータ装置を含むことができる。認証サーバ108は、デジタル装置102を通信ネットワーク114にアクセスできるようにする前に、デジタル装置102にネットワーク信用証明書を要求するサーバである。DNSサーバ110は、ローカルエリアネットワーク106を介してDNSサービスを提供するとともに、通信ネットワーク114を横切って他のDNSサーバ(図示せず)へ要求を中継することができる。アクセスコントローラ112は、ネットワーク装置104に機能上結合された装置と、通信ネットワーク114に結合された装置との間の通信を可能にすることができるルータ又はブリッジなどのアクセス装置である。
【0033】
図1のホットスポットは、ローカルエリアネットワーク106に結合された別個のサーバを示しているが、当業者であれば、ローカルエリアネットワーク106に結合された装置(サーバ、デジタル装置、アクセスコントローラ及びネットワーク装置など)はいくつ存在してもよいことを理解するであろう。いくつかの実施形態では、ローカルエリアネットワーク106が任意である。1つの例では、認証サーバ108、DNSサーバ110、及びアクセスコントローラ112が、ネットワーク装置104に直接結合される。様々な実施形態では、認証サーバ108、DNSサーバ110、及びアクセスコントローラ112を、1又はそれ以上のサーバ、或いは1又はそれ以上のデジタル装置内で組み合わせることができる。さらに、図1は無線アクセスを示しているが、デジタル装置102は、無線で又は(10baseTなどの)有線を介してネットワーク装置104に結合することができる。
【0034】
通信ネットワーク114にアクセスするために、認証サーバ108は、デジタル装置102に、ホットスポットにアクセスするための1又はそれ以上のネットワーク信用証明書を提供するように求めることができる。ネットワーク信用証明書は、例えばホットスポットに関連するアカウント用のユーザ名及びパスワードを含むことができる。代替の実施形態では、ユーザ名及びパスワード以外のネットワーク信用証明書を利用することができる。
【0035】
例示的な実施形態によれば、デジタル装置102は、ネットワーク信用証明書を信用証明書サーバ116から動的に取得することができる。デジタル装置102は、デジタル装置102(又はデジタル装置102のユーザ)のアイデンティティ及び(ネットワーク装置104又はWi−Fiサービス提供者名などの)ネットワーク装置104に関する詳細を含む信用証明書要求を信用証明書サーバ116へ送信することができる。
【0036】
1つの例では、デジタル装置102がホットスポットに入る際に、ネットワーク装置104は、DNSクエリを提出できる相手先のIPアドレスを、例えばDHCP(動的ホスト構成プロトコル)を介して提供することができる。信用証明書要求は、標準プロトコルとしてフォーマットすることができる。一例では、信用証明書要求をDNS要求としてフォーマットすることができる。信用証明書要求は、(アクセスコントローラ112などの)ネットワークインフラが要求を阻止しないように、(TXTなどの)標準記録形式を含むテキスト記録要求とすることができる。ネットワーク信用証明書を取得する処理に関するさらなる詳細が、2007年9月6日に出願された「ネットワーク信用証明書を取得するためのシステム及び方法」という名称の同時係属中米国特許出願第11/899,697号に記載されており、該特許出願は引用により本明細書に組み入れられる。
【0037】
いくつかの実施形態では、信用証明書要求がDNSサーバ110によって受け取られ、このDNSサーバ110が、ネットワーク信用証明書を求めて信用証明書要求を信用証明書サーバ116へ転送することができる。例示的な実施形態では、信用証明書サーバ116が検索を実行して(単複の)適切なネットワーク信用証明書を決定してDNSサーバ110へ返送し、このDNSサーバ110が、要求元のデジタル装置102へネットワーク信用証明書を返送することができる。様々な実施形態では、(単複の)適切なネットワーク信用証明書が、信用証明書サーバ116から信用証明書要求の送信と同じ経路を介してデジタル装置102へ送信される。
【0038】
図1には1つのDNSサーバ110しか示していないが、信用証明書要求が信用証明書サーバ116によって受け取られる前に、限定するわけではないが、DNSサーバを含むあらゆる数のサーバを介して信用証明書要求を転送することができる。他の実施形態では、信用証明書要求が、ネットワーク装置104から信用証明書サーバ116へ直接転送される。
【0039】
いくつかの実施形態では、信用証明書サーバ116からの信用証明書要求応答が、ユーザ名、パスワード及び/又はログイン手順情報を含むことができる。ログイン手順情報は、例えばHTML形式要素名、提出URL又は提出プロトコルを含むことができる。いくつかの実施形態では、信用証明書サーバ116が、ネットワーク信用証明書応答をデジタル装置102へ送信する前に、デジタル装置102に関連する暗号鍵を使用して暗号化することができる。
【0040】
デジタル装置102がネットワーク信用証明書応答を受け取ると、デジタル装置102は、ネットワーク装置104に(ネットワーク信用証明書応答から取り出した)ネットワーク信用証明書を認証応答の形で提出することができる。例示的な実施形態では、検証のために認証応答を認証サーバ108へ転送することができる。いくつかの実施形態では、認証サーバ108が、AAAサーバ又はRADIUSサーバを含むことができる。2007年9月6日に出願された「ネットワークアクセスを取得するシステム及び方法」という名称の同時係属中米国特許出願第11/899,638号に、ネットワークアクセスを取得する処理に関するさらなる詳細が記載されており、該特許出願は引用により本明細書に組み入れられる。
【0041】
なお、図1は例示的なものである。代替の実施形態は、より多くの、より少ない、又は機能的に同等の構成要素を含むことができるが、これもまた本実施形態の範囲内にある。例えば、前述したように、(DNSサーバ110、信用証明書サーバ116及び認証サーバ108などの)様々なサーバの機能を組み合わせて1つ又は2つのサーバにすることができる。すなわち、例えば認証サーバ108及びDNSサーバ110を同じサーバで構成できる場合、認証サーバ108、DNSサーバ110及びアクセスコントローラ112の機能を組み合わせて単一の装置にすることができる。
【0042】
図2は、例示的な信用証明書サーバ116のブロック図である。信用証明書サーバ116は、認証モジュール200、ネットワークモジュール202、信用証明書要求モジュール204、信用証明書要求応答モジュール206、暗号化/解読モジュール208、ネットワーク記録ストレージ210、及び暗号鍵ストレージ212を含む。モジュールは、ソフトウェア、ハードウェア、ファームウェア又は回路を個別に又は組み合わせて含むことができる。
【0043】
認証モジュール200は、信用証明書要求を認証して信用証明書要求応答にセキュリティを与えるように構成することができる。様々な実施形態では、デジタル装置102が、(共有暗号鍵又は鍵対の一部である暗号鍵などの)暗号鍵を使用して信用証明書要求を暗号化し、又は信用証明書要求にデジタル署名することができる。認証モジュール200は、暗号鍵ストレージ212から取り出した適切な暗号鍵で信用証明書要求を解読することにより、信用証明書要求を認証することができる。1つの例では、デジタル装置102が信用証明書要求のハッシュを生成し、信用証明書要求の暗号化部分の中にハッシュを記憶する。認証モジュール200は、信用証明書要求を解読し、信用証明書要求応答のハッシュを生成し、生成したハッシュを信用証明書要求の中に含まれるハッシュと比較して認証を行うことができる。
【0044】
他の実施形態では、デジタル装置102がナンス(すなわちランダム値)を生成し、デジタル署名された信用証明書要求の一部の中にナンスを記憶することができる。認証モジュール200は、デジタル署名を解読して信用証明書要求を認証し、ナンスを取り出すことができる。様々な実施形態では、信用証明書要求応答モジュール206が信用証明書要求応答を生成する(後述)際に、認証モジュール200が信用証明書要求応答にナンスを含めることができる。その後、認証モジュール200又は暗号化/解読モジュール208は、信用証明書要求応答を暗号化することができる。デジタル装置102が信用証明書要求応答を解読する場合、デジタル装置102は、信用証明書要求応答からナンスを取り出し、このナンスを、信用証明書要求に含めて送信したナンスと比較してさらなる認証を行うことができる。
【0045】
ネットワークモジュール202は、信用証明書要求を受け取り、通信ネットワーク114を介して信用証明書要求応答を送信するように構成することができる。
【0046】
信用証明書要求モジュール204は、ネットワークモジュール202から信用証明書要求を受け取ることができる。信用証明書要求は標準プロトコルとすることができる。1つの例では、信用証明書要求が(DNSなどの)UDPプロトコルである。
【0047】
例示的な実施形態では、信用証明書要求モジュール204が、信用証明書要求からDDID及びSSIDを取り出すことができる。DDIDは、デジタル装置102、デジタル装置102のユーザ、及び/又はネットワーク記録に関連するユーザを識別することができる。SSIDは、ホットスポット又はホットスポットのサービスプロバイダ(すなわち運営会社)を識別することができる。
【0048】
信用証明書要求モジュール204又は信用証明書要求応答モジュール206は、DDID及びSSIDに基づいてネットワーク記録を識別することができる。ネットワーク記録とは、DDID及びSSIDに((リレーショナルデータベースのように)直接的に又は間接的に)関連する記録のことである。1つの例では、ネットワーク記録が、SSIDに関連するホットスポットにおいてDDIDに関連するデジタル装置102にネットワークアクセスを提供するのに必要なネットワーク信用証明書を含む。ネットワーク記録は、ネットワーク記録ストレージ210内に記憶することができる。
【0049】
信用証明書要求応答モジュール206は信用証明書要求応答を生成することができる。様々な実施形態では、信用証明書要求応答モジュール206が、ネットワーク記録からDDID及びSSIDに関連するネットワーク信用証明書を受け取る。いくつかの実施形態では、ネットワーク信用証明書が、クレジットカード番号を含むことができる。1つの例では、デジタル装置102が、ネットワーク信用証明書を受け取り、クレジットカード番号を取り出して、このクレジットカード番号を認証サーバ108に提供する。いくつかの例では、その後、認証サーバ108が、クレジットカード番号に関連するクレジットカードに料金を請求し、或いはこの情報を使用して、ネットワークアクセスを認める前にユーザのアイデンティティを確認することができる。
【0050】
さらに、様々な実施形態では、ネットワーク信用証明書がログイン手順情報を含むことができる。1つの例では、信用証明書がユーザ名及びパスワードを含み、これらがデジタル装置102によって認証サーバ108から取り出された(認証フォームなどの)フォームで提供されることになる。いくつかの実施形態では、ログイン手順情報によってデジタル装置102に、フォーム内の特定のフィールドにネットワーク信用証明書を読み込んだ後で、完成したフォームを認証サーバ108に提出するように指示することができる。当業者であれば、信用証明書を認証サーバ108に提供するための方法は数多く存在することを理解するであろう。認証サーバに信用証明書を提供する処理は、2007年9月6日に出願された「ネットワークアクセスを取得するシステム及び方法」という名称の同時係属中米国特許出願第11/899,638号にさらに記載されている。
【0051】
信用証明書要求応答モジュール206又は暗号化/解読モジュール208は、DDID又は信用証明書要求に関連する暗号鍵で信用証明書要求応答を暗号化することができる。1つの例では、信用証明書サーバ116が1又はそれ以上の共有暗号鍵を記憶する。少なくとも1つのデジタル装置102により、個々の共有暗号鍵を共有することができる。信用証明書要求応答モジュール206は、デジタル装置102に関連する共有暗号鍵で信用証明書要求応答を暗号化することができる(例えば、共有暗号鍵をDDIDに関連付けることができる)。信用証明書要求応答モジュール206又は暗号化/解読モジュール208は、鍵対の一部である暗号鍵で信用証明書要求を暗号化することもできる。暗号化/解読モジュール208が信用証明書要求を暗号化する方法は、数多く存在し得る。
【0052】
暗号化/解読モジュール208は、信用証明書要求を解読して信用証明書要求応答を暗号化することができる。上述したように、暗号化/解読モジュール208は、信用証明書要求のデジタル署名を解読することができる。1つの例では、暗号化/解読モジュール208が、信用証明書要求の中に含まれるDDIDに関連する暗号鍵に基づいてデジタル署名を解読する。暗号化/解読モジュール208は、信用証明書要求応答を暗号化することもできる。1つの例では、暗号化/解読モジュール208が、(共有暗号鍵又は鍵対の一部である暗号鍵などの)DDIDに関連する暗号鍵に基づいて信用証明書要求応答を暗号化する。
【0053】
様々な実施形態では、暗号化/解読モジュール208が、ネットワーク記録ストレージ210に含まれるネットワーク記録を暗号化して、暗号鍵ストレージ212を管理することができる。暗号化/解読モジュール208はまた、ネットワーク信用証明書を記憶する際に、(SSL及びHTTPなどを介して)デジタル装置と安全な通信を確立することもできる。この処理については図7でさらに説明する。いくつかの実施形態によれば、暗号化/解読モジュール208を任意とすることができる。
【0054】
ネットワーク記録ストレージ210及び暗号鍵ストレージ212は、ネットワーク記録及び暗号鍵をそれぞれ記憶することができる。ネットワーク記録ストレージ210及び暗号鍵ストレージ212は、1又はそれ以上のデータベースを含むことができる。1つの例では、ネットワーク記録ストレージ210がネットワーク記録を記憶することができる。ネットワーク記録は、DDID、SSID及びネットワーク信用証明書を含むことができる。ネットワーク記録はまた、ユーザがネットワーク記録にアクセスし、これらを変更、更新し、又は信用証明書サーバ116に記憶するためのユーザ名及びパスワードを含むこともできる。
【0055】
様々な実施形態では、ネットワーク記録により、複数のデジタル装置102が同じネットワーク信用証明書を使用できるようにすることもできる。1つの例では、ユーザが複数のデジタル装置102を所有することができる。各々が異なるデジタル装置102に関連する複数のDDIDを、同じネットワーク記録に含めることができる。いくつかの実施形態では、複数の装置を1又はそれ以上のネットワーク記録に関連付けることができ、この1又はそれ以上のネットワーク記録がユーザに関連する。この結果、ユーザは、あらゆる数のデジタル装置102を使用して、ホットスポットに対してネットワーク信用証明書を取り出すことができる。当業者であれば、ネットワーク記録及び/又はこれに含まれる情報を記憶して体系化することができる方法(例えば、異なるデータ構造、データベース、記録、体系化方式及び/又は方法)は数多く存在することを理解するであろう。
【0056】
図3は、デジタル装置102にネットワークアクセスを提供する例示的な処理のフロー図である。ステップ300において、デジタル装置102は、最初にホットスポットに入る際に、ローカルエリアネットワーク106を求めて走査を行うことができる。走査の結果、ステップ302において、ネットワーク装置104がネットワーク構成情報を提供することができる。このネットワーク構成情報は、DNSサーバ110にアクセスするための1又はそれ以上のIPアドレスを含むことができる。
【0057】
ステップ304において、デジタル装置102が信用証明書要求を生成する。その後、ステップ306において、先程ネットワーク装置104から受け取ったIPアドレスの1つを使用して、信用証明書要求をDNSサーバ110へ送信することができる。
【0058】
ステップ308において、信用証明書要求に基づいて、DNSサーバ110が信用証明書サーバ116を識別する。他の実施形態では、DNSサーバ110が、信用証明書要求を信用証明書サーバ116へ転送する。DNSサーバ110がDNS要求をローカルに解析できない場合、信用証明書要求は(ポート53などを介して)通信ネットワーク114上の別のDNSサーバに転送され、その後、このDNSサーバが、信用証明書要求を信用証明書サーバ116へ転送することができる。ステップ310において、信用証明書要求が、信用証明書サーバ116へ直接、又は通信ネットワーク114上の1又はそれ以上のDNSサーバを介して間接的に転送される。
【0059】
ステップ312において、信用証明書サーバ116が、信用証明書要求に基づいて必要とされるネットワーク信用証明書を識別する。例えば、信用証明書要求は、デジタル装置102の識別子(すなわちDDID)、並びにホットスポットSSID(例えば、運営会社などのサービスプロバイダ)の識別子を含むことができる。信用証明書要求モジュール204又は信用証明書要求応答モジュール206により、これらの識別子を(ネットワーク記録などの)このような識別子の表と比較して、適切なネットワーク信用証明書を決定することができる。その後、ステップ314において、信用証明書要求応答モジュール206が信用証明書要求応答を生成し、ステップ316において、これがDNSサーバ110へ中継して戻される。ステップ318において、DNSサーバ110が、信用証明書要求応答をデジタル装置へ転送する。
【0060】
その後、ステップ320において、デジタル装置102が、信用証明書要求応答からネットワーク信用証明書を取り出すことができる。その後、ステップ322において、このネットワーク信用証明書をネットワーク装置104に提供することができる。ステップ324において、ネットワーク装置104が、ネットワーク信用証明書を確認した上でデジタル装置102にネットワークアクセスを提供する。
【0061】
ここで図4を参照すると、例示的な信用証明書要求400をより詳細に示している。例示的な実施形態によれば、信用証明書要求応答モジュール204が信用証明書要求応答400を生成することができる。1つの実施形態では、信用証明書要求400を、位置識別子402、シーケンス識別子404、署名406、DDID408、サービスセット識別子(SSID)410、及びバージョン識別子412を含む構造を有するDNS文字列とすることができる。
【0062】
任意の位置識別子402は、デジタル装置102、ネットワーク装置104、認証サーバ108又はアクセスコントローラ112の物理的又は地理的位置を示すことができる。様々な実施形態では、信用証明書サーバ116が位置識別子402を使用して、ホットスポットの使用状況、デジタル装置102のユーザ、及びデジタル装置102を追跡することができる。
【0063】
シーケンス識別子404は、その後の信用証明書サーバ116への要求に対応してログインが成功したかどうかを判定するために使用されるあらゆる数字又数字の組を含むことができる。すなわち、シーケンス識別子404は相関機構を提供し、この相関機構により信用証明書サーバ116がログイン処理を確認することができる。
【0064】
例示的な実施形態では、署名406が、なりすましを防ぐために利用される暗号署名(すなわちデジタル署名)を含む。デジタル装置102からの要求の署名406は、信用証明書サーバ116により検証される。署名406が有効でなければ、この要求は信用証明書サーバ116により拒絶される。
【0065】
DDID408は、デジタル装置102の識別子を含む。例えば、DDID408は、デジタル装置102のMACアドレス又はその他のいずれかの識別子を含むことができる。
【0066】
SSID410は、ネットワークアクセスポイント又はWi−Fiサービスプロバイダの識別子を含む。例えば、SSID410は、サービスプロバイダ名、又はネットワーク装置104が動作している場所の名前を含むことができる。
【0067】
バージョン識別子412は、信用証明書要求400のプロトコル又はフォーマットを識別することができる。例えば、デジタル装置102は、信用証明書要求400を生成し、データをいくつかの異なるフォーマットで体系化することができる。個々の異なるフォーマットを異なるバージョン識別子に関連付けることができる。いくつかの実施形態では、信用証明書要求応答モジュール206の構成要素を更新し、再構成し、又は徐々に変更することができ、これが信用証明書要求400の構造に影響を与え得る。この結果、信用証明書サーバ116は、別様にフォーマットされた複数の信用証明書要求400を受け取ることができる。信用証明書サーバ116は、それぞれのバージョン識別子に基づいて、個々の信用証明書要求が必要とする情報にアクセスすることができる。
【0068】
図5は、例示的な信用証明書要求応答のブロック図である。例示的な実施形態によれば、信用証明書要求応答モジュール206が、信用証明書要求応答500を生成することができる。1つの実施形態では、信用証明書要求応答500が暗号化テキスト502を含むことができる。暗号化テキストは、任意のナンス504及び信用証明書情報506を含むことができる。信用証明書情報は、鍵/値の対508〜510を含むことができる。
【0069】
上述したように、信用証明書要求応答を、暗号化テキスト502を含むDNS応答としてフォーマットすることができる。暗号化テキスト502は、(ユーザ名、パスワード及びログイン手順情報などの)ネットワーク信用証明書を含む。信用証明書要求応答500を、暗号化テキスト502を含むように示しているが、信用証明書要求応答500内のテキストを暗号化する必要はない。
【0070】
暗号化テキスト502は、ナンスを含むことができる。上述したように、このナンスは、信用証明書要求から取り出すことができる。デジタル装置102は、信用証明書要求応答500を受け取ると、信用証明書要求応答500内のナンスを、信用証明書要求に含めて送信したナンスと比較して認証を行うことができる。図5では、ナンスを信用証明書要求応答500に含まれた形で示しているが、ナンスは任意である。
【0071】
信用証明書情報506は、ユーザ名、パスワード、ログイン手順情報、又はこれらの組み合わせを含むことができる。信用証明書情報506は鍵/値の対508〜510を含むことができる。信用証明書情報506内にはあらゆる数の鍵/値の対が存在することができる。鍵/値の対は、デジタル装置102が受け取って解釈する信用証明書情報を表すことができる。信用証明書情報506を鍵/値の対として示すのは例示目的にすぎず、信用証明書情報は、必ずしも鍵/値の対に限定されないあらゆるフォーマットとすることができる。
【0072】
図6は、ネットワーク信用証明書を提供する例示的な方法のフロー図である。ステップ602において、信用証明書サーバ116が、デジタル装置102から信用証明書要求を受け取る。
【0073】
様々な実施形態では、信用証明書サーバ116が、デジタル署名を暗号鍵で解読して認証する。その後、ステップ604において、信用証明書サーバ116が、ネットワーク記録に含まれるDDID及びSSIDに基づいてネットワーク記録を識別することができる。1つの例では、信用証明書要求応答モジュール206が、信用証明書要求の中のDDIDに関連する1又はそれ以上のネットワーク記録を取り出す。その後、信用証明書要求応答モジュール206は、取り出した(単複の)ネットワーク記録内のSSIDに関連する少なくとも1つのネットワーク信用証明書を識別する。
【0074】
ステップ606において、信用証明書要求応答モジュール206が、選択したネットワーク記録から、識別した(単複の)ネットワーク信用証明書を取り出す。1つの例では、信用証明書要求応答モジュール206が、デジタル装置102のユーザがネットワークアクセスを取得するために認証サーバ108に提供しなければならないユーザ名及びパスワードを識別する。ステップ608において、信用証明書要求応答モジュール206が、(ユーザ名、パスワードなどの)ネットワーク信用証明書を含む信用証明書要求応答をデジタル装置102に対して生成する。
【0075】
いくつかの実施形態では、信用証明書要求応答モジュール206が、ネットワーク信用証明書の一部としてログイン手順情報を識別することができる。信用証明書要求応答モジュール206は、(SSIDに関連するパスワードを含む同じネットワーク記録などの)ネットワーク記録からログイン手順情報を取り出すことができる。ログイン手順情報は、ネットワークアクセスを取得するためにデジタル装置102が従うためのフォーム識別子及び(パラメータなどの)命令を含むことができる。1つの例では、デジタル装置102が、信用証明書要求応答の中のネットワーク信用証明書からフォーム識別子及び命令を取り出す。デジタル装置102は、このフォーム識別子及び命令に基づいて、認証サーバ108及び入力データから受け取ったフォームを識別することができる。別の例では、デジタル装置102が、信用証明書要求応答に含まれるログイン手順情報に基づいて、ネットワークアクセスを取得するための情報を認証サーバ108に提供する。認証サーバ108に情報を提供する処理は、2007年9月6日に出願された「ネットワークアクセスを取得するシステム及び方法」という名称の米国特許出願第11/899,638号にさらに記載されている。
【0076】
図7は、ネットワーク信用証明書を提供するための例示的な方法の別のフロー図である。デジタル装置102は、ネットワーク装置104を介して利用可能な無線ネットワークを検索し、これを発見することができる。ステップ702において、デジタル装置102は、ホットスポットに接続している間にネットワーク構成情報を受け取ることができる。ネットワーク構成情報は、ネットワーク装置104又はDNSサーバ110の識別子を含むことができる。1つの例では、デジタル装置102が、接続処理中に(DNSサーバ110などの)DNSサーバのIPアドレスを受け取る。
【0077】
ステップ704において、デジタル装置102が信用証明書要求を生成する。この信用証明書要求は、シーケンス識別子、DDID及びSSIDを含むことができる。ステップ706において、デジタル装置102が任意にナンスを生成し、暗号鍵を使用して信用証明書要求にデジタル署名する。ステップ708において、デジタル装置102が、信用証明書要求を標準プロトコルとして送信する。ネットワーク装置104は、信用証明書要求を受け取って通信ネットワーク114へ転送することができる。様々な実施形態では、ネットワーク装置104が、信用証明書要求をDNSサーバ110に提供し、このDNSサーバ110が、信用証明書要求を信用証明書サーバ116へ転送することができる。
【0078】
例示的な実施形態では、信用証明書サーバ116の信用証明書要求モジュール204が信用証明書要求を受け取る。信用証明書要求モジュール204は、信用証明書サーバ内のDDIDに関連する暗号鍵を暗号鍵ストレージ212から取り出すことができる。その後、信用証明書要求モジュール204は、信用証明書要求のデジタル署名を解読して認証を行うことができる。信用証明書要求モジュール204は、信用証明書要求からナンス及びシーケンス識別子をさらに取り出すことができる。
【0079】
その後、信用証明書サーバ116の信用証明書要求応答モジュール206は、ネットワーク記録ストレージ210からDDID及びSSIDに関連するネットワーク記録を取り出すことができる。信用証明書要求応答モジュール206は、ネットワーク記録からネットワーク信用証明書を取り出して信用証明書要求応答を生成する。信用証明書要求応答は、ネットワーク信用証明書及びナンスを含むことができる。暗号化/解読モジュール208は、暗号鍵ストレージ212から取り出したDDIDに関連する暗号鍵を使用して、信用証明書要求応答を暗号化することができる。いくつかの実施形態では、信用証明書要求応答が(DNSなどの)標準プロトコルとしてフォーマットされる。
【0080】
ステップ710において、デジタル装置102が信用証明書要求応答を受け取る。その後、ステップ712において、デジタル装置102が信用証明書要求応答を認証する。1つの例では、デジタル装置102が、信用証明書要求にデジタル署名するために使用するものと同じ暗号鍵を使用して信用証明書要求応答を解読する。デジタル装置102は、信用証明書要求応答内のナンスをさらに取り出し、このナンスを、信用証明書要求に含めて送信したナンスと比較してさらに認証を行うことができる。信用証明書要求応答が本物であると判明した場合、ステップ714において、デジタル装置102が、信用証明書要求応答からネットワーク信用証明書を取り出す。
【0081】
ステップ716において、デジタル装置102が、ネットワークアクセスに関連する認証要件を識別する。様々な実施形態では、デジタル装置102が、認証サーバ108に提供するのに適した情報及びネットワーク信用証明書を決定する。1つの例では、デジタル装置102が、認証サーバ108から1又はそれ以上のネットワークアクセスページを取り出す。デジタル装置102は、認証サーバからの正しいネットワークアクセスページにアクセスして自動的に選択を行うことができる。1つの例では、デジタル装置102が、選択を自動的に起動する(例えば、ネットワークアクセスページ内のボタンを起動する、ボックスをチェックする、及びラジオボタンを選択する)ことができる。
【0082】
例えば、信用証明書要求応答モジュール206は、ネットワークアクセスページ内の自動選択のための命令をデジタル装置102に提供することができる。本明細書で説明したように、ネットワークアクセスページは、認証サーバ108から取り出した1又はそれ以上のウェブページ、1又はそれ以上のタグ、又はこれらの両方の組み合わせを含むことができる。1つの例では、デジタル装置102内のソフトウェアが、ネットワークアクセスページ内の全ての選択ボックスに自動的にチェックを入れることができる。その後、デジタル装置102は、ログイン手順情報に基づいて選択ボックスのチェックを外すことができる。当業者であれば、自動的に選択を行えるようにする方法は数多く存在できることを理解するであろう。他の実施形態では、デジタル装置102が、認証サーバ108からXMLタグを受け取る。デジタル装置102は、ログイン手順情報の中のXMLタグ及び命令に基づく情報を認証サーバ108に提供してネットワークアクセスを取得することができる。
【0083】
ステップ718において、デジタル装置102が、ネットワーク装置104にネットワーク信用証明書を提供して通信ネットワーク114へのネットワークアクセスを取得する。1つの例では、信用証明書要求応答モジュール206が、認証サーバ108から1又はそれ以上のフォームを取り出し、フォームに1又はそれ以上のネットワーク信用証明書を読み込んで、完成したフォームを認証サーバ108に提供する。別の例では、信用証明書要求応答モジュール206が、必要に応じて認証サーバ108にネットワーク信用証明書を提供する。認証サーバ108は、ネットワーク信用証明書を受け取ると、デジタル装置102と通信ネットワーク114の間の通信を可能にすることができる。1つの例では、認証サーバ108が、アクセスコントローラ112に、デジタル装置102の通信ネットワーク114へのアクセスを許可するように命令する。
【0084】
その後、デジタル装置102は、ネットワーク接続性をテストしてネットワークアクセスを確認することができる。1つの例では、デジタル装置102が、通信ネットワーク114を利用できるかどうかを判定するための要求を信用証明書サーバ116へ送信する。いくつかの実施形態では、クエリ又はコマンドが、以前に信用証明書要求に含めて提出したシーケンス識別子を含む。ネットワークアクセスが成功した場合、信用証明書サーバ116は、この要求を受け取ってシーケンス識別子を取り出すことができる。この結果、信用証明書サーバ116は、ネットワークアクセスが成功したことを確認することができる。
【0085】
図8は、ネットワーク信用証明書を受け取って記憶するための例示的な方法のフロー図である。様々な実施形態では、ユーザが、ネットワーク記録を作成して信用証明書サーバ116に記憶することができる。例えば、信用証明書サーバ116は、ユーザがネットワーク記録を作成、記憶、更新、削除、及び修正できるようにするグラフィカルユーザインターフェイス(GUI)を提供する信用証明書記憶モジュール(図示せず)を含むことができる。
【0086】
ステップ802において、信用証明書サーバ116が、ユーザにネットワーク信用証明書要求フォームを提供する。1つの例では、信用証明書サーバ116が、ネットワーク信用証明書要求フォームを、インターネットを介して1又はそれ以上のウェブページとしてユーザに提供する。ネットワーク信用証明書要求フォームは、(運営会社名などの)サービスプロバイダ名及び/又はSSID及びネットワーク信用証明書を受け取るように構成される。
【0087】
サービスプロバイダ名は、ホットスポット、ホットスポットに関する1又はそれ以上の構成要素(例えばネットワーク装置104)、又はローカルエリアネットワーク106のインフラを運営するエンティティ名を含むことができる。いくつかの実施形態では、サービスプロバイダ名が、別のサービスプロバイダの1又はそれ以上のホットスポットを管理する組織名を含む。1つの例では、たとえホットスポットに異なるサービスプロバイダが存在していても、コーヒーショップ及び書店は、両方とも第三の管理者を使用してホットスポットを管理することができる。いくつかの実施形態では、ネットワーク信用証明書要求フォームを、第三の管理者名を受け取るように構成することができる。いくつかの実施形態では、サービスプロバイダ名が、ホットスポットネットワークへのアクセスを再販する組織(アグリゲータなど)の名前を含む。
【0088】
ネットワーク信用証明書要求フォームは、ネットワークサービス選択としてSSIDを受け取ることもできる。1つの例では、ネットワーク信用証明書要求フォームが、異なるサービスプロバイダのプルダウンメニュー及び/又はユーザが選択できるホットスポットを含む。例えば、ユーザは、ホットスポットとして「スターバックス」又は「サンフランシスコ国際空港」を選択することができる。ユーザには、ホットスポットの地理的位置などに対するさらなる選択肢を与えることができる。ユーザは、サービスプロバイダを選択することもできる。例えば、ユーザは、サービスプロバイダとして「T−Mobile」を選択することができる。この結果、ネットワーク信用証明書要求フォームは、ユーザがT−mobileに関連する1又はそれ以上の様々なホットスポットの中から選択を行えるようにすることができる。その後、これらの(単複の)選択をネットワーク記録として記憶することができる。或いは、(単複の)選択に関連するネットワークサービス識別子がSSIDとして生成される。
【0089】
さらに、ネットワーク信用証明書要求フォームは、ユーザからネットワーク信用証明書を受け取ることができる。例えば、ユーザは、ネットワーク信用証明書要求フォームの中に、ネットワーク信用証明書としてユーザ名、パスワード、パスコードを入力することができる。いくつかの実施形態では、ネットワーク信用証明書要求フォームが、SSIDを受け取った後で、必要なネットワーク信用証明書の種類を決定する。例えば、ネットワーク信用証明書要求フォームは、ユーザが先程選択したサンフランシスコ国際空港のホットスポットにおいてネットワークにアクセスするために必要な情報を識別する。その後、ネットワーク信用証明書要求フォームは、ユーザがこのホットスポットにおいてネットワークアクセスを取得するために必要な(ユーザ名、パスワードなどの)情報のみを入力できるようにするフィールド又は選択肢を生成する。
【0090】
信用証明書サーバ116はまた、ネットワーク信用証明書要求フォームを受け取る前に登録を行うことをユーザに求めることもできる。登録中、ユーザは、サービス条件に同意して顧客情報を入力する必要がある。顧客情報は、信用証明書サーバ116にアクセスしてネットワーク信用証明書を記憶するためのユーザ名及びパスワードを含む。任意に、顧客情報は、ユーザの住所、連絡先情報、及び信用証明書サーバ116により提供されるサービスをユーザが使用するための支払い選択肢を含むことができる。
【0091】
ステップ804において、信用証明書サーバ116が、ネットワーク信用証明書要求フォームを介して顧客情報及びネットワークサービスの選択を受け取る。ステップ806において、信用証明書サーバが、ネットワーク信用証明書を取り出すことができる。ステップ808において、信用証明書サーバ116が顧客情報を受け取る。ステップ810において、信用証明書サーバ116が、ネットワーク信用証明書を顧客情報、ネットワークサービスの選択、及び(単複の)ネットワーク信用証明書と関連付けてネットワーク記録を作成する。その後、ステップ812において、ネットワーク記録が記憶される。
【0092】
いくつかの実施形態では、ユーザが、インターネットを介して信用証明書サーバ116に手動でアクセスすることができる。他の実施形態では、ユーザが、ネットワーク信用証明書ソフトウェアをダウンロードしてデジタル装置102上にインストールすることができる。このネットワーク信用証明書ソフトウェアは、デジタル装置102のDDIDを識別して信用証明書サーバ116へ送ることができる。他の実施形態では、デジタル装置102上にネットワーク信用証明書ソフトウェアをプリインストールすることができる。デジタル装置102がネットワーク信用証明書ソフトウェアを最初に起動する際に、ネットワーク信用証明書ソフトウェアが、デジタル装置102のDDID識別して信用証明書サーバへ送ることができる。
【0093】
ユーザは、ネットワーク信用証明書ソフトウェアにSSIDを入力する(例えば、サービスプロバイダ又はホットスポットを識別する)ことができる。ユーザは、ネットワーク信用証明書ソフトウェアにネットワーク信用証明書を入力することもできる。ネットワーク信用証明書ソフトウェアは、DDID、SSID及びネットワーク信用証明書を取得した後で、この情報を信用証明書サーバ116にアップロードし、信用証明書サーバ116は、この情報をネットワーク記録に記憶することができる。様々な実施形態では、ネットワーク信用証明書ソフトウェアを信用証明書サーバ116からダウンロードすることができる。
【0094】
図9は、例示的なデジタル装置のブロック図である。信用証明書サーバ116は、プロセッサ900、メモリシステム902、記憶システム904、入出力インターフェイス906、通信ネットワークインターフェイス908、及びディスプレイインターフェイス910を含む。プロセッサ900は、(プログラムなどの)実行可能命令を実行するように構成される。いくつかの実施形態では、プロセッサ900が、実行可能命令を処理できる回路又はいずれかのプロセッサを含む。
【0095】
メモリシステム902は、データを記憶するように構成されたいずれかのメモリである。メモリシステム902のいくつかの例として、RAM又はROMなどの記憶装置がある。メモリシステム902は、ラムキャッシュを含むことができる。様々な実施形態では、メモリシステム902にデータが記憶される。メモリシステム902内のデータは、クリア又は最終的に記憶システム904に伝送することができる。
【0096】
記憶システム904は、データを取り出して記憶するように構成されたいずれかのストレージである。記憶システム904のいくつかの例として、フラッシュドライブ、ハードドライブ、光ドライブ及び/又は磁気テープがある。いくつかの実施形態では、信用証明書サーバ116が、RAMの形のメモリシステム902及びフラッシュデータの形の記憶システム904を含む。メモリシステム902及び記憶システム904はいずれも、プロセッサ900などのコンピュータプロセッサにより実行可能な命令又はプログラムを記憶できるコンピュータ可読媒体を含む。
【0097】
任意の入出力(I/O)インターフェイス906は、ユーザから入力を受け取ってデータを出力するいずれかの装置である。任意のディスプレイインターフェイス910は、グラフィクス及びデータをディスプレイに出力するように構成されたいずれかの装置である。1つの例では、ディスプレイインターフェイス910がグラフィックアダプタである。全てのデジタル装置102が、入出力インターフェイス906又はディスプレイインターフェイス910を含むとは限らないと理解されたい。
【0098】
通信ネットワークインターフェイス(com. network interface)908は、リンク912を介して(ローカルエリアネットワーク106及び通信ネットワーク114などの)ネットワークに結合することができる。通信ネットワークインターフェイス908は、例えば、イーサネット(登録商標)接続、シリアル接続、パラレル接続又はATA接続を介して通信をサポートすることができる。通信ネットワークインターフェイス908は、(802.11/b/g/n、WiMaxなどの)無線通信をサポートすることもできる。当業者には、通信ネットワークインターフェイス908が多くの有線及び無線標準をサポートできることが明らかであろう。
【0099】
様々な実施形態では、満足のいくサービス品質を実現するために、デジタル装置が様々なルールに基づいて複数の利用可能な無線ネットワークから利用可能な無線ネットワークを自動的に選択してアクセスできるようにするシステム及び方法について説明する。このようなルールを、デジタル装置自体の中で、デジタル装置と通信しているサーバ上で、又はこれらの両方の組み合わせで実施することができる。様々な実施形態では、無線ネットワークは、デジタル装置とインターネットなどの通信ネットワークとの間の無線アクセスを可能にするネットワークである。
【0100】
いくつかの実施形態によれば、(Wi−Fi通信が可能なデジタル装置などの)無線デジタル装置のユーザが、ウェブサーバ上にアカウントを作成し、このアカウントを使用して1又はそれ以上の(コンピュータ、ラップトップ、携帯情報端末及び携帯電話などの)デジタル装置を登録する。登録されたデジタル装置を管理して、HTTPなどのネットワーク通信メカニズムを介して(プロファイルサーバ又は信用証明書サーバなどの)中央サーバによりネットワーク記録が提供されるようにすることができる。
【0101】
図10は、本発明の実施形態を実施できる別の環境を示す図である。様々な実施形態では、デジタル装置1002を有するユーザが、ネットワーク装置1004及び1006の近くに存在する領域に入る。1つの例では、ネットワーク装置1004及び1006が別個のアクセスポイントであり、これらの各々を使用して、デジタル装置1002と通信ネットワーク1008の間の通信を確立することができる。
【0102】
デジタル装置1002は、デジタル装置1002を取り巻く領域を走査し、2つのネットワーク装置1004及び1006を検出し、デジタル装置1002が通信を確立できる利用可能な無線ネットワークのリストを生成することができる。いくつかの実施形態では、利用可能な無線ネットワークのリストが、ネットワーク装置1004及び1006のDDID識別子、SSID識別子及び/又はBBSID識別子を含む。
【0103】
その後、デジタル装置1002は、この利用可能な無線ネットワークのリストをルールサーバ1010に提供する。1つの例では、デジタル装置1002が、利用可能な無線ネットワークのリストを、ネットワーク装置1004又はネットワーク装置1006のオープンポートに対する標準プロトコルとして通信ネットワーク1008に提供し、最終的にはルールサーバ1010に提供する。別の例では、デジタル装置1002が、図示していないセルラ通信ネットワークなどの別のネットワークを介して(CDMA、GSM(登録商標)、3G、又はEVDOなどを介して)利用できる無線ネットワーク、又は(Wi−Fi、Wimax又はLTEネットワークなどの)その他の無線ネットワークをのリストを提供する。
【0104】
ルールサーバ1010は、利用可能な無線ネットワークのリストを受け取り、リスト内で識別された個々の無線ネットワークのネットワークプロファイルを取り出すことができる。ネットワークプロファイルとは、無線ネットワークに関連するとともに、この関連するネットワークにより提供される性能及び/又はサービス品質に関する属性を含む記録のことである。1つの例では、ルールサーバ1010が、リスト内の個々のネットワークを識別して個々のネットワークのSSID及び/又はBBSIDをプロファイルサーバ1014に提供する。その後、プロファイルサーバ1014は、個々のネットワークの(SSID及び/又はBBSIDに基づく)ネットワークプロファイルをルールサーバ1010に提供することができる。いくつかの実施形態では、プロファイルサーバ1014が、データベース又は(ネットワークデータベースサーバ1012などの)その他のサーバからネットワークプロファイルを取り出す。
【0105】
ルールサーバ1010は、ネットワークプロファイル内の属性、及び/又はデジタル装置1002から受け取ったあらゆる属性に基づいて、利用可能な無線ネットワークのリストから好ましい無線ネットワークを選択することができる。属性とは、無線ネットワークの特性のことである。様々な実施形態では、属性が、性能測定基準、共有インジケータ、又はサービス識別子を含む。無線ネットワークの性能測定基準とは、ネットワーク性能のいずれかの尺度のことである。いくつかの例では、性能測定基準が、待ち時間測定基準、帯域幅測定基準、又はサービス品質(QOS)測定基準を含むことができる。当業者であれば、性能測定基準が、無線ネットワークの性能を表すあらゆる種類の測定基準を含むことができると理解するであろう。
【0106】
待ち時間測定基準とは、ネットワーク上でデジタル装置からサーバへデータパケットを送信するための時間を表す尺度のことである。いくつかの実施形態では、デジタル装置1002がサーバへICMP「エコー要求」パケットを送信し、ICMP「エコー反応」応答に耳を傾けることができる。待ち時間測定基準は、往復時間(一般的にはミリ秒単位)の推定値を含み、及び/又はいずれかのパケット損失を含むことができる。別の例では、待ち時間測定基準が、推定される往復時間の半分である。
【0107】
帯域幅測定基準とは、無線ネットワークの利用可能な帯域幅の尺度のことである。1つの例では、デジタル装置が、無線ネットワークを介してサーバへデータブロックを送信して応答のタイミングを計ることにより、利用可能な帯域幅をテストすることができる。
【0108】
QOS測定基準は、無線ネットワーク、アクセス装置1004、アクセス装置1006、及び/又は通信ネットワーク1008のサービス品質を測定するいずれかの尺度である。1つの例では、QOS測定基準が、IPアドレスを得るために必要な時間の長さを計ることにより判定されるDHCPの信頼度を表す。DHCPの信頼度は、統計的測定、IPアドレスを多少なりとも受け取る確率、及び/又は時間の配分を含むことができる。
【0109】
共有インジケータは、無線ネットワークが共有されているかどうかを示す。いくつかの実施形態では、共有インジケータを、「共有」、「非共有」、「不明」を含む3つの状態のうちの1つとすることができる。共有インジケータは、(「非共有」などの)1つの状態しか含むことができないが、当業者であれば、共有インジケータがあらゆる数の状態を有することができると理解するであろう。ネットワークが「共有」されていることを示す共有インジケータを含む無線ネットワークは、無線ネットワークの所有者が、他の誰かがネットワークの使用を意図していることを示すことができる。「共有」ネットワークの一例として、他の誰かが使用するために意図的に「オープン」になっている(例えば、暗号化されていない)無線ネットワークを挙げることができる。
【0110】
ネットワークが「非共有」であることを示す共有インジケータを含む無線ネットワークは、無線ネットワークの所有者が、ネットワークにアクセスするための明確な許可を持たない者を望まないことを示すことができる。1つの例では、非共有の無線ネットワークは、無許可のユーザに対してアクセスを制限するために(WEP又はWPAなどを介して)意図的に暗号化されていることが多い。しかしながら、全ての「非共有」のネットワークが暗号化されているとは限らない。例えば、たとえネットワークが共有を意図されていなくても、ネットワークの所有者がネットワーク装置を誤って設定したり、或いはエラーを通じてネットワークがオープン(すなわち非暗号化に)になったりする可能性がある。
【0111】
ネットワークが「不明」であることを示す共有インジケータを含む無線ネットワークは、無線ネットワークが「共有」又は「非共有」のいずれの可能性もあることを示すことができる。例えば、オープンネットワークの所有者の意図が不明な場合がある。
【0112】
サービス識別子は、無線ネットワークがサポートする1又はそれ以上のサービスを識別することができる。1つの例では、1又はそれ以上のサービス識別子が、無線ネットワークがVoIP、テレビ会議及び/又はビデオ会議をサポートしていることを示す。サービス識別子は、無線ネットワークがサポートするあらゆる種類のサービスを識別することができる。いくつかの実施形態では、サービス識別子が、無線ネットワークがサポートしていないサービスを識別することができる。
【0113】
当業者であれば、ネットワークプロファイルがあらゆる数の属性を含むことができると理解するであろう。さらに、当業者であれば、ネットワークプロファイルが1つのみ又はそれ以上の性能測定基準、1つのみの共有インジケータ又は1つのみ又はそれ以上のサービス識別子を含むことができることを理解するであろう。
【0114】
様々な実施形態では、ルールサーバ1010が、属性分析に基づいて、利用可能な無線ネットワークのリストから1又はそれ以上の無線ネットワークを選択する。1つの例では、ルールサーバ1010が属性に様々なルールを適用する。これらのルールとして、最低要件、個別設定、及び属性比較を挙げることができる。1つの例では、ルールサーバ1010により適用されるルールが、1又はそれ以上の無線ネットワークの属性を1又はそれ以上の最低要件と比較することができる。無線ネットワークの属性が最低要件を下回る場合、この無線ネットワークを選択することができず、又は利用可能な無線ネットワークのリストから削除することができる。
【0115】
いくつかの実施形態では、ルールサーバ1010により適用されるルールが、ユーザによる個別設定に基づくことができる。例えば、デジタル装置1002のユーザは、デジタル装置1002を、「共有」と指定された無線ネットワークを介してのみ接続すべきであることを示す個別設定を示すことができる。この例では、ルールサーバ1010は、無線ネットワークを「共有」であると識別する共有インジケータを含む属性の無線ネットワークのみを選択することができる。
【0116】
様々な実施形態では、ルールサーバ1010により適用されるルールが、1つの無線ネットワークの属性と別のネットワークの属性との比較に基づくことができる。1つの例では、属性が、1つの無線ネットワークが別の無線ネットワークよりも帯域幅が大きく、待ち時間が短いことを示すことができる。この例では、ルールサーバ1010は、別の無線ネットワークとの比較においてより性能が良く、又はサービスの価値が高い1つの無線ネットワークを選択することができる。当業者であれば、利用可能な無線ネットワークのリストから無線ネットワークを選択する際に、選択又は支援のために使用するルールにはあらゆる種類があり得ることを理解するであろう。
【0117】
無線ネットワーク選択を行う際には、ルールサーバ1010が2以上のルールを適用することができる。1つの例では、ルールサーバ1010が、異なる無線ネットワークからの属性を比較して選択を行う前に、ユーザの個別設定を適用することができる。別の例では、ルールサーバ1010が、属性を比較する前に、属性に最低要件を適用することができる。
【0118】
ルールサーバ1010は、ネットワークプロファイルからの属性の比較に基づいて無線ネットワークを選択したら、この無線ネットワーク選択をデジタル装置1002に提供することができる。無線ネットワーク選択は、少なくとも1つの無線ネットワークを識別する(ネットワーク識別子などの)1又はそれ以上の識別子を含む。この無線ネットワーク選択は、単一の無線ネットワークを識別すること、又は優先度順にソートされた無線ネットワークのソート済みリストを含むことができる。
【0119】
いくつかの実施形態では、ルールサーバ1010が、無線ネットワーク選択に加え、選択された無線ネットワークの(信用証明書要求応答などの)信用証明書もデジタル装置1002に提供する。1つの例では、ルールサーバ1010が、選択された無線ネットワークを信用証明書サーバ1016に提供し、次にこの信用証明書サーバ1016が、(たとえ信用証明書要求が行われなかったとしても)選択された無線ネットワークの信用証明書要求応答をデジタル装置1002に提供する。他の実施形態では、デジタル装置1002が無線ネットワーク選択を受け取り、その後、本明細書で説明したように、信用証明書サーバ1016に信用証明書要求を送信するステップに進んで信用証明書を受け取る。
【0120】
さらに、様々な実施形態では、デジタル装置1002が、選択された無線ネットワークに基づいて接続を確立しようと試みる。接続が失敗した場合、デジタル装置1002は、本明細書で説明したように、信用証明書要求を信用証明書サーバ1016へ送信して、ネットワークアクセスのための信用証明書を取り出すことができる。デジタル装置1002は、ネットワーク装置1004のオープンポートを介して信用証明書サーバ1016に信用証明書要求を提供することができる。別の例では、デジタル装置1002が、異なるネットワーク装置との接続を含む他のいずれかのネットワークを介して、又は携帯電話接続を介して信用証明書要求を提供することができる。
【0121】
図1では、ルールサーバ1010、ネットワークデータベースサーバ1012、プロファイルサーバ1014、信用証明書サーバ1016及びウェブサーバ1018を別個のサーバとして示しているが、これらのサーバは全て、1又はそれ以上のサーバとして組み合わせることができる。同様に、サーバのいずれかの機能を、図示している他のサーバの1つ又はその他のいずれかのサーバが実行することもできる。
【0122】
図10には、複数の利用可能な無線ネットワークから無線ネットワーク選択を行うための複数のサーバ(ルールサーバ、ネットワークデータベースサーバ、プロファイルサーバ、信用証明書サーバ、及びウェブサーバなど)を示しているが、当業者であれば、無線ネットワーク選択をデジタル装置1002内で行うこともできると理解するであろう。1つの例では、デジタル装置1002が、利用可能な無線ネットワークを一覧にした走査結果を取り出して、設定優先度に基づいて無線ネットワークを選択する。この設定優先度は、1又はそれ以上のローカルに実行されるルール、好ましい信号強度、又はその他のいずれか1つの又は複数の属性に基づくことができる。別の例では、デジタル装置1002が、(VoIPなどの)所望のサービスをサポートし、最小待ち時間標準を満たし、最小QOS標準を満たす無線ネットワークを選択する。別の例では、プロファイルサーバ1014が、所望のネットワークプロファイルをデジタル装置1002に提供し、このデジタル装置1002が分析を行って好ましい無線ネットワークを決定する。
【0123】
図11は、無線ネットワーク選択を提供する例示的な処理のフロー図である。ステップ1102において、(ルールサーバ1010、ネットワークデータベースサーバ1012、プロファイルサーバ1014、信用証明書サーバ1016又はウェブサーバ1018などの)サーバが、デジタル装置1002から利用可能な無線ネットワークのリストを受け取る。いくつかの例では、このリストは、(ネットワーク装置1004及びネットワーク装置1006などの)1又はそれ以上のネットワーク装置のSSID又はBBSIDを含む。リストは、ネットワーク及び/又はネットワーク装置を識別するあらゆる情報を含むことができる。
【0124】
いくつかの実施形態では、サーバが、ネットワーク及び/又はネットワーク装置に関連する1又はそれ以上の属性も受け取る。様々な実施形態では、デジタル装置1002が、信号強度を測定し、利用可能なサービスを判別し、又は利用可能な無線ネットワークのリスト上で識別される1又はそれ以上のネットワーク及び/又はネットワーク装置の性能測定基準を取り上げる。
【0125】
ステップ1104において、サーバが、ネットワークデータベースに記憶された複数のネットワークプロファイルから、利用可能な無線ネットワークのリスト上の個々の利用可能な無線ネットワークのネットワークプロファイルを取り出す。個々のネットワークプロファイルは、少なくとも1つの属性を含むことができる。いくつかの実施形態では、リスト上の全ての無線ネットワークがネットワークプロファイルを有するとは限らない。リスト上の無線ネットワークのネットワークプロファイルが見つからない場合、この無線ネットワークに関連するネットワークプロファイルを作成することができる。デジタル装置1002から属性を受け取った場合、サーバは、デジタル装置1002から受け取ったいずれの属性がいずれのネットワーク、ネットワーク装置及び/又はネットワークプロファイルに関連するかを判定することができる。
【0126】
ステップ1106において、サーバが、個々のネットワークプロファイルからの属性を最低要件と比較する。1つの例では、サーバが、(利用可能な場合)リスト内の全てのネットワークプロファイルからの待ち時間測定基準を最小待ち時間測定基準と比較する。サーバは、デジタル装置1002から受け取った属性を最低要件と比較することもできる。ステップ1108において、サーバが、(単複の)比較に基づいて、利用可能な無線ネットワーク及び/又は無線ネットワークプロファイルのリストから1又はそれ以上の無線ネットワークを削除する。例えば、待ち時間測定基準が最小待ち時間測定基準を下回る無線ネットワークは選択しなくてもよい。他の実施形態では、待ち時間測定基準が最小待ち時間測定基準を下回る無線ネットワークが重み値を受け取り、これを他の無線ネットワークと比較して選択処理を支援することができる。
【0127】
いくつかの実施形態では、デジタル装置1010のユーザが最低要件を決定する。他の実施形態では、(管理者などが)ユーザのために最低要件を選択することができる。
【0128】
ステップ1110において、サーバがユーザのための個別設定を取り出す。ユーザは、この個別設定をサーバへ送ることができる。いくつかの実施形態では、ユーザが、個別設定を含むウェブサーバ1018とのアカウントを有する。1つの例では、サーバが、利用可能な無線ネットワークのリストとともにユーザ識別子を受け取る。次に、サーバは、ユーザのアカウントにアクセスして個別設定を受け取り、その後、この個別設定が、リスト上の無線ネットワークに関連するネットワークプロファイルの属性に適用される。様々な実施形態では、ユーザが(「攻撃性」などの)個別設定を設定することができ、デジタル装置1002は、この設定で無線ネットワークに接続することができる。このような設定は以下を含むことができる。
(a) 共有インジケータに関係なくオープンなものに接続する。
(b) 所有者が混乱してアクセスポイントを単純にオープンのままにしてセキュリティ機能の設定方法を知らないと思われる旨を(「linksys」などの)デフォルトのメーカSSIDが示すもの以外はオープンなものに接続する。
(c) プロファイルサーバ108が認めた(又はWi−Fiネットワークに関する情報を既に記憶している)オープンなものに接続する。或いは、
(d) 「共有」という共有インジケータを含み、又は他の何らかの手段により共有と示されるオープンなものに接続する。当業者であれば、個別設定が数多く存在できることを理解するであろう。
【0129】
ステップ1112において、サーバが、個別設定に基づいてリスト又はネットワークプロファイルから1又はそれ以上の無線ネットワークを削除する。例えば、個別設定は、ビデオ会議をサポートし、ユーザが定義したQoS要件を保持する無線ネットワークへの接続のみをユーザが望んでいることを示すことができる。その後、サーバは、ネットワークプロファイルから得られた、又はユーザの個別設定を満たさないデジタル装置1002から最近受け取った属性に基づいて、利用可能な無線ネットワークのリストからいずれかの無線ネットワークを削除することができる。
【0130】
いくつかの実施形態では、その後、ネットワークプロファイルから得られた属性の比較前、又は比較後に個別設定を考慮することができる。1つの例では、個別設定が、「共有」と指定されていない、又は特定のサービスを提供していない無線ネットワークへの接続をユーザが望まないことを示す。1つの例では、ルールサーバ1010が、必要なサービスを提供しないネットワークに関連するネットワークプロファイルを取り出さず、及び/又はこれらのネットワークに関連する属性を比較しない。他の実施形態では、デジタル装置1002が、ルールサーバ1010から受け取った結果(無線ネットワーク選択など)に個別設定を適用した後で好ましい無線ネットワークにアクセスする。
【0131】
ステップ1114において、サーバが、リスト上の残りの無線ネットワークの属性を比較する。様々な実施形態では、サーバが重みを適用して、ネットワークプロファイル内から得られた(測定基準などの)属性の1又はそれ以上を標準化する。いくつかの実施形態では、古い属性を削除し、又はより新しい他の属性よりも低く重み付けすることができる。1つの例では、1週間よりも以前のあらゆる測定基準に同様のより新しい測定基準よりも低い重みを付けることができる。別の例では、1ヵ月よりも以前の測定基準をネットワークプロファイルから削除し、又は比較において検討対象外とすることができる。当業者であれば、ネットワークプロファイル内から得られる全ての属性又は情報を比較において考慮できるわけではないことを理解するであろう。
【0132】
個々のネットワークプロファイルは、あらゆる数の属性を含むことができる。1つの例では、ルールサーバ1010が、2つの異なるネットワークプロファイルからの測定基準の比較に基づいて無線ネットワーク選択を行う。いくつかの実施形態では、ルールサーバ1010が、2つの類似する測定基準間の比較に基づいて無線ネットワークを選択する(すなわち、第1のネットワークプロファイルからの待ち時間測定基準が、第2のネットワークプロファイルからの待ち時間測定基準と比較される)。当業者であれば、ルールサーバ1010が、2つの類似する最近受け取った測定基準間の比較又はネットワークプロファイル内の最近受け取った測定基準及び別の測定基準に基づいて無線ネットワークを選択できることを理解するであろう。
【0133】
他の実施形態では、ルールサーバ1010が、2つの異なる測定基準間の比較に基づいて無線ネットワークを選択する(すなわち、第1のネットワークプロファイルからの待ち時間測定基準が、第2のネットワークプロファイルからの帯域幅測定基準と比較される)。ルールサーバ1010は、適当な無線ネットワークを選択するための比較を行うために、類似する及び/又は異なる測定基準又は属性に重み付けして標準化するアルゴリズムを実行することができる。1つの例では、ルールサーバ1010が、第1のネットワークプロファイル内の待ち時間測定基準を第2のネットワークプロファイル内の帯域幅測定基準と比較する。ルールサーバ1010は、測定基準に重み付けして標準化するアルゴリズムを実行することができる。待ち時間の方がネットワーク性能に及ぼす影響が大きいと考えられるので、このアルゴリズムは、待ち時間測定基準に帯域幅測定基準よりも大きく重み付けすることができる。
【0134】
属性又は測定基準は、あらゆる数の要素に依存して異なる重みを受け取ることができる。例えば、待ち時間測定基準は、この測定基準が許容範囲内にあるときには所定の重みを受け取ることができ、そうでない場合には、大幅に下回る重みとなり得る。デジタル装置1002から最近受け取った測定基準は、ネットワークプロファイル内の類似する種類の測定基準よりも大きな重みを受け取ることができる。当業者であれば、類似する及び/又は異なる性能及び/又は質的な測定基準を比較するための方法は数多く存在することを理解するであろう。
【0135】
ステップ1116において、サーバが、属性の比較に基づいて無線ネットワークを選択する。無線ネットワーク選択は、単一の好ましい無線ネットワーク、又は優先度順にソートされた無線ネットワークのリストを含むことができる。1つの例では、ルールサーバ1010が、最も好ましいネットワーク、2番目に好ましいネットワークなどを識別する。その後、ステップ1118において、ルールサーバ1010は、無線ネットワーク選択をデジタル装置1002へ送信することができる。
【0136】
様々な実施形態では、ルールサーバ1010が、デジタル装置1002から最近受け取った測定基準のみを比較する。1つの例では、デジタル装置1002から2つの待ち時間測定基準が受け取られる。個々の待ち時間測定基準は、利用可能なネットワークのリスト上で識別された別個の無線ネットワークに関連する。この例では、ルールサーバ1010が、2つの属性の比較に基づいて無線ネットワークを選択することができる。
【0137】
図12は、無線ネットワークを選択するための例示的な処理のフロー図である。1002ステップにおいて、デジタル装置1002が、2つの無線ネットワークを含む領域内に入り、デジタル装置1202が、アクセスするネットワークを求めて走査する。ステップ1204において、デジタル装置1002が、第1及び第2の利用可能な無線ネットワークのネットワーク識別子を受け取る。本明細書で説明したように、第1及び第2のネットワーク識別子は、BBSID、SSID、又はその他のいずれかのネットワーク識別子を含むことができる。例えば、第1のネットワーク識別子はBBSIDを含むことができ、第2のネットワーク識別子はSSID識別子を含むことができる。別の例では、第1のネットワークが、BBSID及びSSIDを含む複数の識別子を提供できるのに対し、第2のネットワークはSSIDのみを提供する。この例では、第1のネットワーク識別子が、第1のネットワーク装置のBBSID及びSSIDの両方を含むことができるのに対し、第2のネットワーク識別子は、第2のネットワーク装置のSSIDしか含まない。
【0138】
ステップ1206において、デジタル装置1002が、利用可能な無線ネットワークのリストを生成する。例えば、デジタル装置1002は、第1のネットワーク識別子及び第2のネットワーク識別子を含むリストを生成することができる。その後、ステップ1208において、リストがサーバに提供される。
【0139】
ステップ1210において、デジタル装置1002が、無線ネットワーク選択をサーバから受け取る。無線ネットワーク選択は、選択された無線ネットワークを識別し、又は選択された無線ネットワークに関連するネットワーク装置を識別する識別子(ネットワーク装置のBBSID及び/又はSSIDなど)を含むことができる。様々な実施形態では、無線ネットワーク選択が、優先度によってソートされた無線ネットワークのリストを含むことができる。リストは、選択された無線ネットワーク又はネットワーク装置を識別する2又はそれ以上の識別子を含むことができる。
【0140】
ステップ1212において、デジタル装置1002が、無線ネットワーク選択のための信用証明書をサーバから受け取る。いくつかの実施形態では、信用証明書が、利用可能な無線ネットワークのリストをデジタル装置1002から受け取ったサーバと同じサーバから受け取られる。
【0141】
様々な実施形態では、デジタル装置1002が無線ネットワーク選択をサーバから受け取り、その後信用証明書要求を提供して所望のネットワークの信用証明書を受け取る。1つの例では、デジタル装置1002が、利用可能な無線ネットワークのリストを提供する方法と同じ方法で(例えば、ネットワークのオープンポートを介して)信用証明書要求を提供する。いくつかの実施形態では、好ましいネットワークが信用証明書を必要とせず、又は信用証明書がデジタル装置1002上にローカルに記憶される。
【0142】
ステップ1214において、デジタル装置1002が信用証明書を使用して、選択された無線ネットワークにアクセスする。本明細書では、ログインページなどに信用証明書を適用する処理について説明する。
【0143】
様々な実施形態では、デジタル装置1002が、本明細書で説明する信用証明書要求の提供と同様の方法で、利用可能な無線ネットワークのリストをネットワーク装置のオープンポートを介してサーバに提供することができる。他の実施形態では、デジタル装置1002が、別のネットワークを介してサーバにリストを提供することができる。1つの例では、デジタル装置1002が、利用可能なWi−Fiネットワークのリストを生成し、(EVDO又はHSDPAネットワークなどの)携帯電話ネットワークを介してリストを提供する。この例では、無線ネットワーク選択を携帯電話ネットワークを介してデジタル装置へ戻し、その後デジタル装置1002が、好ましいWi−Fiネットワークにアクセスしようと試みることができる。
【0144】
別の例では、デジタル装置1002が1つの無線ネットワークにアクセスする。その後、デジタル装置1002は、利用可能な無線ネットワークのリストをサーバに提供することができる。サーバは、無線ネットワーク選択をデジタル装置1002へ戻すことができる。この好ましい無線ネットワークが、デジタル装置1002が最初にアクセスしたネットワークでない場合、デジタル装置1002は、接続を中断して好ましい無線ネットワークにアクセスすることができる。
【0145】
図10〜図12は、利用可能な無線ネットワークのリストを受け取り、無線ネットワーク選択を決定し、この選択をデジタル装置1002に提供するサーバを想定したものであるが、当業者であれば、サーバが必須ではないことを理解するであろう。1つの例では、デジタル装置1002が、利用可能な無線ネットワークのリストを生成し、その後(例えば、ローカルに記憶されたネットワークプロファイルから、1又はそれ以上のネットワーク装置から、ローカルデータベース又は遠隔データベースから、及び/又はインターネットなどの別のネットワークから情報を取り出して)、リスト上のネットワークに関するいずれかの利用可能な情報を取り出す。次に、デジタル装置1002は、選択を行うために、又は優先順位リストを生成するために、ネットワークに関連するどのような属性が利用可能であるかに基づいて比較を行うことができる。その後、デジタル装置1002は、選択した無線ネットワークにアクセスすることができる。
【0146】
様々な実施形態では、デジタル装置1002が、1又はそれ以上のネットワークに関する属性を生成して提供し、ネットワークプロファイルを更新することができる。1つの例では、デジタル装置1002が、信号の品質、帯域幅、又はその他のあらゆる測定基準を判定して、利用可能な無線ネットワークのリストとともにこれらの測定基準をサーバに提供する。別の例では、デジタル装置1002が、選択した無線ネットワークにアクセスし、属性を測定し、ネットワークプロファイル内に属性更新測定基準を提供する。デジタル装置1002は、いつでも(待ち時間測定基準、帯域幅測定基準及びQOS測定基準などの)属性を取り込み、これらを使用してネットワークプロファイルを更新することができる。
【0147】
図13は、無線ネットワークを選択し、選択した無線ネットワークにアクセスするための略図である。様々な実施形態では、ステップ1302及び1304において、ネットワーク装置1004及びネットワーク装置1006が、第1及び第2のネットワーク識別子をデジタル装置1002に提供する。ステップ1306において、デジタル装置1002が、ネットワーク装置1004及びネットワーク装置1006に関連する無線ネットワークに関する測定を行うことにより、測定基準(すなわち属性)を生成する。いくつかの例では、測定基準として、待ち時間、信号強度、又はQOS測定基準を挙げることができる。
【0148】
ステップ1308において、デジタル装置1002が、ネットワーク装置1004からのネットワーク識別子及びネットワーク装置1006からのネットワーク識別子を含むことができる利用可能な無線ネットワークのリストを生成する。いくつかの実施形態では、デジタル装置1002が、2つのネットワーク識別子間の優先度を示すこと、又はネットワーク識別子の一方又は両方を削除することができる個別設定を含むこともできる。1つの例では、個別設定が、(「linksys」などの)デフォルトのメーカSSIDを有していないオープンネットワークにのみアクセスできることを示す。この例では、ネットワーク装置1004からのネットワーク識別子がデフォルトのメーカSSIDを示す場合、デジタル装置1002は、このネットワーク装置1004のネットワーク識別子を利用可能な無線ネットワークのリスト内に含めることができない。
【0149】
いくつかの実施形態では、デジタル装置1002が少なくとも2又はそれ以上のネットワークを識別するリストを生成できない場合、デジタル装置1002はリストを送らない。1つの例では、デジタル装置1002が、ユーザ要件を満たす利用可能な無線ネットワークを1つしか識別できない場合、デジタル装置1002は、無線ネットワークに直接アクセスしようと試みるか、或いは信用証明書要求をサーバへ送信して、アクセスに必要ないずれかの信用証明書を取り出すことができる。
【0150】
ステップ1310において、デジタル装置1002が、利用可能なネットワークの属性及びリストをルールサーバ1010に提供する際にプロキシのように振る舞うネットワーク装置1006の(ポート53などの)オープンポートを介して、属性及び利用可能な無線ネットワークのリストを提供する。他の実施形態では、デジタル装置1002が、ネットワーク装置1004のオープンポートを介して属性及びリストを提供する。或いは、デジタル装置1002は、別個のネットワークを介して属性及びリストを(例えば、ネットワーク装置のうちの1つのオープンポートを介して属性を、及びセルラネットワークを介してリストを)提供することもできる。ステップ1312において、DNSを介して属性及びリストをルールサーバ1010に提供することにより、ネットワーク装置1006がプロキシの役割を果たす。
【0151】
ステップ1314において、ルールサーバ1010がネットワークプロファイルを取り出す。1つの例では、ルールサーバ1010がリストからネットワーク識別子を取り出し、このネットワーク識別子に関連するネットワークプロファイルを取り出す。
【0152】
ステップ1316において、ルールサーバ1010(又はプロファイルサーバ1014)が、ネットワークプロファイル内の属性をデジタル装置1002から受け取った属性に更新する。1つの例では、デジタル装置1002からの新たな待ち時間測定基準を使用して、ネットワーク装置1004からのネットワーク識別子に関連するネットワークプロファイルを更新する。新たな待ち時間測定基準が最近のものであることを示すために、属性に関連する有効期間値を更新することもできる。
【0153】
ステップ1318において、ルールサーバ1010が、ネットワークプロファイル内から得た属性の比較に基づいてネットワーク装置を選択する。いくつかの実施形態では、ルールサーバ1010が、(ウェブサーバ1018などを介して)デジタル装置1002から、又はデジタル装置1002に関連するアカウントから得た個別設定も適用した後で選択を行う。ルールサーバ1010は、デジタル装置1002により提供されたリストから、2つのネットワーク装置の優先順位リストを作成することができる。リストには、2つのネットワーク装置のうちのいずれの方がネットワークプロファイルからの測定基準に基づいて最も望ましいサービスを提供するかに基づいて優先順位が付けられる。
【0154】
ステップ1320において、ルールサーバ1010が、デジタル装置1002へ情報を送るためのプロキシとして機能するために、DNSを介してネットワーク装置1006へ無線ネットワーク選択及び信用証明書を提供する。1つの例では、ルールサーバ1010がネットワーク装置1004を選択する。ルールサーバ1010は、ネットワーク装置1004のネットワーク識別子に基づいてネットワーク装置1004の信用証明書を取り出すことができる。例えば、ルールサーバ1010は、信用証明書サーバ1016に信用証明書要求を提供することができる。信用証明書サーバ1016は、必要な信用証明書を含む信用証明書要求応答をルールサーバ1010に提供することができ、その後このルールサーバ1010が、信用証明書サーバ1016から受け取った信用証明書及び無線ネットワーク選択をデジタル装置1002へ送信する。
【0155】
その後、ステップ1322において、ネットワーク装置1006が、オープンポートを介してネットワーク選択及び信用証明書をデジタル装置1002に提供する。ステップ1324において、デジタル装置1002が、信用証明書を提供してネットワーク装置1004にアクセスし、ネットワークに関する追加の属性を生成する(すなわち追加測定を行う)。接続が確立されると、ステップ1326において、ルールサーバ1010又はプロファイルサーバ1014に新しい属性が提供されて、ネットワーク装置1004に関連するネットワークプロファイルが更新される。1つの例では、デジタル装置1002が、ネットワーク装置1004との接続を確立するのに必要な時間を測定することができる。その後、この接続を確立するのに必要な時間を使用して、ネットワークプロファイル内の属性を更新することができる。接続が確立されなかったり、又は失敗した場合、この情報を提供して関連するネットワークプロファイルを更新することもできる。
【0156】
いくつかの実施形態では、選択したネットワークとのネットワーク接続が失敗した場合、デジタル装置1002は接続を再試行することができる。接続をしようとする複数の試みが失敗した場合、この失敗に関する情報が送られて、関連するネットワークプロファイルが更新される。その後、デジタル装置1002は、(ネットワーク装置1006などの)別のネットワーク装置との接続を試みることができる。いくつかの実施形態では、デジタル装置1002が領域を再走査して、利用可能なネットワークの新しいリストを生成し、このリストに、デジタル装置1002が接続を失敗したネットワークを含めないようにすることができる。この新しいリストをルールサーバ1010へ送って新しい無線ネットワーク選択を受け取り、この処理を繰り返すことができる。
【0157】
いくつかの実施形態では、ルールサーバ1010が、優先度によりソートされた利用可能な無線ネットワークの優先順位リストを提供する。1つの例では、ルールサーバ1010が、3つのネットワークの優先順位リストをデジタル装置1002に提供する。その後、デジタル装置1002は、この優先順位リストに基づいて第1の無線ネットワークにアクセスしようと試みることができる。デジタル装置1002は、第1の無線ネットワークに接続できなかった場合、リスト上の次のネットワークへの接続を試行することができる。当業者であれば、この優先順位リストが、利用可能な無線ネットワークのリスト内で識別された無線ネットワークの全て、1つ、又はいくつかを含むことができると理解するであろう。例えば、ルールサーバ1010は、性能が劣ると分かっていたり、(VoIPサービスなどの)所望のサービスを提供しなかったり、及び/又は別様にブラックリストに載っている無線ネットワークを識別することはできない。
【0158】
様々な実施形態では、デジタル装置1002のユーザが、無線ネットワーク選択を無効にしていずれかの無線ネットワークにアクセスすることができる。1つの例では、ユーザが、利用可能な無線ネットワークの優先順位を選択する。いくつかの実施形態では、ユーザが、デジタル装置1002、又はウェブサーバ1018とのアカウントを、ルールサーバ1010から得た無線ネットワークの優先順位リストを並べ替え、又は別様に変更することができる個人的な優先度を含むように構成することができる。例えば、利用可能な無線ネットワークのリストをルールサーバ1010に提供する前に、デジタル装置1002又はウェブサーバ1018が、このリストをユーザの優先度に基づいて変更することができる。
【0159】
いくつかの実施形態では、1又はそれ以上のオープンなWi−Fiネットワークに加え、所定の位置に1又はそれ以上の暗号化されたWi−Fiネットワークが存在することもある。デジタル装置1002は、オープンなWi−Fiネットワークに接続して、暗号化されたWi−Fiネットワークを含む他のWi−FiネットワークのSSIDをHTTPなどのネットワーク通信プロトコルを介してルールサーバ1010へ送信することができる。
【0160】
その後、ルールサーバ1010は、個別設定又はその他のルールに基づいて、利用可能な暗号化されたWi−Fiネットワークがネットワーク接続にとって好ましい選択であると判定することができる。ルールサーバ1010は、現在のオープンなWi−Fiネットワーク接続を介してデジタル装置1002へ必要な暗号鍵を送信するとともに、暗号化されたWi−Fiネットワークに切り替えるための命令をデジタル装置1002へ送ることができる。
【0161】
ユーザ、アプリケーション、及びオペレーティングシステムは、たとえGPSハードウェアが利用できず又は機能しない(例えば、衛星が視認できない)としても、位置情報を所望又は要求する。いくつかの実施形態では、GPSハードウェアに代わる方法として、ユーザ、アプリケーション、及びオペレーティングシステムが、デジタル装置の近くに位置するネットワークの存在に基づいて位置情報を検索することができる。この位置情報を、アシスト型GPS(すなわち、AGPS)として使用することを含むあらゆる数の方法で使用することができる。例えば、位置情報を使用して、速度及び/又は精度を向上させるようにGPSハードウェアを「準備する」ことができる。
【0162】
ネットワークの位置は、ほとんど安定する傾向にある。従って、(ルータ、ホットスポット又はその他のネットワーク装置などの)ネットワークの物理的位置の場所を識別して使用し、ユーザの位置を識別することができる。1つの例では、デジタル装置を有するユーザが、無線ネットワークを求めて領域を走査することができる。1又はそれ以上の無線ネットワークを識別することができる。この識別された(単複の)無線ネットワークに関する情報を、識別された(単複の)無線ネットワークの位置(GPS座標など)を識別するデータ構造(表又はデータベースなど)を有することができるサーバに提供することができる。サーバは、この位置をユーザのデジタル装置に提供することができる。その後、デジタル装置は、この情報を表示することができ、及び/又は(地図アプリケーションなどの)1又はそれ以上のアプリケーション又はデジタル装置のオペレーティングシステムにこの情報を提供することができる。
【0163】
図14は、例示的なデジタル装置102のブロック図である。デジタル装置102は、コントローラ1402、走査モジュール1404、DNSモジュール1406、位置モジュール1406、及びウェブモジュール1410を備えることができる。いくつかの実施形態では、デジタル装置102上に、位置情報を特定するための(クライアントなどの)アプリケーションがインストールされる。このアプリケーションは、図14に示すモジュールの1又はそれ以上を含むことができる。例えば、このアプリケーションは、識別された無線ネットワークと、位置応答から位置情報を取り出すための位置モジュール1408とに基づいて位置要求を生成して送信するDNSモジュール1406を含むことができる。
【0164】
コントローラ1402は、走査モジュール1404、DNSモジュール1406、位置モジュール1406、及び/又はウェブモジュール1410を制御するように構成することができる。1つの例では、コントローラ1402が、走査モジュール1402による走査を引き起こし、DNSモジュール1406でDNSプロトコルフォーマットの位置要求を生成し、位置要求を提供し、位置応答を受け取り、位置応答から位置情報を取り出すことができる。いくつかの実施形態では、コントローラ1402が、(応答を表示するような)ユーザ、デジタル装置102上のアプリケーション(図示せず)又はオペレーティングシステム(図示せず)に位置情報を提供することができる。
【0165】
様々な実施形態では、走査モジュール1402を、無線ネットワークを求めてデジタル装置102の近くの領域を走査するように構成することができる。当業者であれば、利用可能な無線ネットワークを求めて走査を行うことは、ネットワークアクセスのために利用できるネットワークを識別するためのかなり一般的な処理であることを理解するであろう。走査モジュール1402は、無線ネットワークを求めて領域を走査すると、1又はそれ以上の無線ネットワークを識別することができる。例えば、無線ネットワーク及び/又はネットワーク装置に関連する、SSID及び/又はBSSIDなどのネットワーク識別子のリストを検出することができる。リスト化される無線ネットワークの1又はそれ以上は、(パスワード、ユーザ名、パスコード又は記録を必要とするような)安全なものの場合もあれば、或いは安全でないものの場合もある。リストは、(1又はそれ以上などの)あらゆる数のネットワーク識別子を含むことができる。
【0166】
DNSモジュール1406は、走査されたネットワークの1又はそれ以上に基づいて位置要求を生成するように構成することができる。位置要求は、ネットワークを介して(サーバなどの)第2のデジタル装置へ送られる、位置情報を要求するためのメッセージである。位置要求は、あらゆる数の方法でフォーマットできるメッセージである。1つの例では、位置要求が、DNSプロトコルメッセージ(RFC1876で定義されるようなDNS LOC記録としてフォーマットされるメッセージなど)としてフォーマットされる。位置要求は、UDPプロトコルでフォーマットすることもできる。1つの例では、位置要求に、(BSSIDなどの)走査したネットワーク識別子の1つを含めることができる。位置要求には、あらゆる数のネットワーク識別子を含めることができる。
【0167】
いくつかの実施形態では、この位置検索にDNSを使用することにより、本明細書で説明する位置要求及び関連する位置応答を、インターネットを介して例外なく又はほぼ例外なくサポートできるコネクションレス型分散プロトコルを介して搬送することができる。位置要求及び位置応答は、標準フォーマットとすることができる。従って、デジタル装置102は、位置を検索するために、Wi−Fi層におけるオープンなホットスポット又はネットワーク装置を認証する必要はない。
【0168】
例えば、ネットワーク装置は、ネットワークへのアクセスを許可する前に、(ユーザ名、パスワード又はその他の情報などの)アクセス情報を必要とすることがある。しかしながら、ネットワーク装置は、アクセス情報を必要とせずにサービスを提供するために、(ポート53などの)1又はそれ以上のオープンポートを含むこともできる。1つの例では、ネットワーク装置が、ポート53を通じてDNSサービスを可能にすることができる。デジタル装置102は、本明細書で説明したようなDNSプロトコルでフォーマットされた位置要求を生成し、アクセス情報を提供することなくネットワーク装置のオープンポートを介してネットワークに位置要求を提供することができる。その後、デジタル装置102は、位置情報を含む位置応答をオープンポートから受け取ることができる。
【0169】
位置要求は、以下に限定されるわけではないが、走査されたネットワークの1又はそれ以上の信号強度、(ライセンスキーなどの)ライセンス識別子、及びデジタル装置102の識別子などのあらゆる種類の情報を含むことができる。信号強度は、デジタル装置102によって検出された無線ネットワークに関連する信号の強度指標とすることができる。1つの例では、走査モジュール1404が領域を走査し、検出された無線ネットワークのリストを提供することができる。この無線ネットワークの1又はそれ以上は、デジタル装置102と無線ネットワークの1つとの潜在的接続の強度を示す関連信号強度指標を有することができる。いくつかの実施形態では、領域を所定の時間にわたって定期的に又は連続的に走査することにより、信号強度を求めることができる。検出された無線ネットワークに関連する信号の強度を平均化(例えば、幾何学的に平均化)し、又は統計的に測定して関連信号強度指標を作成することができる。
【0170】
ライセンス識別子は、デジタル装置102上のアプリケーション又はクライアントに関連する識別子とすることができる。様々な実施形態では、ユーザが、本明細書で説明した手段及び方法によってデジタル装置の位置を特定し、本明細書で説明したような信用証明書を検索し、又はあらゆる数の動作を行うアプリケーションをインストールする。このアプリケーションをライセンス識別子に関連付け、位置要求に含めて提供することができる。
【0171】
装置識別子は、装置を識別するために使用できるいずれの識別子であってもよい。いくつかの実施形態では、装置識別子が一意のものである。いくつかの例では、装置識別子が、MACアドレス、シリアル番号、IPアドレス、デジタル装置102にインストールされたソフトウェアのバージョン番号、IPアドレス及び/又はその他のいずれかの識別子である。
【0172】
位置情報は、ネットワーク及び/又はネットワークに関連するネットワーク装置(アクセスポイントなど)の物理的位置を識別するいずれの情報であってもよい。1つの例では、位置情報が、緯度及び経度座標を含むことができる。位置情報は、(海面よりも上又は下などの)高度を含むこともできる。当業者であれば、位置情報は、ユーザ、デジタル装置、ネットワーク装置、アプリケーション、オペレーティングシステムなどに位置又は位置の近似を提供するために使用できるあらゆる情報を含むことができると理解するであろう。
【0173】
いくつかの実施形態では、DNSモジュール1406が、位置要求の中の1又はそれ以上のネットワーク識別子及び/又はその他の情報を符号化することができる。例えば、DNSモジュール1406は、位置要求の中の情報の一部又は全部を16進符号化することができる。位置要求を暗号化することもできる。位置要求の全部又は一部をハッシュ化することもできる。例えば、DNSモジュール1406は、サービスの悪用を防ぐために、BSSIDを共用秘密値でハッシュ化して新たな名前を生成することができる。位置要求に装置識別子(UUID)を追加することもできる。例えば、最終結果は以下のようになる。
<uuid><bssid hash>.<server domain>
【0174】
位置要求は、コントローラ1402又はDNSモジュール1406によって提供することができる。いくつかの実施形態では、コントローラ1402又はDNSモジュール1406が、ネットワークを介して位置要求を送信することができる。1つの例では、DNSモジュール1406が、ネットワーク装置を介して位置サーバにDNSプロトコルフォーマットの位置要求を提供する。DNSモジュール1406は、ネットワーク装置のオープンポートを介して位置要求を提供することができる。オープンポートは、ポート53とすることができる。この位置要求は、本明細書で説明した信用証明書要求を提供する方法と同様の方法でネットワーク装置を介して提供することができる。
【0175】
位置モジュール1408は、ネットワーク上から位置応答を受け取るように構成することができる。この位置応答を、位置要求に関連付けることができる。位置応答は、位置情報を含むことができる。いくつかの実施形態では、位置モジュール1408が、位置応答から位置情報を取り出す。いくつかの例では、位置モジュール1408が、位置の全部又は一部を(ユーザにGPS座標などを表示して)ユーザに、デジタル装置102上のアプリケーションに、デジタル装置102上のオペレーティングシステムに、又は別のデジタル装置に提供する。
【0176】
いくつかの実施形態では、位置モジュール1408が、位置応答から情報を復号及び/又は解読する。位置要求は、DNSプロトコル又はいずれかのプロトコルとしてフォーマットすることができる。いくつかの実施形態では、位置モジュール1408が、位置応答から位置情報を復号する。1つの例では、位置情報の全部又は一部を16進符号化することができる。
【0177】
位置応答を、インターネットを介して受け取ることもできる。いくつかの実施形態では、位置モジュール1408が、(暗号鍵などで)位置応答の全部又は一部を解読し、及び/又は位置応答を認証する。その後、この認証に基づいて、位置モジュール1408が、位置応答から取り出した位置情報を提供することができる。
【0178】
ウェブモジュール1410は、位置要求を提供し、及び/又はインターネット又はその他のアクセス可能なネットワーク上から位置応答を受け取るように構成することができる。いくつかの実施形態では、ウェブモジュール1410が、ウェブブラウザとして機能することができる。ウェブモジュール1410は、ネットワーク識別子を含む位置要求を(HTTP、HTTPS、又はXMPPなどを通じて)生成し、アクセスされたネットワークを介して別のデジタル装置に位置要求を提供することができる。ウェブモジュール1410は、(HTTP、HTTPS、又はXMPPなどを通じて)位置応答を受け取り、位置情報を取り出すこともできる。
【0179】
当業者であれば、いくつかの実施形態は、無線ネットワークを求めて走査を行うことを想定するものであるが、有線ネットワークを使用してユーザの位置を特定することもできると理解するであろう。例えば、デジタル装置が(イーサネットケーブルなどを介して)有線ネットワークに結合されている場合、このデジタル装置は、IPアドレス、ホスト名アドレスなどのネットワーク識別子を受け取ることができる。1つの例では、ネットワーク識別子が、アクセスを提供するネットワーク装置の識別子である。このネットワーク識別子を位置サーバに提供し、その後この位置サーバが、ネットワーク及び/又はアクセスを提供するネットワーク装置の物理的位置を提供することができる。いくつかの実施形態では、(HTTPなどを介して)アクセスが確立されると、デジタル装置102が、ネットワークを介して位置要求を送信することができる。様々な実施形態では、デジタル装置102が、異なるネットワークを介して位置要求を送信することができる。1つの例では、デジタル装置102が、DNSプロトコルを通じ、無線ネットワークを介して位置要求を送信することができる。
【0180】
図15は、DNSプロトコルフォーマットのメッセージを通じ、無線ネットワークを介して位置情報を受け取る例示的な方法のフロー図である。ステップ1502において、走査モジュール1404が、無線ネットワーク(ネットワークのBSSID及び/又はSSIDをブロードキャストするネットワーク装置など)を求めて領域を走査する。例えば、走査モジュール1404は、オペレーティングシステム、別のアプリケーション、プラグイン、又はクライアントの一部とすることができる。ステップ1504において、走査モジュール1404が、走査を通じて無線ネットワークのネットワーク識別子を検出する。ネットワーク識別子は、例えばBSSID及び/又はSSIDなどの、無線ネットワーク又はネットワーク装置を識別するいずれかの情報とすることができる。走査を通じて、あらゆる数の無線ネットワークに関連するあらゆる数のネットワーク識別子を受け取ることができる。
【0181】
ステップ1506において、DNSモジュール1406が、DNSプロトコル用にフォーマットされた位置要求を生成する。この位置要求は、ネットワーク識別子を含むことができる。いくつかの実施形態では、走査モジュール1404による走査により2以上のネットワーク識別子が見つかったとしても、位置要求は1つのネットワーク識別子しか含まない。他の実施形態では、位置要求が、走査モジュール1404による走査で見つかったネットワーク識別子の一部又は全部を含む。
【0182】
ステップ1508において、コントローラ1402又は走査モジュール1404が、DNSプロトコルを通じ、ネットワークを介してサーバなどのデジタル装置に位置要求を提供する。例えば、デジタル装置1002は、ネットワーク装置のオープンポートを介して位置サーバに位置要求を提供することができる。位置要求を提供する処理は、本明細書で説明したようなネットワーク装置のオープンポートを介して(信用証明書要求などの)メッセージを提供する処理と同様のものとすることができる。オープンポートは、いずれのオープンポートであってもよい。1つの例では、オープンポートがポート53である。
【0183】
ステップ1510において、位置モジュール1408が、位置要求を受け取ったデジタル装置から位置応答を受け取る。位置応答は、ネットワーク識別子により識別されるネットワーク又はネットワーク装置の近似位置を識別する位置情報を含むことができる。
【0184】
ステップ1512において、位置モジュール1408が、位置応答から位置情報を取り出す。位置モジュール1408は、この位置情報をユーザ、ハードウェア装置、又はソフトウェアプログラムに提供することができる。位置モジュール1508は、位置情報を復号することができる。
【0185】
いくつかの実施形態では、位置応答が、追加情報の要求を含むことができる。例えば、位置要求は、符号化されたBSSIDなどの、無線ネットワークに関連するネットワーク識別子を含むことができる。位置要求を受け取るデジタル装置は、ネットワーク識別子に関する情報又は不十分な情報を有することができない。この結果、位置要求を受け取ったデジタル装置は、追加情報の要求を含む位置応答を提供することができる。その後、DNSモジュール1404は、前の位置要求とは異なる1又はそれ以上のネットワーク識別子を含む新たな位置要求を生成することができる。その後、この新たな位置要求を提供して、位置を特定できるかどうかを判定することができる。この処理は、例えば、位置が識別されるまで、走査モジュール1404によって走査されたネットワーク識別子が、全て1又はそれ以上の位置要求に含まれるまで、所定の時間が経過するまで、及び/又は位置を識別するための試行が所定の回数に達するまで継続することができる。
【0186】
当業者であれば、いつ何時でも位置要求を生成及び/又は送信できることを理解するであろう。例えば、ユーザが、GPS装置を有していないデジタルカメラで撮った写真にタグを付けたいと望むことがある。ユーザは、無線ネットワーク識別子を求めて領域を走査することもできるデジタルカメラで写真を撮ることもある。走査した無線ネットワーク識別子に写真の1又はそれ以上を関連付けることができる。デジタルカメラが(例えば無線で、又は有線ネットワークを介して)ネットワークに接続されている場合、DNSモジュール1404又はウェブモジュール1408は、位置要求を生成することができる。位置要求は、走査したネットワーク識別子の1又はそれ以上を含むことができる。次に、コントローラ1402が、受け取った位置応答から受け取った位置情報に基づいて、個々の写真に適宜タグを付けることができる。いくつかの実施形態では、写真に関連する1又はそれ以上のネットワーク識別子を含む個別の位置要求が写真ごとに存在してもよい。他の実施形態では、複数の写真の位置要求が存在してもよい。タグを付けた位置情報を写真に関連付ける方法はいくつも存在し、以下に限定されるわけではないが、写真をプリントする際に位置情報をプリントしたり、又は写真に関連するメタデータ内に位置情報を表示したりすることができる。
【0187】
図16は、例示的な位置サーバ1602のブロック図である。位置サーバ1602は、限定するわけではないが、信用証明書サーバ116(図1を参照)を含むいずれかのデジタル装置とすることができる。位置サーバ1602は、異なるネットワーク識別子に関連する位置情報を収集し、及び/又は位置要求に基づいてデジタル装置に位置情報を提供するように構成することができる。位置サーバ1602は、DNS位置モジュール1604、ウェブモジュール1606、位置分析モジュール1608、及び位置データベース1610を含むことができる。
【0188】
DNS位置モジュール1604は、位置要求を受け取るように構成することができる。1つの例では、DNS位置モジュール1604が、デジタル装置102から位置要求を受け取る。DNS位置モジュール1604は、1又はそれ以上のネットワーク識別子、位置要求を送信したデジタル装置、バージョン識別子、又はその他のいずれかの情報を位置要求から取り出すことができる。DNS位置モジュール1604を、位置要求から情報を復号する(例えば、16進符号化された情報を復号する)ように構成することもできる。1つの例では、DNS位置モジュール1604が、ハッシュ化されたネットワーク識別子を共有鍵で復号する。いくつかの実施形態では、DNS位置モジュール1604が、位置要求を認証及び/又は解読することができる。
【0189】
いくつかの実施形態では、DNS位置モジュール1604が、1又はそれ以上のデジタル装置から位置識別メッセージを受け取ることもできる。例えば、1又はそれ以上のデジタル装置は、GPS装置を有することができ、又はデジタル装置の近似位置を知ることができる。デジタル装置は、領域を走査してネットワーク識別子を検出し、検出したネットワーク識別子及び(GPS装置又は位置サーバ1602などからの)いずれかの位置情報を位置サーバ1602へ送信することができる。
【0190】
位置識別メッセージは、1又はそれ以上のネットワーク識別子を含むことができる。位置識別メッセージは、位置識別メッセージ及び/又はネットワーク識別子の1又はそれ以上を送信するデジタル装置に関連付けることができる位置情報を含むこともできる。いくつかの実施形態では、DNS位置モジュール1604又は位置分析モジュール1608が、位置情報をネットワーク識別子の1又はそれ以上に関連付け、この関連性を位置データベース1610に記憶することができる。様々な実施形態では、DNS位置モジュール1604又は位置分析モジュール1608が、位置情報及び/又はネットワーク識別子の全部又は一部を位置データベース1610に記憶することができる。
【0191】
ウェブモジュール1606は、(HTTP又はHTTPSなどを介して)位置要求を受け取るように構成することもできる。いくつかの実施形態では、位置サーバ1602がウェブサーバである。1つの例では、DNS位置モジュール1604と同様に、ウェブモジュール1606も、デジタル装置102から位置要求を受け取る。ウェブモジュール1606は、1又はそれ以上のネットワーク識別子、位置要求を送信したデジタル装置、バージョン識別子、又はその他のいずれかの情報を位置要求から取り出すことができる。ウェブモジュール1606は、位置要求からの情報を復号するように構成することができる。いくつかの実施形態では、ウェブモジュール1606が、位置要求を認証及び/又は解読することができる。
【0192】
いくつかの実施形態では、ウェブモジュール1606も、DNS位置モジュール1604の場合と同様の方法で1又はそれ以上のデジタル装置から位置識別メッセージを受け取ることができる。
【0193】
位置分析モジュール1608は、利用可能な位置情報に基づいて、ネットワーク装置の位置又は近似位置を特定して記憶するように構成することができる。様々な実施形態では、位置分析モジュール1608が、デジタル装置から(例えば、ネットワーク収集メッセージから)ネットワーク識別子及び位置情報を受け取る。ネットワーク識別子は、ネットワーク装置を識別することができる。位置情報は、検出されたネットワーク装置を走査したスマートフォンなどのデジタル装置の位置を識別することができる。位置分析モジュール1608は、(デジタル装置のGPS座標などの)位置情報をネットワーク識別子に関連付け、この関連性を位置データベース1610に記憶することができる。
【0194】
位置情報は、座標に加え、座標の信頼度又信頼レベルを含むことができる。例えば、多くの異なる種類のGPSハードウェアが、緯度座標、経度座標、及び信頼度を識別する。信頼度は、生じ得る誤差を示す範囲とすることができる。例えば、特定の座標の組の信頼度(精度又は誤差範囲など)を、+/−20フィートとすることができる。換言すれば、GPSハードウェアは、特定の座標の組から20フィート以内に位置すると考えることができる。この信頼度を、関連する座標とともに位置データベース1610に記憶することができる。
【0195】
様々な実施形態では、位置分析モジュール1608が、所定の時間後に、及び/又は特定のネットワーク識別子を識別する所定の数のネットワーク識別メッセージを受け取った後にネットワーク装置の位置を特定する。例えば、位置分析モジュール1608は、ネットワーク装置を識別する設定数のメッセージ及び位置情報を受け取った(例えば、ネットワーク装置に関するいくつかのネットワーク収集メッセージを受け取った)後にしかネットワーク装置の位置を特定することができない。当業者であれば、単一のネットワーク収集メッセージでは、誤った位置情報が含まていれる可能性があることを理解するであろう。いくつかの異なるデジタル装置が同じネットワーク識別子を検出して位置情報を提供するので、ネットワーク識別子の位置の信頼性が高まると考えられる。従って、例えば、位置分析モジュール1608は、同じネットワーク識別子を含む10個の位置識別メッセージを受け取った後に、このネットワーク識別子に関連するネットワークの位置を特定することができる。
【0196】
位置分析モジュール1608は、位置に関する全体的信頼度を判定することもできる。1つの例では、位置分析モジュール1608が、位置を特定するために使用した位置情報に関連する利用可能な信頼度を統計的に測定し、重み付けし、及び/又は平均化することができる。全体的信頼度は、デジタル装置102に提供できる位置の誤差範囲を示すことができる。いくつかの実施形態では、位置応答が、位置情報及び全体的信頼度を含む。
【0197】
いくつかの実施形態では、位置分析モジュール1608が、ネットワーク識別子に関連する位置情報(例えば、所定の時間にわたって受け取られた位置情報、又は位置サーバ1602及び/又はその他のデジタル装置によって受け取られた全てのネットワーク識別メッセージ)を取り出すことにより、このネットワークの位置を特定する。その後、位置分析モジュール1608は、(ネットワーク装置を検出した全てのデジタル装置のGPS座標を平均化することなどの)いずれかの統計的手段を通じて、ネットワーク装置の位置を特定することができる。
【0198】
いくつかの実施形態では、位置分析モジュール1608が、GPS座標の1又はそれ以上に関する信頼度を取り出し、この情報を使用してネットワーク装置の位置を特定する。例えば、統計処理では、位置分析モジュール1608が、信頼度に少なくとも部分的に基づいてGPS座標に重み付けすることができる。1つの例では、位置分析モジュールが、(+/−5フィートの信頼度などの)誤差範囲の低いGPS座標に高く重み付けすることができる。同様に、位置分析モジュールは、(+/−500フィートの信頼度などの)誤差範囲の高いGPS座標の衝突を低減又は除去することができる。当業者であれば、信頼度に部分的に基づいてあらゆる数の方法でGPS座標に重み付けできることを理解するであろう。
【0199】
いくつかの実施形態では、位置分析モジュール1608が、データを閾値化する。例えば、位置分析モジュール1608は、位置を特定する前に(GPS座標の大部分が集まっているのに対し、1つ又は2つのGPS座標がこの集まりから何マイルも離れて位置するような)異常値を除去することができる。さらに、位置分析モジュール1608は、信頼性の欠如を示唆する位置情報を除去することができる。例えば、位置分析モジュール1608は、検出中のデジタル装置が移動中であったこと、又は他の位置情報に対して高高度にあったことを示す位置情報を除去することができる。同様に、位置分析モジュール1608は、GPS座標の誤差範囲が広すぎることを示す位置情報も除去することができる。
【0200】
当業者であれば、位置分析モジュール1608が、所定の時間後、所定数のネットワーク識別メッセージを受け取った後、又はネットワークが移動した可能性があることを示唆するいくつかのネットワーク識別メッセージを受け取った後に位置を特定し直すことによってネットワーク識別子の位置を定期的に確認できることを理解するであろう。例えば、会社が閉鎖して物的資産を売却することは珍しくない。この結果、ネットワーク装置が売却され、異なる位置で使用されている可能性がある。1つの例では、位置分析モジュール1608が、あるネットワーク識別子に関してすでに収集した位置情報と異なる位置情報を有するネットワーク識別子を含むいくつかのネットワーク識別メッセージを受け取ることができる。所定の時間後、又は所定数のネットワーク識別メッセージを受け取った後に、位置分析モジュール1608は、新たな情報に基づいてネットワーク識別子の位置を特定し、以前に記憶した位置と新たに特定した位置を比較することができる。これらの位置が大幅に異なる場合、位置分析モジュール1608は、位置データベース1610を新たな位置で更新し、又はさらなる情報を受け取るのを待ってから変更を行うことができる。
【0201】
位置分析モジュール1608は、信号強度又はGPS位置の品質に基づいてネットワーク識別子の位置に重み付けすることもできる。いくつかの実施形態では、位置情報が、ネットワーク識別子の信号強度及び/又は(ネットワーク識別子を走査したデジタル装置から20メートル以内などの)GPS位置の信頼度の指標を含む。このGPS位置の信号強度及び/又は信頼度を、あらゆる数の関連するネットワーク識別メッセージを介して位置を特定する上での因子とすることができる。
【0202】
位置データベース1610は、複数のネットワーク識別子及び関連する位置(位置情報など)を含むいずれかのデータ構造(表など)である。位置データベース1610は、位置識別メッセージ、デジタル装置識別子、ライセンス識別子などを記憶することもできる。
【0203】
図17は、DNSプロトコルフォーマットのメッセージを通じ、無線ネットワークを介して位置情報を提供する例示的な方法のフロー図である。ステップ1702において、DNS位置モジュール1604が、DNSプロトコル用にフォーマットされた位置要求を受け取る。位置要求は、(BSSID又はSSIDなどの)1又はそれ以上のネットワーク識別子を含むことができる。次にDNS位置モジュール1604は、ステップ1704において、位置要求から(単複の)ネットワーク識別子を取り出すことができる。
【0204】
ステップ1706において、位置分析モジュール1608が、位置データベース1610から(単複の)ネットワーク識別子に関連する位置情報を取り出すことができる。この(単複の)ネットワーク識別子に関連する位置情報が存在しない場合、位置分析モジュール1608は、位置要求を提供したデジタル装置に追加情報を要求することができる。
【0205】
ステップ1708において、DNS位置モジュール1604が、位置情報を含む位置応答をDNSプロトコルでフォーマットすることができる。当業者であれば、いくつかの実施形態では、ウェブモジュール1606がHTTPフォーマットのメッセージとして位置応答を受け取ることができると理解するであろう。ウェブモジュール1606は、HTTPフォーマットのメッセージとして位置応答を提供することもできる。
【0206】
ステップ1710において、位置要求を提供したデジタル装置に位置応答を提供する。様々な実施形態では、位置サーバ1602が、位置要求と同じ形で位置応答を戻す。例えば、位置要求がDNSプロトコルでフォーマットされていた場合、位置応答もDNSプロトコルフォーマットのメッセージとして戻される。
【0207】
いくつかの実施形態では、デジタル装置102が、複数の異なるネットワークの位置情報を含む位置応答を位置サーバ1602から受け取ることができる。例えば、デジタル装置102による領域の走査が、3つの異なるBSSIDを含むことがある。この3つのBSSIDを(HTTPなどを介して)位置要求に含め、デジタル装置102は、この3つのBSSIDの全ての位置情報を含む位置応答を受け取ることができる。様々な実施形態では、デジタル装置102が、3つのBSSIDのうちの1つの位置情報を選択し、位置情報を平均化し、或いはBSSIDの各々の信号強度に基づいてデジタル装置102の位置を三角測量することができる。当業者であれば、あらゆる数の方法でデジタル装置102の位置を特定できることを理解するであろう。
【0208】
様々な実施形態では、デジタル装置102が、1つの位置要求、又は複数のネットワーク識別子を含む複数の位置要求を提供することができる。位置サーバ1602は、この(単複の)位置要求からネットワーク識別子を取り出し、ネットワーク識別子の2又はそれ以上に関連する位置情報を識別して、デジタル装置102の位置を三角測量することができる。この三角測量は、位置サーバ1602が記憶する位置情報の信頼度に部分的に基づくことができる。その後、位置サーバ1602は、三角測量した情報を含む位置応答をデジタル装置102に戻すことができる。
【0209】
図18は、ネットワークを介して位置情報を収集する例示的な方法のフロー図である。ステップ1802において、DNS位置モジュール1604が、無線ネットワークに関する(1又はそれ以上のネットワーク識別子などに関連する)複数のネットワーク収集メッセージを受け取る。
【0210】
ステップ1804において、DNS位置モジュール1604が、この複数のネットワーク収集メッセージから位置識別子を取り出す。この複数のネットワーク収集メッセージからのネットワーク識別子及び位置情報などの情報を、位置データベース1610に記憶することができる。
【0211】
ステップ1806において、位置分析モジュール1608が、位置データベース1610に記憶された位置情報に少なくとも部分的に基づいてネットワーク識別子の位置を特定する。位置は、GPS座標、高度、又はその他のいずれかの特定を含むことができる。位置は、信頼基準を含むこともできる(例えば、この信頼基準は、位置が近似であり、20メートル以内に存在し得ることを示すことができる。)
【0212】
いくつかの実施形態では、位置分析モジュール1608が、ネットワーク識別子に関連する位置情報を統計的に分析することによってネットワークの位置を特定する。例えば、特定のネットワーク識別子に関連する位置情報を含むあらゆる数のネットワーク収集メッセージが時間とともに受け取られると考えられる。位置分析モジュール1608は、所定の時間後、及び/又はそのネットワーク識別子に関する所定数のメッセージを受け取った後に、ネットワークの位置を特定することができる。1つの例では、位置分析モジュール1608が、あらゆる異常値を除去した後に、複数の異なるネットワーク収集メッセージからの位置情報を平均化することにより、ネットワークの近似位置を特定する。その後、結果として得られる位置をネットワークのネットワーク識別子に関連付け、位置データベース1610に記憶することができる。
【0213】
上述の機能及び構成要素は、コンピュータ可読媒体などの記憶媒体上に記憶された命令で構成することができる。この命令をプロセッサが取り出して実行することができる。命令のいくつかの例として、ソフトウェア、プログラムコード及びファームウェアがある。記憶媒体のいくつかの例としては、記憶装置、テープ、ディスク、集積回路及びサーバがある。この命令は、プロセッサにより実行された場合、プロセッサが本発明の実施形態に従って動作するように導く。当業者は、命令、(単複の)プロセッサ及び記憶媒体に精通している。
【0214】
以上、例示的な実施形態を参照しながら本発明について説明した。当業者には、本発明のより広い範囲から逸脱することなく、様々な修正を行うとともに他の実施形態を使用できることが明らかであろう。従って、例示的な実施形態に対するこれらの及びその他の変形も本発明に含まれることが意図されている。
【符号の説明】
【0215】
1002:デジタル装置
1004:ネットワーク装置
1006:ネットワーク装置
1008:通信ネットワーク
1010:ルールサーバ
1012:ネットワークデータベース
1014:プロファイルサーバ
1016:信用証明書サーバ
1018:ウェブサーバ
【特許請求の範囲】
【請求項1】
デジタル装置によって1又はそれ以上の無線ネットワークを求めて領域を走査するステップと、
前記1又はそれ以上の無線ネットワークに関連する1又はそれ以上のBSSIDを受け取るステップと、
前記1又はそれ以上のBSSIDを含む位置要求を、DNSプロトコルフォーマットのメッセージで生成するステップと、
前記位置要求を提供するステップと、
前記位置要求に基づく位置応答を受け取るステップと、
前記位置応答から少なくとも1つの位置識別子を取り出すステップと、
を含むことを特徴とするネットワークを介して位置を特定するための方法。
【請求項2】
前記位置応答は、DNSプロトコルとしてフォーマットされる、
ことを特徴とする請求項1に記載の方法。
【請求項3】
前記位置要求の中の前記1又はそれ以上のBSSIDを符号化するステップをさらに含む、
ことを特徴とする請求項1に記載の方法。
【請求項4】
前記位置応答から取り出した少なくとも1つの位置識別子を復号するステップをさらに含む、
ことを特徴とする請求項1に記載の方法。
【請求項5】
前記位置要求は、ネットワークアクセス装置のオープンポートを使用してネットワーク上の位置サーバに提供される、
ことを特徴とする請求項1に記載の方法。
【請求項6】
前記オープンポートは、ポート53である、
ことを特徴とする請求項5に記載の方法。
【請求項7】
前記少なくとも1つの位置識別子は、緯度及び経度を含む、
ことを特徴とする請求項1に記載の方法。
【請求項8】
前記少なくとも1つの位置識別子を、前記デジタル装置のアプリケーションに提供するステップをさらに含む、
ことを特徴とする請求項1に記載の方法。
【請求項9】
GPS座標及び1又はそれ以上のネットワーク装置識別子をサーバに提供するステップをさらに含む、
ことを特徴とする請求項1に記載の方法。
【請求項10】
1又はそれ以上の無線ネットワークを求めて領域を走査し、前記1又はそれ以上の無線ネットワークに関連する1又はそれ以上のBSSIDを受け取るように構成された走査モジュールと、
前記1又はそれ以上のBSSIDを含む位置要求を、DNSプロトコルフォーマットのメッセージで生成し、前記位置要求を提供するように構成されたDNSモジュールと、
前記位置要求に基づく位置応答を受け取り、前記位置応答から少なくとも1つの位置識別子を取り出すように構成された位置モジュールと、
を備えることを特徴とするネットワークを介して位置を特定するためのシステム。
【請求項11】
前記位置応答は、DNSプロトコルとしてフォーマットされる、
ことを特徴とする請求項10に記載のシステム。
【請求項12】
前記DNSモジュールは、前記位置要求の中の前記1又はそれ以上のBSSIDを符号化するようにさらに構成される、
ことを特徴とする請求項10に記載のシステム。
【請求項13】
前記位置モジュールは、前記位置応答から取り出した前記少なくとも1つの位置識別子を復号するようにさらに構成される、
ことを特徴とする請求項10に記載のシステム。
【請求項14】
前記DNSモジュールは、ネットワークアクセス装置のオープンポートを使用してネットワーク上の位置サーバに前記位置要求を提供するように構成される、
ことを特徴とする請求項10に記載のシステム。
【請求項15】
前記オープンポートは、ポート53である、
ことを特徴とする請求項14に記載のシステム。
【請求項16】
前記少なくとも1つの位置識別子は、緯度及び経度を含む、
ことを特徴とする請求項10に記載のシステム。
【請求項17】
前記位置モジュールは、前記デジタル装置のアプリケーションに前記少なくとも1つ位置識別子を提供するようにさらに構成される、
ことを特徴とする請求項10に記載のシステム。
【請求項18】
前記DNSモジュールは、GPS座標及び1又はそれ以上のネットワーク装置識別子をサーバに提供するようにさらに構成される、
ことを特徴とする請求項10に記載のシステム。
【請求項19】
デジタル装置によって1又はそれ以上の無線ネットワークを求めて領域を走査するステップと、
前記1又はそれ以上の無線ネットワークに関連する1又はそれ以上のBSSIDを受け取るステップと、
前記1又はそれ以上のBSSIDを含む位置要求を、DNSプロトコルフォーマットのメッセージで生成するステップと、
前記位置要求を提供するステップと、
前記位置要求に基づく位置応答を受け取るステップと、
前記位置応答から少なくとも1つの位置識別子を取り出すステップと、
からなる方法を実行する命令を記憶したことを特徴とするコンピュータ可読記憶媒体。
【請求項20】
前記位置応答は、DNSプロトコルとしてフォーマットされる、
ことを特徴とする請求項19に記載のコンピュータ可読記憶媒体。
【請求項1】
デジタル装置によって1又はそれ以上の無線ネットワークを求めて領域を走査するステップと、
前記1又はそれ以上の無線ネットワークに関連する1又はそれ以上のBSSIDを受け取るステップと、
前記1又はそれ以上のBSSIDを含む位置要求を、DNSプロトコルフォーマットのメッセージで生成するステップと、
前記位置要求を提供するステップと、
前記位置要求に基づく位置応答を受け取るステップと、
前記位置応答から少なくとも1つの位置識別子を取り出すステップと、
を含むことを特徴とするネットワークを介して位置を特定するための方法。
【請求項2】
前記位置応答は、DNSプロトコルとしてフォーマットされる、
ことを特徴とする請求項1に記載の方法。
【請求項3】
前記位置要求の中の前記1又はそれ以上のBSSIDを符号化するステップをさらに含む、
ことを特徴とする請求項1に記載の方法。
【請求項4】
前記位置応答から取り出した少なくとも1つの位置識別子を復号するステップをさらに含む、
ことを特徴とする請求項1に記載の方法。
【請求項5】
前記位置要求は、ネットワークアクセス装置のオープンポートを使用してネットワーク上の位置サーバに提供される、
ことを特徴とする請求項1に記載の方法。
【請求項6】
前記オープンポートは、ポート53である、
ことを特徴とする請求項5に記載の方法。
【請求項7】
前記少なくとも1つの位置識別子は、緯度及び経度を含む、
ことを特徴とする請求項1に記載の方法。
【請求項8】
前記少なくとも1つの位置識別子を、前記デジタル装置のアプリケーションに提供するステップをさらに含む、
ことを特徴とする請求項1に記載の方法。
【請求項9】
GPS座標及び1又はそれ以上のネットワーク装置識別子をサーバに提供するステップをさらに含む、
ことを特徴とする請求項1に記載の方法。
【請求項10】
1又はそれ以上の無線ネットワークを求めて領域を走査し、前記1又はそれ以上の無線ネットワークに関連する1又はそれ以上のBSSIDを受け取るように構成された走査モジュールと、
前記1又はそれ以上のBSSIDを含む位置要求を、DNSプロトコルフォーマットのメッセージで生成し、前記位置要求を提供するように構成されたDNSモジュールと、
前記位置要求に基づく位置応答を受け取り、前記位置応答から少なくとも1つの位置識別子を取り出すように構成された位置モジュールと、
を備えることを特徴とするネットワークを介して位置を特定するためのシステム。
【請求項11】
前記位置応答は、DNSプロトコルとしてフォーマットされる、
ことを特徴とする請求項10に記載のシステム。
【請求項12】
前記DNSモジュールは、前記位置要求の中の前記1又はそれ以上のBSSIDを符号化するようにさらに構成される、
ことを特徴とする請求項10に記載のシステム。
【請求項13】
前記位置モジュールは、前記位置応答から取り出した前記少なくとも1つの位置識別子を復号するようにさらに構成される、
ことを特徴とする請求項10に記載のシステム。
【請求項14】
前記DNSモジュールは、ネットワークアクセス装置のオープンポートを使用してネットワーク上の位置サーバに前記位置要求を提供するように構成される、
ことを特徴とする請求項10に記載のシステム。
【請求項15】
前記オープンポートは、ポート53である、
ことを特徴とする請求項14に記載のシステム。
【請求項16】
前記少なくとも1つの位置識別子は、緯度及び経度を含む、
ことを特徴とする請求項10に記載のシステム。
【請求項17】
前記位置モジュールは、前記デジタル装置のアプリケーションに前記少なくとも1つ位置識別子を提供するようにさらに構成される、
ことを特徴とする請求項10に記載のシステム。
【請求項18】
前記DNSモジュールは、GPS座標及び1又はそれ以上のネットワーク装置識別子をサーバに提供するようにさらに構成される、
ことを特徴とする請求項10に記載のシステム。
【請求項19】
デジタル装置によって1又はそれ以上の無線ネットワークを求めて領域を走査するステップと、
前記1又はそれ以上の無線ネットワークに関連する1又はそれ以上のBSSIDを受け取るステップと、
前記1又はそれ以上のBSSIDを含む位置要求を、DNSプロトコルフォーマットのメッセージで生成するステップと、
前記位置要求を提供するステップと、
前記位置要求に基づく位置応答を受け取るステップと、
前記位置応答から少なくとも1つの位置識別子を取り出すステップと、
からなる方法を実行する命令を記憶したことを特徴とするコンピュータ可読記憶媒体。
【請求項20】
前記位置応答は、DNSプロトコルとしてフォーマットされる、
ことを特徴とする請求項19に記載のコンピュータ可読記憶媒体。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【公表番号】特表2012−531111(P2012−531111A)
【公表日】平成24年12月6日(2012.12.6)
【国際特許分類】
【出願番号】特願2012−516320(P2012−516320)
【出願日】平成22年6月17日(2010.6.17)
【国際出願番号】PCT/US2010/039092
【国際公開番号】WO2010/148260
【国際公開日】平成22年12月23日(2010.12.23)
【出願人】(509065964)デバイススケープ・ソフトウェア・インコーポレーテッド (10)
【Fターム(参考)】
【公表日】平成24年12月6日(2012.12.6)
【国際特許分類】
【出願日】平成22年6月17日(2010.6.17)
【国際出願番号】PCT/US2010/039092
【国際公開番号】WO2010/148260
【国際公開日】平成22年12月23日(2010.12.23)
【出願人】(509065964)デバイススケープ・ソフトウェア・インコーポレーテッド (10)
【Fターム(参考)】
[ Back to top ]