(57)【特許請求の範囲】
【請求項１】
ネットワーク通信システムにおける位置決定のためにサーバー装置により実行される方法であって、
ターゲットのクライアント装置が、ユーザＩＤにより識別される対象のユーザにより主にローカルに使用されているか否かを判定するステップと、
前記ターゲットのクライアント装置が主にローカルに使用されている場合に、前記ターゲットのクライアント装置がマルチユーザー装置であるか否かを判定するステップと、
前記ターゲットのクライアント装置がマルチユーザー装置であった場合に、前記対象のユーザーが前記ターゲットのクライアント装置の主ユーザーであるか否かを判定するステップと、
前記対象のユーザーが前記ターゲットのクライアント装置の前記主ユーザーであった場合に、前記ターゲットのクライアント装置の物理的位置情報を取得するステップと、
ローカルな使用とリモートの使用との比率、ローカルなユーザーによる前記ターゲットのクライアント装置のピーク使用比率、及び前記対象のユーザーによる入力のうちの１つ以上に基づいて、前記物理的位置情報の信頼度を判定するステップであって、前記信頼度が前記対象のユーザーによる入力に基づいて判定される場合、低い信頼度値を前記信頼度に割り当てる、ステップと、
前記物理的位置情報及び前記信頼度を要求元に提供するステップと
を含む方法。
【請求項２】
前記要求元が緊急サービスを提供する別のサーバー装置であり、前記対象のユーザーが、前記ターゲットのクライアント装置で実行される通信アプリケーションにより緊急事態を報告している者である、請求項１に記載の方法。
【請求項３】
前記ターゲットのクライアント装置がシングルユーザーのクライアント装置であると判定された場合、前記ターゲットのクライアント装置の物理的位置情報を取得するステップをさらに有する請求項１に記載の方法。
【請求項４】
ターゲットのクライアント装置が、ユーザＩＤにより識別される対象のユーザにより主にローカルに使用されているか否かを判定するステップにおいて、
ログイン、ログアウト、再接続、切断、ブート、リブート、シャットダウン、ワークステーションロック、ワークステーションのアンロック及びスクリーンセーバの解除の群の中の少なくとも１つを含むイベントに基づいて、前記ターゲットのクライアント装置が主にローカルに使用されているか否かを判定する、請求項１に記載の方法。
【請求項５】
周期的な間隔及びランダムな間隔のうち何れかにより前記物理的位置情報を判定するステップと、
前記要求元からの要求に応じて、前記物理的位置情報の確認を行うステップと
を更に有する請求項１に記載の方法。
【請求項６】
前記信頼度を判定するステップにおいて、ローカルな使用とリモートの使用との比率と第１の閾値との比較、及びピーク使用比率と第２の閾値との比較に基づいて、前記信頼度を判定し、前記第１及び第２の閾値は、ターゲットのクライアント装置のタイプ、ネットワークのタイプ、時刻、前記ネットワーク内のコンピューティング装置の数、使用パターン、及び前記コンピューティング装置の地理的な分布による群中の少なくとも１つに基づいて決定される、請求項１に記載の方法。
【請求項７】
ネットワーク通信システムにおける位置決定のためのサーバー装置であって、
ターゲットのクライアント装置が、ユーザＩＤにより識別される対象のユーザにより主にローカルに使用されているか否かを判定する手段と、
前記ターゲットのクライアント装置が主にローカルに使用されている場合に、前記ターゲットのクライアント装置がマルチユーザー装置であるか否かを判定する手段と、
前記ターゲットのクライアント装置がマルチユーザー装置であった場合に、前記対象のユーザーが前記ターゲットのクライアント装置の主ユーザーであるか否かを判定する手段と、
前記対象のユーザーが前記ターゲットのクライアント装置の前記主ユーザーであった場合に、前記ターゲットのクライアント装置の物理的位置情報を取得する手段と、
ローカルな使用とリモートの使用との比率、ローカルなユーザーによる前記ターゲットのクライアント装置のピーク使用比率、及び前記対象のユーザーによる入力のうちの１つ上に基づいて、前記物理的位置情報の信頼度を判定する手段であって、前記信頼度が前記対象のユーザーによる入力に基づいて判定される場合、低い信頼度値を前記信頼度に割り当てる、手段と、
前記物理的位置情報及び前記信頼度を要求元に提供する手段と
を含むサーバー装置。
【請求項８】
ネットワーク通信システムにおける位置決定のためにサーバー装置に動作方法を実行させるコンピュータプログラムであって、前記動作方法は、
ターゲットのクライアント装置が、ユーザＩＤにより識別される対象のユーザにより主にローカルに使用されているか否かを判定するステップと、
前記ターゲットのクライアント装置が主にローカルに使用されている場合に、前記ターゲットのクライアント装置がマルチユーザー装置であるか否かを判定するステップと、
前記ターゲットのクライアント装置がマルチユーザー装置であった場合に、前記対象のユーザーが前記ターゲットのクライアント装置の主ユーザーであるか否かを判定するステップと、
前記対象のユーザーが前記ターゲットのクライアント装置の前記主ユーザーであった場合に、前記ターゲットのクライアント装置の物理的位置情報を取得するステップと、
ローカルな使用とリモートの使用との比率、ローカルなユーザーによる前記ターゲットのクライアント装置のピーク使用比率、及び前記対象のユーザーによる入力のうちの１つ上に基づいて、前記物理的位置情報の信頼度を判定するステップであって、前記信頼度が前記対象のユーザーによる入力に基づいて判定される場合、低い信頼度値を前記信頼度に割り当てる、ステップと、
前記物理的位置情報及び前記信頼度を要求元に提供するステップと
を含む、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークコンピュータのきめの細かい位置決定に関する。
【背景技術】
【０００２】
高度なコンピューティング能力の発展とともに、より小型で高機能のコンピューティングデバイスが、通信および他のサービスを増加の一途を辿るユーザーに提供する際に使用されている。現代の通信デバイスでは、ＧＰＳ（全地球測位サービス）、携帯電話追跡、および類似の機能などの位置測定システムを利用して、広範な位置情報サービスをユーザーに提供する。
【０００３】
緊急サービスは、現代の通信システムの極めて重要な一態様である。従来のＰＳＴＮ（公衆交換電話網）を使用した電話の時代では、９１１、９９９、１１２などの非常通報システムは、ネットワークアドミニストレータが保持する位置情報に頼っていた。これは、「陸線」電話が一般に固定であったため適切なことであった。しかし、ワイヤレスデバイスおよびネットワークコンピュータがますます使用されるようになり、通信方式の多様化が進んできている。これらの新しいデバイスでは、位置を決定することが難題であるだけでなく、デバイスが割り当てられたユーザーによって実際に使用されているかどうかを判定する方法も容易に確立されない。
【０００４】
そのため、現代の通信ネットワークで緊急サービスを提供することは、少なくともユーザーの位置に関して難題となっている。ユーザーが緊急呼を発呼した場合、正しい位置で手際よいサービスを提供するためにその呼が正しい通報先にルーティングされる必要がある。
【発明の概要】
【０００５】
この「発明の概要」では、以下の「発明を実施するための形態」でさらに説明される簡素化された形式の概念の選択を導入する。この「発明の概要」は、請求されている主題の鍵となる特徴または本質的特徴をもっぱら明示することを意図しておらず、また請求されている主題の範囲を確定する補助としても意図していない。
【０００６】
実施形態は、リモートでのコンピュータの使用度対ローカルでのコンピュータの使用度、マルチユーザーコンピューティング環境における主ユーザー、およびネットワーク加入者の位置に対する同等のものなどの信頼測定基準を決定することを対象とする。次いで、緊急サービスのようなサービスに正確な位置情報を提供できるように特定のユーザーに対する測定基準およびディレクトリ情報に基づいてきめの細かい位置決定を行うことができる。
【０００７】
これらおよび他の特徴ならびに利点は、以下の詳細な説明を読み、関連する図面を検討することで明らかになる。前述の概要および以下の詳細な記載は両方とも説明のためのものであり、特許請求する態様を限定しないことは理解されるであろう。
【図面の簡単な説明】
【０００８】
【図１】実施形態による加入者の位置決定結果を使用して緊急サービスを提供することができる例示的なマルチネットワーク通信システムの図である。
【図２】実施形態によるシステムを実施するためにクライアントデバイスと相互にやり取りする位置情報サーバーを例示する図である。
【図３】シングルユーザーコンピューティングデバイスとマルチユーザーコンピューティングデバイスとを区別するネットワーク環境における位置決定を例示する図である。
【図４】実施形態によるシステムが実施されうるネットワーク環境を示す図である。
【図５】実施形態が実施されうる、例示的なコンピュータ動作環境のブロック図である。
【図６】実施形態によるネットワークに接続されたコンピューティング環境内の位置情報を決定するプロセスに対する論理流れ図である。
【図７】詳細なステップを加えたネットワークに接続されたコンピューティング環境内の位置情報を決定する別のプロセスに対する論理流れ図である。
【発明を実施するための形態】
【０００９】
上で簡単に説明したように、ネットワークに接続されたコンピューティング環境内のユーザー向けのきめの細かい位置情報を、信頼測定基準に基づき決定することができる。以下の詳細な説明では、本明細書の一部をなす、特定の実施形態または例が図解を用いて示されている、添付図面を参照する。これらの態様を組み合わせ、他の態様を利用し、本開示の精神または範囲から逸脱することなく構造的変更を加えることができる。したがって、以下の詳細な説明は、限定的な意味で解釈すべきではなく、本発明の範囲は、添付の特許請求の範囲およびその等価物によって定義される。
【００１０】
これらの実施形態は、パーソナルコンピュータ上のオペレーティングシステムの下で動作するアプリケーションプログラムと連携して実行されるプログラムモジュールの一般的状況において説明されるが、当業者であれば、態様が他のプログラムモジュールと組み合わせて実施することも可能であることを理解するであろう。
【００１１】
一般に、プログラムモジュールは、特定のタスクを実行するか、または特定の抽象データ型を実施するルーチン、プログラム、コンポーネント、データ構造、および他の種類の構造を含む。さらに、当業者であれば、実施形態は、ハンドヘルドデバイス、マルチプロセッサシステム、マイクロプロセッサベースのまたはプログラム可能な家電製品、ミニコンピュータ、メインフレームコンピュータ、および同等のコンピューティングデバイスを含む、他のコンピュータシステム構成を使用して実施できることを理解するであろう。また実施形態は、通信ネットワークを通じてリンクされているリモート処理デバイスによりタスクが実行される分散コンピューティング環境で実施することもできる。分散コンピューティング環境では、プログラムモジュールは、ローカルおよびリモートの両方の記憶装置デバイス内に配置されうる。
【００１２】
実施形態は、コンピュータ実施プロセス（方法）、コンピューティングシステム、またはコンピュータプログラム製品またはコンピュータ可読媒体などの製造品として実装されうる。コンピュータプログラム製品は、コンピュータシステムにより、およびコンピュータまたはコンピューティングシステムに例示的なプロセス（複数可）を実行させる命令を含むコンピュータプログラムを符号化することにより、読み取り可能なコンピュータ記憶媒体であってよい。コンピュータ可読記憶媒体は、例えば、揮発性コンピュータメモリ、不揮発性メモリ、ハードドライブ、フラッシュドライブ、フロッピー（登録商標）ディスク、またはコンパクトディスク、および同等の媒体のうちの１つまたは複数によって実施されうる。
【００１３】
本明細書全体を通して、「プラットフォーム」という用語は、ネットワーク通信システムを管理するためのソフトウェアコンポーネントとハードウェアコンポーネントの組み合わせとすることができる。プラットフォームの例として、限定はしないが、複数のサーバー上で実行されるホストサービス、単一のサーバー上で実行されるアプリケーション、および同等のシステムが挙げられる。「サーバー」という用語は、一般に、典型的にはネットワーク環境において１つまたは複数のソフトウェアプログラムを実行するコンピューティングデバイスを指す。しかし、サーバーは、ネットワーク上のサーバーとみなせる１つまたは複数のコンピューティングデバイス上で実行される１つの仮想サーバー（ソフトウェアプログラム）として実施することもできる。これらの技術および例示的なオペレーションの詳細を以下で述べる。
【００１４】
図１は、実施形態による加入者の位置決定結果を使用して緊急サービスを提供することができる例示的なマルチネットワーク通信システムの図である。図１００において、ユーザーは、ネットワーク１１０越しにクライアントデバイス１０４および１０６を通じて通信することができる。ネットワーク／通信管理サービス１０８は、ユーザーの位置（例えば、組織におけるユーザーのオフィス／仕事スペース）などの情報を格納するディレクトリサービスの維持を含むネットワークオペレーションのさまざまな態様を管理することができる。ネットワーク１１０は、１つまたは複数の異種ネットワークおよびサブネットを含んでいてもよい。クライアントデバイス１０４、１０６は、通信および他のデータ交換オペレーションを円滑にするためのアプリケーションを実行することができる任意のコンピューティングデバイスを備えることができる。
【００１５】
ネットワーク１１０を介して多くのサービス（例えば、データストレージ、検索、計算、解析、およびさらに多くのもの）をユーザーに提供することができる。これらのサービスのいくつかは、位置情報サービスであってもよい。緊急サービス１０２は、位置情報サービスの一例である。ユーザーがネットワーク１１０を通じて通信アプリケーションによって緊急事態を報告した場合、呼（音声、映像、テキスト、または他のモード）は、その呼を最適に処理できる適切な通報先にルーティングされる必要があり、緊急時対応要員を報告したユーザーの位置へ速やかに送る必要がある。そのため、報告したユーザーの正確な位置を知ることが、緊急サービス１０２には必要である。
【００１６】
実施形態によるシステムにおいて、位置情報サービス１１２は、信頼測定基準を使用して、通信にコンピューティングデバイスを使用しているネットワーク通信システム加入者の位置を決定することができる。使用できる測定基準のうちの１つは、通信を円滑にするために使用されているコンピューティングデバイスのローカルもしくはリモートの使用である。１人または複数のユーザーが、リモートから、またはローカルでログインすることによってコンピューティングデバイスを利用することができる。マシンが主にリモートから使用されている場合、その物理的位置は、特定の加入者の位置とは無関係であるものとしてよく、したがって、位置情報サービスには有用でない。
【００１７】
使用できる別の測定基準は、マルチユーザーコンピューティングデバイスの主ユーザーの決定である。加入者がマシンの主ユーザーでない場合、加入者がそのマシンと同じ位置にいる確率は下がる。そのため、マシンの主ユーザーに対する信頼測定基準を、ログイン／ログアウトの記録または類似の使用度情報に基づき決定することができる。
【００１８】
記録のエラーまたはアドレスの偽造による過ちを防ぐため、確認も実行されうる。例示的なシナリオによれば、ターゲットマシンと同じサブネット上の所定の数のコンピューティングデバイスを「証人集合（ｗｉｔｎｅｓｓ  ｓｅｔ）」として選択することができる。ＬＬＴＤ（Ｌｉｎｋ  Ｌａｙｅｒ  Ｔｏｐｏｌｏｇｙ  Ｄｉｓｃｏｖｅｒｙ：リンク層トポロジー探索）などのネットワークトポグラフィの調査を使用して、証人集合マシンが実際に同じサブネット上にあるかチェックすることができる。次に、ターゲットマシンのローカル／リモートの使用度を決定することができる。マシンが主にローカルで使用されるが、複数のユーザーによって使用される場合、主ユーザー測定基準を使用してコンピューティングデバイスの主ユーザーを決定することができる。両方の（またはさらに多くの）測定基準が満たされている場合、ディレクトリサービスを使用してマシンの位置と加入者の記録上の位置とのマッチングを行い、加入者の位置を正確に決定することができる。次いで、緊急呼をルーティングすること、または加入者の位置に緊急サービスを送ることなどの、位置情報サービス（複数可）を提供することができる。
【００１９】
位置を正確に決定する別の態様は、偽造の確率を決定することである。ワイヤマップ（ｗｉｒｅ  ｍａｐ）における問題による過ちは、偽造の結果とは異なる。過ちが発生した場合、目標は、好ましくは緊急呼に先だって、ワイヤマップのエラーを発見し、それらを是正することである。このような状況では、ＬＩＳ（位置情報サーバー）は、クライアントに提供する前に、ワイヤマップで導出された位置のもっともらしさをチェックするためにアルゴリズムを使用することができる。ＬＩＳで、位置がもっともらしくない（例えば、証人集合がワイヤマップで指示されているものと異なるビルにある）と判断した場合、ＬＩＳは、不確定性領域を増やす、さらには（極端な条件では）クライアントに位置を提供することを拒否するなどの何らかのアクションを起こし、その一方でアドミニストレータが後で調査することができるエラーをログに記録することも考えられる。このアルゴリズムを実行した結果として、ＬＩＳでは、クライアントに提供している位置情報の正確さおよび有効性に関してより満足できる可能性がある。いくつかの実施形態によれば、ＬＩＳは、実際には、クライアントに提供する位置情報に署名し、その後クライアントによってＰＳＡＰ（緊急呼び出しセンター）に渡される位置データが正確であることを保証することができる。
【００２０】
偽造された位置（複数可）の場合、緊急呼がすでになされていることから、呼に添付されている位置が本当にそうなのかという疑問が生じる。おそらく、この疑問は、添付されている位置が署名されていないか、さもなくばＬＩＳに起因しないため生じるものであり、したがって、第三者（例えば、ＳＩＰプロキシ）は、手動で入力されるか、またはＬＩＳによってクライアントに提供される位置から何らかの形で変更されている可能性がある、ユーザーによって提供される位置の妥当性を確認しようと試みると思われる。典型的には、自動位置決定が利用可能でないか、またはユーザーによって過ちが潜在的に検出されている状況においてのみ、位置を手動で入力する。そのため、このシナリオは、相当に困難である可能性があり、クライアントの位置表明を無効にするためには、より一層の証明義務が求められる可能性がある。したがって、位置決定の不確定性を潜在的に決定することに加えて、実施形態によるシステムは、本明細書で説明されている信頼測定基準を使用して偽造の確率を計算することもできる。
【００２１】
図２は、実施形態によるシステムを実施するためにクライアントデバイスと相互にやり取りする位置情報サーバーを例示している。図２００の位置情報サーバー２１４は、２１６から２２４のクライアントデバイスからのログイン、ログアウト、再接続、切断、ブート、リブート、シャットダウン、ワークステーションのロック／アンロック、スクリーンセーバーの解除、または類似のイベントを使用して、それぞれのマシンについてローカル対リモートの使用度を判定することができる。例えば、ローカルログインおよびリモートログインの両方について、ログインに費やされる時間対ユーザーＩＤの分布を計算することができる。特定のクライアントデバイスの使用度がローカルであると判定される場合、単一のユーザーまたは複数のユーザーの使用度に基づく別の測定基準は、以下でさらに詳しく説明するように決定されうる。
【００２２】
両方の測定基準が満たされている場合、位置情報サーバー２１４は、ターゲットユーザー（例えば、緊急事態を報告したユーザー）の物理的位置を調べ、その位置とターゲットクライアントデバイスの信頼水準とのマッチングを行うことができる。例えば、主ユーザーオフィスは、データベース（例えば、人材データベースへのデータベースクエリ）から決定することができる。次いで、決定された情報に基づき、適切な位置情報サービスを提供することができる。
【００２３】
位置決定は、位置情報サービスからの要求などのイベントに、定期的に、またはランダムな間隔で応答して実行されうる。いくつかの実施形態によれば、証人集合からランダムに選択されたマシン（複数可）をチェックし、それらはまだ同じサブネット上にあることを（例えば、ＬＬＴＤを使用して）確認することによって位置が変化していないかどうかの検証を実行することができる。位置情報サーバー２１４は、位置情報列を位置情報サービスに提供するたび毎に関連付けられている信頼測定基準（複数可）を送信することもできる。
【００２４】
高度緊急サービス（Ｅ９１１）などのいくつかの位置情報サービスでは、位置情報の提供元を検証し、緊急サービスがいたずら者によって決定された位置に応答する原因となる、いたずら電話を回避できるように監査証跡を必要とする。これは、位置がユーザー入力に基づき完全に、または部分的に決定されるときに、特定の役割を果たす。監査は、位置提供元（例えば、決定の仕方、データの出所）、さらにはユーザー／デバイスアクション（ユーザー／デバイスが位置問い合わせを送信した、または緊急呼を発信した）を追跡することを必要とする場合がある。プロセスのさまざまな段階で使用されるユーザー識別番号が異なる場合があるため（例えば、セッション開始プロトコル「ＳＩＰ」識別番号、デバイスＭＡＣアドレス、デバイスＩＰアドレス、または位置構成プロトコル（ｌｏｃａｔｉｏｎ  ｃｏｎｆｉｇｕｒａｔｉｏｎ  ｐｒｏｔｏｃｏｌ）内の認証済み識別番号）、完全な監査証跡を確定することは自明なこととは言えない。
【００２５】
以下に、正確な最新の位置データを維持するために位置情報または類似のタスクを処理するサーバー内で実施されうる例示的なアルゴリズムを取りあげる。この例示的なアルゴリズムによれば、動的ホスト構成プロトコル「ＤＨＣＰ」または類似のログを使用して、同じサブネット上の所定の数のコンピューティングデバイスを選択することができる。これらの「証人集合」マシンに接続し（例えばｐｉｎｇを実行し）、それらがまだオンライン状態にあることを確認することができる。さらなるチェック（例えば、ＬＬＴＤ）を使用して、それらのマシンが同じブロードキャストドメイン（サブネット）上にあることを確認することができる。これらのチェックで、証人集合マシンがほぼ同じ位置にあることが確認される。
【００２６】
証人集合内のそれぞれのマシンに対するセキュリティイベントログまたは類似のデータストアから、そのマシンにログオンしているすべてのユーザーに対する関連イベントを所定の期間内に取得することができる。この所定の期間は、休暇のような例外的な出来事を適切に捕捉することができるように選択されうる。関連イベントとしては、限定はしないが、ログイン、ログアウト、再接続、切断、ブート、リブート、シャットダウン、ワークステーションのロック／アンロック、スクリーンセーバーの解除、もしくは類似のイベントが挙げられる。次に、ローカル／リモートの使用度測定基準を（例えば、ローカルとリモートの両方のログインに対するログインに費やされる時間対ユーザーＩＤの分布に基づき）それぞれのマシンについて計算することができる。ローカル／リモートの使用度測定基準が、特定のマシンについて所定の限界を超える場合、マシンは、ローカルユーザーによって主に使用されている。そうでない場合、マシンは、リモートで使用されており、位置決定について関連性がない。
【００２７】
次いで、アルゴリズムは、特定のマシン上のユーザーの数およびそれぞれのユーザーが費やした総時間に基づき、主ユーザー測定基準を計算することができる。ユーザーがマシンの主ユーザーであるか、またはシングルユーザーマシンであると判定されたマシンであると判定される場合、ディレクトリサービスに対して問い合わせを行い、ユーザーに関連付けられている物理的なオフィス位置情報を取得することができる。
【００２８】
適宜、クラスタリングアルゴリズムを、それらの選択されたオフィス位置に関する証人集合内のマシンについて実行することができる。外れ値−ディレクトリ情報サービスが正しい答えを提供していない可能性のあるマシン−は、低い信頼度でマークされるか、またはアドミニストレータが警告を受けうる。さらなる実施形態によれば、所定の数までの証人集合が外れ値として分類されうる。これにより、分離されたディレクトリ情報のエラーに対するロバスト性がもたらされる。新しいマシンを位置情報サービスに追加するときに、完全なクラスタリングアルゴリズムは必要ない場合がある。新しいマシンの距離は、その証人集合のランダムに選択された要素から計算することができる。距離が十分に小さい場合、マシンは、高い信頼度で証人集合の一部であるとみなせる。
【００２９】
位置情報サーバー２１４は、マシンＩＰを、オフィス、証人集合、マシンＭＡＣ、タイムスタンプ、信頼測定基準などにマッピングするデータを格納することができる。位置情報サーバー２１４に（によって）格納される前に検証のため仮マッピングを適宜アドミニストレータに提示するとよい。他の実施形態によれば、アドミニストレータには、人間の検証のため、低信頼度のエントリを与えることができる。高信頼度のエントリは、正しいと想定され、位置情報サーバー２１４に（によって）自動的に格納されうる。クライアントデバイス２１６から２２４は、サーバー２１６、車載コンピュータ２１８、ラップトップコンピュータ２２０、ハンドヘルドコンピュータ２２２、およびデスクトップコンピュータ２２４などのコンピューティングデバイスを含むことができる。
【００３０】
図３は、シングルユーザーコンピューティングデバイスとマルチユーザーコンピューティングデバイスとを区別するネットワーク環境における位置決定を例示する。上述のように、コンピューティングデバイスは、シングルユーザーデバイス、主（もしくはプリンシパル）ユーザーを伴うマルチユーザーデバイス、またはユーザーが等配分されているマルチユーザーデバイスとすることができる。位置決定に使用できるように、コンピューティングデバイスは、最初の２種類のうちの一方である必要がある。図３００は、３つの異なる種類のマシンと相互にやり取りし、主ユーザー測定基準を計算するためにマシンのタイプを決定する位置証明サーバーを例示している。
【００３１】
すでに述べたように、偽造された位置データを回避することは、緊急サービスにとって重要なことである。この目的のために、信頼できる位置証明サーバー３２６が、証人集合から１つのマシンを選択し、その位置を（例えば、ＬＬＴＤの素早い探索を要求することによって）検証することができる。発呼側マシンのＭＡＣアドレスが見つかった場合、これは、証人マシンと同じサブネット上にまだある。見つからない場合、ネットワークパーティションがありうるか、または発呼側が不正直である。信頼できる位置証明サーバー３２６は、証人集合の他の要素で再試行することができる。発呼側は、通常、証人集合を知らない（これらは、無作為に選択されうる）ので、そのＩＰアドレスを偽装することによってその位置に関して嘘をつくことはできない。検証に成功すると、信頼できる位置証明サーバー３２６は、マシンが実際にその証人集合と同じサブネット上にあることを保証する位置証明書に暗号化署名を行うことができる。これは、検証されたとおりに位置情報サービス（例えば、緊急通報先）に提示することができる。従って、位置証明書は、ターゲットクライアントデバイスの位置および識別子を同じ証人集合内の少なくとも１つの他のクライアントデバイスの位置および識別子と比較することに基づき作成されうる。
【００３２】
図３００に示されているように、コンピューティングデバイス３３０は、単一のユーザー（３３２）のマシンであり、コンピューティングデバイス３３４は、複数のユーザー３３６が等しくマシンを使用しているマルチユーザーマシンであり、コンピューティングデバイス３３８は、同じマシンの他の複数のユーザー（３４２）と比較してユーザー３４０が主ユーザーである別のマルチユーザーマシンである。そのため、上述の例示的なアルゴリズムを実行する場合、位置情報サーバーは、ネットワーク３２８を通じて使用度情報を決定し、主ユーザー測定基準を計算することができる。例示的な測定基準は、ローカルユーザーに対する分布のピーク対平均値比によって決定されうる。この比が、所定の閾値より低い場合、コンピューティングデバイス３３４を、マルチユーザーマシンであるとして認定することができ、位置情報はユーザー入力または他の何らかの（外部）位置情報メカニズムから直接送られる必要があるものとしてよい。ユーザーが位置情報列を供給する場合、信頼性のために、低信頼度の位置としてみなされる必要があるものとしてよい。単一のローカルユーザーしかいない場合、またはこの比が所定の閾値より高い場合、マシンは、シングルユーザー（３３０）または主ユーザーがいるマルチユーザー（３３８）であると考えることができる。
【００３３】
マルチユーザーマシンは、モバイルワーカーによって使用されるキオスクスタイルのデスクトップまたはネットワーク経由でリモートから使用される端末サーバーの２つのカテゴリに分けることができる。キオスクデスクトップは、典型的には、これらが物理的に固定されているためきちんと定められている位置を有する。端末サーバーの位置は、これが必要とされるユーザーの位置であって、実行中アプリケーションの位置ではないため、関連性があまりない。
【００３４】
いくつかの実施形態によれば、ユーザーに対して、位置を編集する機会を提供することができる。その場合、ユーザーが実際にその位置を編集するのであれば、信頼度は、「ユーザー供給」（例えば、低）とマークされうる。ユーザー供給の位置では、入力された位置を妥当な近接度について証人集合のものと突き合わせて検証することができる。証人集合が、ユーザー供給の位置を検証しない場合、信頼度は、「ユーザー供給−未検証」（例えば、低）とマークされうる。入力が検証された場合、信頼度は、「ユーザー供給−証人検証」（例えば、中）とマークされうる。さらに、ディレクトリサービスを定期的にチェックし、オフィスに変化がないか調べることができる。これらのチェックは、データベースの更新もしくはＤＨＣＰの要求によってもトリガーされうる。履歴変更記録は、頻繁に移動しているマシン（例えば、ラップトップ）はそうし続ける可能性があるという仮定に基づき、これらの再チェックの頻度に影響を及ぼしうる。
【００３５】
さらなる実施形態によれば、発呼側のＩＰアドレスを使用し、位置情報サーバー（例えば、緊急呼における、またはより高い信頼度が位置データに必要なときの通報先）にインデックスを付けて、データの陳腐性および信頼水準を位置情報サービスによって評価されうるように、タイムスタンプとともにキャッシュされている位置データを速やかに提示することができる。
【００３６】
図１、図２、および図３の例示的なシステムは、特定のコンポーネントおよびアルゴリズムを用いて説明されているが、実施形態は、これらの例示的なシステムによる構成およびオペレーションに限定されない。コンピューティングデバイスおよびユーザーのきめの細かい位置決定は、コンポーネントを減らして、または追加して、他のタスクを実行する構成で実施されうる。さらに、実施形態は、有線もしくはワイヤレスネットワークで、他の測定基準および／または位置情報と併せて実施されうる。例えば、受信信号強度指示（ＲＳＳＩ）データを高い信頼水準に対する実施形態によるアルゴリズムと連携して使用することができる。
【００３７】
図４は、実施形態が実施されうる、例示的なネットワーク環境の図４００を例示している。ネットワーク通信システム内で位置決定を行うプラットフォームは、ホストサービスなどの１つまたは複数のサーバー４６２を通じて実行されるソフトウェアによって実施されうる。プラットフォームは、スマートフォン４５１、車載コンピュータ４５２、ハンドヘルドコンピュータ４５３、ラップトップコンピュータ４５４、およびデスクトップコンピュータ４５５（「クライアントデバイス」）などの個別のコンピューティングデバイス上のクライアントアプリケーションとネットワーク（複数可）４５０によって通信することができる。
【００３８】
上で説明されているように、サーバー４６２のうちの１つによって実行される位置情報サービスは、ユーザーの位置を確実に決定し、その情報を、サーバー４６２のうちの別のサーバーによって、または別のネットワークにあるなおも別のサーバーによって実行される位置情報サービスに提供することができる。位置情報サービスは、クライアントデバイス４５１から４５５を介してユーザーからの入力を受け取り、データストア（複数可）４６６もしくは４６８から（データベースサーバー４６４を通じて）ディレクトリ情報を取り出すことができる。
【００３９】
ネットワーク（複数可）４５０は、サーバー、クライアント、インターネットサービスプロバイダ、および任意の通信媒体のトポロジーを含みうる。実施形態によるシステムは、静的もしくは動的トポロジーを有することができる。ネットワーク（複数可）４５０は、企業ネットワークなどの安全なネットワーク、ワイヤレスオープンネットワークなどの安全でないネットワーク、またはインターネットを含むものとしてよい。ネットワーク（複数可）４５０は、ＰＳＴＮ（公衆交換電話網）またはセルラーネットワークなどの他のネットワークを通じて通信を調整することもできる。さらに、ネットワーク（複数可）４５０は、Ｂｌｕｅｔｏｏｔｈ（登録商標）または類似のネットワークなどの短距離ワイヤレスネットワークを含みうる。ネットワーク（複数可）４５０は、本明細書で説明されているノード間の通信も提供する。例えば、限定はしないが、ネットワーク（複数可）４５０は、音響、ＲＦ、赤外線、および他のワイヤレス媒体などのワイヤレス媒体を含みうる。
【００４０】
コンピューティングデバイス、アプリケーション、データソース、およびデータ配給システムの他の多くの構成を使用して、きめの細かい位置決定機能を備える通信システムを実施することができる。さらに、図４で説明されているネットワーク環境は、例示することのみを目的としている。実施形態は、これらの例示的なアプリケーション、モジュール、またはプロセスに限定されない。
【００４１】
図５および関連する説明は、実施形態を実施できる好適なコンピューティング環境についての簡潔な概要であることが意図されている。図５を参照すると、コンピューティングデバイス５００などの、実施形態による位置情報アプリケーションに対する例示的なコンピュータ動作環境のブロック図が例示されている。基本的な構成では、コンピューティングデバイス５００は、１つのサーバーであり、少なくとも１つの処理ユニット５０２およびシステムメモリ５０４を備えることができる。コンピューティングデバイス５００は、実行プログラムと連携する複数の処理ユニットも備えることができる。コンピューティングデバイスの正確な構成および種類に応じて、システムメモリ５０４は、揮発性（ＲＡＭなど）、不揮発性（ＲＯＭ、フラッシュメモリなど）、またはこれら２種類のメモリのある種の組み合わせとすることができる。システムメモリ５０４は、典型的には、ワシントン州レドモンド所在の本件出願人のＷＩＮＤＯＷＳ（登録商標）オペレーティングシステムなどの、プラットフォームのオペレーションを制御するのに適したオペレーティングシステム５０５を格納する。システムメモリ５０４は、プログラムモジュール５０６および位置情報アプリケーション５２２などの１つまたは複数のソフトウェアアプリケーションも格納することができる。
【００４２】
位置情報アプリケーション５２２は、すでに説明されているように信頼性アルゴリズム（複数可）に基づき、ユーザーおよび関連するコンピューティングデバイスの位置を決定することができる。この基本的な構成は、図５において、破線５０８内のコンポーネントで例示されている。
【００４３】
コンピューティングデバイス５００は、追加の特徴または機能を有することができる。例えば、コンピューティングデバイス５００は、例えば、磁気ディスク、光ディスク、またはテープなどの追加データ記憶装置デバイス（取り外し可能および／または取り外し不可能）を備えることもできる。このような追加の記憶装置は、図５では、取り外し可能な記憶装置５０９および取り外し不可能な記憶装置５１０により例示されている。コンピュータ可読記憶媒体は、コンピュータ可読命令、データ構造体、プログラムモジュール、または他のデータなどの情報を格納する方法もしくは技術で実施される揮発性および不揮発性、取り外し可能および取り外し不可能媒体を含むものとしてよい。システムメモリ５０４、取り外し可能な記憶装置５０９、および取り外し不可能な記憶装置５１０は、すべてコンピュータ可読記憶媒体の例である。コンピュータ可読記憶媒体としては、限定はしないが、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリまたは他のメモリ技術、ＣＤ−ＲＯＭ、ＤＶＤ（デジタル多目的ディスク）またはその他の光学式記憶装置、磁気テープ、磁気ディスク記憶装置または他の磁気記憶デバイス、または所望の情報を格納するために使用することができ、しかもコンピューティングデバイス５００によってアクセスできる他の媒体が挙げられる。このようなコンピュータ可読記憶媒体はどれも、コンピューティングデバイス５００の一部であるものとすることができる。コンピューティングデバイス５００は、キーボード、マウス、ペン、音声入力デバイス、タッチ入力デバイス、および同等の入力デバイスなどの入力デバイス（複数可）５１２を有することもできる。ディスプレイ、スピーカー、プリンタ、および他の種類の出力デバイスなどの出力デバイス（複数可）５１４を備えることもできる。これらのデバイスは、当技術分野でよく知られており、ここで詳細に説明する必要はない。
【００４４】
コンピューティングデバイス５００は、分散コンピューティング環境内の有線またはワイヤレスネットワーク、衛星リンク、セルラーリンク、短距離ネットワーク、および同等のメカニズムなどを介して、デバイスが他のデバイス５１８と通信することを可能にする通信接続部５１６を含むこともできる。他のデバイス５１８は、通信アプリケーションを実行するコンピュータデバイス（複数可）、ディレクトリサーバー、および同等のデバイスを含むことができる。通信接続部（複数可）５１６は、通信媒体の一例である。通信媒体は、コンピュータ可読命令、データ構造体、プログラムモジュール、または搬送波もしくは他のトランスポートメカニズムなどの変調データ信号内の他のデータを中に格納することができ、任意の情報配信媒体を含む。「変調データ信号」という用語は、信号の情報を符号化するような方法で特性のうちの１つまたは複数が設定または変更された信号を意味する。例えば、限定はしないが、通信媒体としては、有線ネットワークまたは直接配線接続などの有線媒体、および、音響、ＲＦ、赤外線、およびその他のワイヤレス媒体などのワイヤレス媒体が挙げられる。
【００４５】
例示的な実施形態は、方法も含む。これらの方法は、本明細書で説明されている構造を含む、数多くの方法で実現されうる。このような方法の１つは、本明細書で説明されているタイプのデバイスのマシンオペレーションによるものである。
【００４６】
オプションの別の方法は、これらの方法の個別オペレーションの１つまたは複数の一部を実行する１人または複数の人間のオペレータと連携して実行するためのものである。これらの人間のオペレータは互いに同じ場所にいる必要はないが、それぞれ、プログラムの一部を実行するマシンとともにいればよい。
【００４７】
図６は、実施形態によるネットワークに接続されたコンピューティング環境内の位置情報を決定するプロセス６００に対する論理流れ図を例示している。プロセス６００は、位置情報サーバー内のネットワーク通信システムの一部として実施されうる。
【００４８】
プロセス６００は、オペレーション６１０から始まり、ターゲットコンピューティングデバイスが主にローカルマシンまたはリモートマシンとして使用されているかどうかの判定を下す。コンピューティングデバイスのタイプ（例えば、デスクトップコンピュータ、ラップトップコンピュータ、サーバーなど）、ログイン／ログアウト記録、サブネット位置、および同等のパラメータを使用して、マシンがローカルで使用されるのか、またはリモートで使用されるのかを判定することができる。マシンがリモートで使用されるコンピューティングデバイスである場合、位置決定に関係しない可能性が高い。マシンが主にローカルで使用される場合、次のオペレーション６２０でユーザーステータスを決定することができる。コンピューティングデバイスがもっぱら単一のユーザーによって使用される場合、位置に関する関連情報を提供する可能性が高い。他方、マシンがマルチユーザーデバイスである場合、使用度を調査し、対象のユーザー（例えば、緊急呼を発呼するユーザー）がマシンの主ユーザーであるかどうかを判定することができる。これは、すでに説明されているように多数のイベントを調べることで達成されうる。
【００４９】
オペレーション６３０で、ローカル対リモートの使用および主ユーザー判定結果に基づき位置信頼度を計算する。いくつかの場合において、ユーザー入力および／またはアドミニストレータからのフィードバックも、信頼測定基準に組み込むことができる。オペレーション６４０で、ターゲットマシンの物理的位置をデータベース（例えば、ディレクトリサービス）から取り出し、オペレーション６５０で、信頼測定基準情報とともに位置情報サービスに送る。
【００５０】
図７は、詳細なステップを加えたネットワークに接続されたコンピューティング環境内の位置情報を決定するプロセス７００に対する論理流れ図を例示している。プロセス７００は、オペレーション７１０から始まり、ターゲットマシンに対するローカルおよびリモートの使用度パターンを決定する。これらのパターンに基づき、オペレーション７２０でローカル／リモートの使用度（Ｌ／Ｒ）比を計算することができる。例えば、Ｌ／Ｒ比は、ローカルユーザーに対するログインに費やされた総時間をリモートユーザーによるログインに費やされた総時間で割った値とすることができる。
【００５１】
決定オペレーション７３０において、Ｌ／Ｒ比が所定の閾値を超えたかどうかの判定を下す。閾値は、アドミニストレータによって定義されるか、またはマシンタイプ、ネットワーク状態、時刻などに基づき調整される動的な閾値とすることができる。Ｌ／Ｒ比が閾値より低い場合、マシンは、位置決定に無関係である。Ｌ／Ｒ比が閾値を超える場合、処理は決定オペレーション７４０に続き、ターゲットマシンがシングルユーザーマシンであるかどうかの別の決定が下される。
【００５２】
コンピューティングデバイスがシングルユーザーマシンである場合、そのマシンに関連付けられているユーザーは、オペレーション７５０で主ユーザーとして設定され、すでに説明されているようにオペレーション７９０でユーザー／マシンのために物理的位置情報が取り出される。マシンがマルチユーザーマシンである場合、オペレーション７６０でコンピューティングデバイスのローカルユーザーの分布についてピーク対平均値使用度比（Ｐ／Ｍ）を計算する。
【００５３】
決定オペレーション７７０において、Ｐ／Ｍ比が所定の閾値より高いかどうかの判定を下す。この比が閾値より低ければ、単一の主ユーザーはいないということであり、システムは、ユーザーの位置がターゲットコンピューティングデバイスと同じであるかどうか、自信を持って判定することができない。Ｐ／Ｍ比が閾値より低く、マシンをマルチユーザーマシンであるとして認定する場合、位置情報はユーザー入力または他の何らかの（外部）位置情報メカニズムから直接送られる必要があるものとしてよい。ユーザー供給の位置情報は、信頼性のために低信頼度の位置情報としてみなしてよい。
【００５４】
この比が所定の閾値より高い場合、オペレーション７８０でピークユーザーが主ユーザーとして設定され、（例えば、この比に基づき）信頼水準がユーザー／マシンのペアに割り当てられうる。次に、オペレーション７９０で、ユーザー／マシンに対する物理的位置情報をディレクトリサービスなどのデータベースから取り出すことができる。これに続いて、上述のように位置情報、信頼度情報、および追加のデータが位置情報サービスに送出されうる。
【００５５】
ネットワーク（サブネット）内のコンピュータの数、使用度パターン、地理的分布、ネットワークタイプ、および同等の条件などの基準に基づき、ローカル／リモートの使用度および主ユーザーを決定するための閾値を定義および／または修正することができる。信頼水準（信頼測定基準の値）は数値目盛り上のものであってよい。例えば、１から１０までの値を、Ｌ／Ｒ比、Ｐ／Ｍ比、ユーザー入力が使用されたかどうか、などに基づき信頼測定基準に割り当てることができる。低い信頼度値（例えば、１〜３）は、その位置が信頼できない場合があることを位置情報サービスに示すことができ、高い信頼度値（例えば、７〜１０）は、高い信頼性を示すものとしてよい。もちろん、これらの値および目盛りは、例示的であり、実施形態に対する制限をなすものではない。数値または非数値目盛りを使用して、位置情報サービスに信頼水準を与えることができる。
【００５６】
プロセス６００および７００に含まれるオペレーションは、例示を目的とするものである。ネットワークコンピュータのきめの細かい位置決定は、ステップを減らした、またはステップを追加した類似のプロセスによって、さらには本明細書で説明されている原理を使用するオペレーションの異なる順序で、実施されうる。
【００５７】
上記の明細、例、およびデータは、実施形態の構成物の製造および使用に関する完全な記述をなす。本発明の主題は、構造的特徴および／または方法論的活動に固有の言語で説明されているが、添付の特許請求の範囲で定められている本発明の主題は、上で説明されている特定の特徴または活動に必ずしも限定されないことは理解されるであろう。むしろ、上述の特定の特徴および活動は、請求項および実施形態を実施する例示的な形態として開示されている。
【図１】
0005886210.tif 000002
【図２】
0005886210.tif 000003
【図３】
0005886210.tif 000004
【図４】
0005886210.tif 000005
【図５】
0005886210.tif 000006
【図６】
0005886210.tif 000007
【図７】
0005886210.tif 000008