(57)【要約】第２のモバイルデバイスに関連する個人との会合を求める第１のモバイルデバイスからの要求を取得する構造および機能を含む無線遠隔通信サービスをモバイルデバイスに提供するためのシステム。システムは、第１のモバイルデバイスの位置、および第２のモバイルデバイスの位置を自動的に特定し、第１のモバイルデバイスまたは第２のモバイルデバイスの特定された位置に少なくともある程度基づき、会合場所に関する情報を少なくとも第１のモバイルデバイスまたは第２のモバイルデバイスに自動的に提供する。システムは、第１のモバイルデバイスまたは第２のモバイルデバイスの現地時間、または時間帯を特定することができる。さらに、１つまたは最小限の数のメニュー選択で、モバイルデバイスのユーザは、ユーザまたは別のモバイルデバイスの位置を容易に受信することができる。
2005530430.tif 000002
【特許請求の範囲】
【請求項１】
モバイルデバイスに無線遠隔通信サービスを提供するためのシステムにおいて、
第２のモバイルデバイスに関連する個人との会合を求める第１のモバイルデバイスからの要求を取得すること、
前記第１のモバイルデバイスの位置および前記第２のモバイルデバイスの位置を自動的に特定すること、および
前記第１のモバイルデバイスまたは前記第２のモバイルデバイスの前記特定された位置に少なくともある程度基づき、会合場所に関する情報を少なくとも前記第１のモバイルデバイスまたは前記第２のモバイルデバイスに自動的に提供することを含むことを特徴とする方法。
【請求項２】
前記第２のモバイルデバイスからＲＳＶＰメッセージを受信すること、および
前記ＲＳＶＰメッセージに関連する信号を前記第１のモバイルデバイスに転送することをさらに含むことを特徴とする請求項１に記載の方法。
【請求項３】
会合場所に関する前記情報は、地理的関心対象地点または会合場所のリストを含むことを特徴とする請求項１に記載の方法。
【請求項４】
前記第１のモバイルデバイスまたは前記第２のモバイルデバイスから探索半径パラメータを受信すること、および
前記探索半径パラメータ内の関心対象地点のリストを提供することをさらに含むことを特徴とする請求項１に記載の方法。
【請求項５】
前記第１のモバイルデバイスの現在位置と前記第２のモバイルデバイスの現在位置の間のほぼ等距離の中間地点における会合を求める要求を受信すること、および
１）中間地点の近隣または都市のオプションのリスト、２）前記第１のモバイルデバイスと前記第２のモバイルデバイスが同一の都市または同一の近隣に存在すること、または３）前記第１のモバイルデバイスと前記第２のモバイルデバイスが近くに、または同一セルサイト内に存在することを前記第１のモバイルデバイスに示すことをさらに含むことを特徴とする請求項１に記載の方法。
【請求項６】
前記第１のモバイルデバイスの現在位置の近く、前記第２のモバイルデバイスの現在位置の近く、または前記第１のモバイルデバイスの現在位置と前記第２のモバイルデバイスの現在位置の間のほぼ等距離の中間地点における会合を求める要求を受信することをさらに含むことを特徴とする請求項１に記載の方法。
【請求項７】
第３のモバイルデバイスの少なくとも１名のユーザとの会合を求める要求を第１のモバイルデバイスから取得すること、
前記第３のモバイルデバイスの位置を自動的に特定すること、
前記第１のモバイルデバイス、前記第２のモバイルデバイス、および前記第３のモバイルデバイスの地理的位置に基づいてほぼ等距離の中間地点を計算すること、および
前記第１のモバイルデバイス、前記第２のモバイルデバイス、および前記第３のモバイルデバイスに関連するほぼ同時の会合を自動的に調整することをさらに含むことを特徴とする請求項１に記載の方法。
【請求項８】
第３のモバイルデバイスの少なくとも１名のユーザとの会合を求める要求を前記第１のモバイルデバイスから取得すること、および
前記第１のモバイルデバイス、前記第２のモバイルデバイス、および前記第３のモバイルデバイスに関連するほぼ同時の会合を自動的に調整することをさらに含むことを特徴とする請求項１に記載の方法。
【請求項９】
前記第２のモバイルデバイスが前記会合場所に近過ぎる場合、前記第１のモバイルデバイスに通知を提供することをさらに含むことを特徴とする請求項１に記載の方法。
【請求項１０】
位置特定される許可を与えた少なくとも２名の異なる個人に関連する少なくとも２つのモバイルデバイスの位置を取得すること、および
前記関連する２つのモバイルデバイスの前記取得された位置を伴う前記２名の個人のリストを前記第１のモバイルデバイスに提供することをさらに含むことを特徴とする請求項１に記載の方法。
【請求項１１】
前記会合場所までの地図またはテキストの道案内をファックス送信することをさらに含むことを特徴とする請求項１に記載の方法。
【請求項１２】
前記第２のモバイルデバイスが、前記第１のモバイルデバイスの位置の近くに現在、存在する場合、前記第１のモバイルデバイスに通知を提供することをさらに含むことを特徴とする請求項１に記載の方法。
【請求項１３】
モバイルデバイスの位置を特定するための装置であって、
友人位置特定アプリケーションを開始するための手段と、
友人リストを表示するための手段と、
前記表示するための手段に応答して、探し出されるべき友人を選択するための手段と、
前記友人を選択するための手段に応答して、前記友人に関連するモバイルデバイスの通りのアドレス位置を受信するための手段とを含むことを特徴とする装置。
【請求項１４】
前記受信された通りのアドレスに少なくともある程度基づき、前記友人との会合を調整するための手段をさらに含むことを特徴とする請求項１３に記載の装置。
【請求項１５】
前記通りのアドレスまでのテキストの道案内を受信するための手段と、
前記テキストの道案内を可聴の道案内に変換するための手段とをさらに含むことを特徴とする請求項１３に記載の装置。
【請求項１６】
会合場所、医療関連の場所、および公共の関心対象地点を含むカテゴリの関心対象地点を提供するための手段をさらに含むことを特徴とする請求項１３に記載の装置。
【請求項１７】
別のモバイルデバイスが前記友人の位置を特定しようと試みているというテキストメッセージを前記友人に関連する前記モバイルデバイスに提供するための手段をさらに含むことを特徴とする請求項１３に記載の装置。
【請求項１８】
行政サービス、医療関連サービス、旅行サービス、金融サービスを含むカテゴリのサービス、および前記サービスの少なくともいくつかに関連する場所を提供するための手段をさらに含むことを特徴とする請求項１３に記載の装置。
【請求項１９】
モバイルデバイスに関連する時間パラメータを特定する方法であって、
前記モバイルデバイスの地理的位置を特定すること、および
前記位置に少なくともある程度、基づいて前記モバイルデバイスの時間帯または現地時間を取得することを含むことを特徴とする方法。
【請求項２０】
前記時間帯または前記現地時間に少なくともある程度、基づいて前記モバイルデバイスと別のモバイルデバイスの間の会合を調整することをさらに含むことを特徴とする請求項１９に記載の方法。
【請求項２１】
複数のモバイルデバイスと通信する複数の基地局を有する遠隔通信システムにおいて、
前記モバイルデバイスの１つに関して、前記１つのモバイルデバイスに関する位置情報を他のモバイルデバイスが受信することを停止させる停止要求を受信すること、
前記受信された停止要求に基づいて中央データベースを更新すること、および
前記１つのモバイルデバイスが、前記停止要求を除去する要求を与えるまで、他のモバイルデバイスが前記１つのモバイルデバイスに関する位置情報を受信することを阻止することを含むことを特徴とするコンピュータによって実施される方法。
【請求項２２】
前記１つのモバイルデバイスに関する位置情報を他のモバイルデバイスが受信するのを再開することを可能にする再開要求を前記１つのモバイルデバイスから受信すること、および
前記受信された再開要求に基づいて前記中央データベースを更新することをさらに含むことを特徴とする請求項２１に記載の方法。
【請求項２３】
ユーザが選択したスケジュールに基づいて前記１つのモバイルデバイスに関する位置情報を提供しないことをさらに含むことを特徴とする請求項２１に記載の方法。
【請求項２４】
ユーザが選択した特定の個人に基づいて前記１つのモバイルデバイスに関する位置情報を提供しないことをさらに含むことを特徴とする請求項２１に記載の方法。
【請求項２５】
ユーザが選択した地理的条件に基づいて前記１つのモバイルデバイスに関する位置情報を提供しないことをさらに含むことを特徴とする請求項２１に記載の方法。
【請求項２６】
前記停止要求は、前記１つのモバイルデバイスに関する位置情報が他のモバイルデバイスに提供されるべきでない場合のユーザが選択した条件を含む方法であって、
優先順位または規則を適用して競合する条件を解決することを含むことを特徴とする請求項２１に記載の方法。
【請求項２７】
少なくとも１つのユーザが選択した条件は、前記１つのモバイルデバイスから前記停止要求を受け取ったにも関わらず、前記１つのモバイルデバイスに関する位置情報が他のモバイルデバイスに提供されるべき場合を定義することを特徴とする請求項２１に記載の方法。
【請求項２８】
前記１つのモバイルデバイスに関する位置情報は、少なくとも１つのユーザが選択した条件が満たされない限り、決して他のモバイルデバイスに提供されないことを特徴とする請求項２１に記載の方法。
【請求項２９】
前記１つのモバイルデバイスに関する位置情報を他のモバイルデバイスが受信するのを阻止すべき場合に関するユーザが選択できるオプションに関連するＷｅｂページへのアクセスを公共コンピュータネットワークを介して前記１つのモバイルデバイスのユーザに提供することをさらに含むことを特徴とする請求項２１に記載の方法。
【請求項３０】
位置ベースのサービスを提供するための遠隔通信システムにおいて、前記遠隔通信システムと通信するために構成された無線デバイスによって実行される方法であって、
位置ベースのサービスに関する特権を変更するための選択肢のメニューを受信すること、
（ａ）前記システムを介して友人に関連する無線デバイスの位置をユーザが受信することを許可した該友人の第１のリストから友人を除去すること、および
（ｂ）友人の前記第１のリストに友人が追加されることを要求することを含む選択肢のメニューから、メニュー選択肢を選択すること、および
前記選択されたメニュー選択肢に基づいて変更されるべき特権に関する入力を与えることを含むことを特徴とする方法。
【請求項３１】
メニュー選択肢は、友人を除去することを選択することを含み、入力を与えることは、前記第１のリスト上で友人を特定することを含む方法であって、
前記特定された友人が除去された更新済みの第１のリストをほぼリアルタイムで受信することを含むことを特徴とする請求項３０に記載の方法。
【請求項３２】
選択肢の前記メニューは、（ｃ）前記システムを介して前記ユーザに関連する無線デバイスの位置を受信することができる友人の第２のリストの中の友人に対する許可を取り消すことを含むことを特徴とする請求項３０に記載の方法。
【請求項３３】
前記第１のリストから選択された友人を除去した後、前記ユーザに関連する無線デバイスの位置を前記選択された友人が受信するのを阻止するかどうかを尋ねる問合せメッセージを受信することをさらに含むことを特徴とする請求項３０に記載の方法。
【請求項３４】
前記ユーザに関連する無線デバイスの位置を選択された友人が受信するのを阻止する要求を提供すること、および
前記第１のリストから前記選択された友人を除去するかどうかを尋ねる問合せメッセージを受信することをさらに含むことを特徴とする請求項３０に記載の方法。
【請求項３５】
無線デバイスと複数のネットワークアクセスポイントの間で通信を提供するためのシステムにおいて使用するための装置であって、
少なくとも第１の無線デバイスに関連する第１のレコードまたは第２の無線デバイスに関連する第２のレコードを格納するデータベースと、
前記データベースに結合されたサーバコンピュータであって、
前記第１の無線デバイスが、前記第２の無線デバイスに関する位置情報を受信すべきでないことを指示する常時拒否要求を前記第２の無線デバイスから受信し、
前記受信された常時拒否要求に基づいて前記第１のレコードまたは前記第２のレコードを更新し、
前記第２の無線デバイスに関連する位置情報を取得する要求を前記第１の無線デバイスから受信し、
前記第２の無線デバイスに関する位置情報を前記第１の無線デバイスに提供しないように構成されたサーバコンピュータとを含むことを特徴とする装置。
【請求項３６】
前記サーバコンピュータは、更新した後、前記第１の無線デバイスが位置情報を要求しているという指示を前記第２の無線デバイスにもはや表示しないようにさらに構成されることを特徴とする請求項３５に記載の装置。
【請求項３７】
前記サーバコンピュータは、前記常時拒否要求のテキストメッセージ指示を前記第１の無線デバイスに提供するようにさらに構成されることを特徴とする請求項３５に記載の装置。
【請求項３８】
無線デバイスと複数のネットワークアクセスポイントの間で通信を提供するための無線システムによって使用されるためのデータ構造を含むコンピュータ読み取り可能な媒体であって、
前記データ構造は、
前記システムを介して前記ユーザの無線デバイスの現在位置を受信することができる友人のテーブルを表す第１のデータ構造と、
前記システムを介して友人に関連する無線デバイスの位置を前記ユーザが受信することを許した該友人のテーブルを表す第２のデータ構造とをそれぞれが含む、無線デバイス、または前記無線デバイスのユーザに関する少なくとも１つの位置ベースのサービスデータ構造を含むことを特徴とする媒体。
【請求項３９】
前記位置ベースのサービスデータ構造は、前記ユーザの無線デバイス上に格納されることを特徴とする請求項３８に記載のコンピュータ読み取り可能な媒体。
【請求項４０】
前記位置ベースのサービスデータ構造は、前記無線システム上に格納されることを特徴とする請求項３８に記載のコンピュータ読み取り可能な媒体。
【請求項４１】
前記位置ベースのサービスデータ構造は、友人データのテーブルを表す第３のデータ構造をさらに含み、友人データの前記テーブルは、各友人に関して、電子メールアドレス、ユーザ名、またはユーザ名エイリアスを含むことを特徴とする請求項３８に記載のコンピュータ読み取り可能な媒体。
【請求項４２】
前記システムを介して前記ユーザの無線デバイスの前記現在位置を受信してはならない友人のテーブルを表す第３のデータ構造をさらに含むことを特徴とする請求項３８に記載のコンピュータ読み取り可能な媒体。
【請求項４３】
少なくとも前記第１のデータ構造の中の各友人は、モバイル番号、電子メールアドレス、またはユーザ名で表されることを特徴とする請求項３８に記載のコンピュータ読み取り可能な媒体。
【請求項４４】
少なくとも前記第１のデータ構造の中の各友人は、前記友人のそれぞれのインスタントメッセージングハンドル、ユーザ名エイリアス、またはデジタルイメージで表されることを特徴とする請求項３８に記載のコンピュータ読み取り可能な媒体。
【請求項４５】
少なくとも前記第１のデータ構造の中の各友人は、前記友人のそれぞれのファクシミリ番号、ポケットベル番号、ユニバーサルリソースロケータ（ＵＲＬ）、またはネットワークアドレスで表されることを特徴とする請求項３８に記載のコンピュータ読み取り可能な媒体。
【請求項４６】
前記ユーザの名前データ、関心データ、および地理的位置データを含む、前記ユーザに関連する公開されたフィールドを含む公開ユーザデータ構造をさらに含むことを特徴とする請求項３８に記載のコンピュータ読み取り可能な媒体。
【請求項４７】
前記ユーザの無線デバイスの前記現在位置が他の人々に提供されるべきでない場合の条件を表す第３のデータ構造をさらに含むことを特徴とする請求項３８に記載のコンピュータ読み取り可能な媒体。
【請求項４８】
少なくとも前記第１のデータ構造は、
前記ユーザの無線デバイスの前記現在位置を受信することができる友人の前記テーブルの中の各友人に関連する位置特定フラグと、
位置特定フラグを現在、欠いており、前記ユーザの無線デバイスの前記現在位置を受信してはならない追加の友人とを含むことを特徴とする請求項３８に記載のコンピュータ読み取り可能な媒体。
【発明の詳細な説明】
【背景技術】
【０００１】
「私はどこにいるのか」、「貴方はどこにいるのか」、「それはどこにあるのか」は、しばしば尋ねられるが、常に容易に答えられるとは限らない質問である。グローバルポジショニングシステム（ＧＰＳ）および類似の位置特定デバイスにより、ユーザは、地球上で自分の位置を特定することができるようになった。マッピングソフトウェアとともに、ＧＰＳネットワークは、ユーザが、陸上の目印、街路などに関連して自身を特定することができるようにする。これらおよびその他の位置特定システムが、車両とともに使用されてきた（しばしば、「テレマティックス」と呼ばれる）。
【０００２】
このようなテレマティックシステムは、ユーザが、電子地図に関連して自分の車両がどこにあるのかを特定して、ある場所への道案内を決めるのに役立つ。ユーザは、そのようなテレマティックシステム上で目的地を入力することができ、マッピングソフトウェア（しばしば、地図のデータベースとともに車両の中に格納される）が、関連するＧＰＳデバイスを使用して車両のための適切な順路を決めるのを助ける。マッピングソフトウェアおよび関連する地図は、システムが、そこまでの順路を計算することができる所在地または関心対象地点（ｐｏｉｎｔ  ｏｆ  ｉｎｔｅｒｅｓｔ）（ＰＯＩ）を含むことが可能である。
【０００３】
保有車両（ｆｌｅｅｔ）追跡システムまたは自動車両位置特定（ＡＶＬ）システムは、中心地（ｃｅｎｔｒａｌ  ｌｏｃａｔｉｏｎ）が、保有車両の中の様々な車両の位置を追跡することを可能にし、各車両は、中心地に保有車両の中の車両の位置を提供する無線回路を有する搭載されたシステムを含む。そのようなシステムの例が、例えばカリフォルニア州サンディエゴ所在のクアルコム（Ｑｕａｌｃｏｍｍ）社によって提供されている。
【０００４】
Ｍａｐｓ．ｃｏｍなどの一部のサービスは、ユーザが、大型の地図データベースにアクセスし、開始点から終了点までの道案内または順路を要求することができるようにする。ユーザは、無線パームトップコンピュータのような無線のインターネット対応デバイスを有する場合、そのような地図および関連する道案内に、無線でアクセスすることができる。
【０００５】
この分野における３つの特許、および１つの特許出願が、それぞれ、（特許文献１）、（特許文献２）、および（特許文献３）、ならびに（特許文献４）である。
【０００６】
【特許文献１】米国特許第６２１２３９２号明細書
【特許文献２】米国特許第６３２１０９２号明細書
【特許文献３】米国特許第６３８１５３５号明細書
【特許文献４】ＰＣＴ／ＤＫ９９／００５４８
【発明の開示】
【課題を解決するための手段】
【０００７】
本明細書に提示する見出しは、単に便宜上のものであり、請求する発明の範囲または意味に必ずしも影響を及ぼさない。
【０００８】
図面では、同一の符号が、同一の、または実質的に同様の要素または動作を特定している。任意の特定の要素または動作の説明を特定するのを容易にするため、符号における最上位の１つまたは複数の数字は、その要素が最初に導入される図の番号を示す（例えば、ブロック１７０２は、図１７に関連して最初に導入され、説明される）。
【０００９】
本開示の一部分は、著作権の主張が行われる資料を含む。本著作権所有者は、米国特許商標庁の特許ファイルまたは特許レコードで見られる本特許開示（図を含む）を、何人が原本どおりに複写することにも異議はないが、他のすべての著作権を留保する。
【００１０】
以下に詳細に説明するのは、ユーザが、友人またはその他のコンタクト、企業、関心対象地点（ＰＯＩ）、またはその他の場所を探し出し、その情報をユーザフレンドリな環境において管理することができるようにするシステムおよび関連する方法である。セルラー電話器などの無線デバイスを有するユーザが、選定された個人の位置を特定することができる（ユーザの無線デバイスを介して）。同様に、ユーザは、所望の場所への道案内を受け取ることができ、友人との会合場所を調整することさえできる。例えば、ユーザは、会うのを所望していることについて友人またはその他の個人に通知すること、近くの場所を特定すること、および道案内を受け取ることをすべて、ＲＳＶＰおよびその他のメッセージを含め、会合を調整する中央システムを介して行うことができる。
【００１１】
本システムの諸態様により、ユーザは、実質的に１つのステップで、友人の位置を特定することができる。ユーザは、特権を迅速に、ほとんどリアルタイムで変更することができる。例えば、ユーザは、様々な位置特定サービスの目的で別のユーザの友人になる要求を常に拒否することができる。同様に、ユーザは、ユーザを友人のリストからいつでも削除することができるが、その後、その友人のリストにユーザが追加されることを要求することができる。他の様々な特徴を本明細書で詳細に説明する。
【００１２】
広い意味では、本発明の実施形態は、モバイルデバイスに無線遠隔通信サービスを提供するためのシステムにおける位置ベースのサービスに関する。システムは、第２のモバイルデバイスに関連する個人と会うことを求める要求を第１のモバイルデバイスから取得する。システムは、第１のモバイルデバイスの位置、および第２のモバイルデバイスの位置を自動的に特定し、第１のモバイルデバイスまたは第２のモバイルデバイスの特定された位置に少なくともある程度、基づいて、会合場所に関する情報を少なくとも第１のモバイルデバイスまたは第２のモバイルデバイスに自動的に提供する。また、システムは、第１のモバイルデバイスまたは第２のモバイルデバイスの現地時間、または時間帯も特定することができ、１つの、または最小限の数のメニュー選択で、モバイルデバイスのユーザは、ユーザまたは別のモバイルデバイスの位置を容易に受け取ることができる。
【発明を実施するための最良の形態】
【００１３】
次に、本発明を様々な実施形態に関連して説明する。以下の説明は、本発明のそれらの実施形態の完全な理解、および実施を可能にする説明のために、具体的な詳細を提供する。しかし、本発明は、それらの詳細なしでも実施できることが当業者には理解されよう。その他の例では、周知の構造および機能は、本発明の諸実施形態の説明を不必要に不明瞭にするのを避けるため、詳細に示すまたは説明することはしていない。
【００１４】
本明細書で説明する機能、代表的なシステムをまず説明する。次に、代表的なシステムによって実行される代表的なメッセージの流れを、「友人」を追加すること、道案内を取得すること、友人に会うこと、および場所を探し出すことに関連して説明する。その後、代表的なユーザインタフェースおよび位置ベースの機能を説明する。最後に、代表的なデータ構造を説明する。
【００１５】
（代表的なシステム）
図１Ａを参照すると、無線デバイスまたはモバイルユニット１０２（２．５ＧのＧＰＲＳ対応モバイルハンドセットとして示す）が、２．５Ｇアップリンク１０４に無線で通信するシステム１００が示されている。通常の２．５Ｇアップリンク１０４は、（順に）、基地トランシーバ局（ＢＴＳ）、基地局コントローラ（ＢＳＣ）、ならびに汎用パケット無線サービス（ＧＰＲＳ）において、ゲートウェイサービングＧＰＲＳサポートノード（ＳＧＳＮ）、ＧＰＲＳワイドエリアネットワーク（ＷＡＮ）、ゲートウェイＧＰＲＳサポートノード（ＧＧＳＮ）、無線アクセスプロトコル（ＷＡＰ）ゲートウェイ、および当業者には周知のその他のコンポーネントなどの、図示していない複数のコンポーネントを含む。２．５Ｇのネットワークおよび無線デバイスを図示しているが、もちろん、本発明の諸実施形態は、他の様々な無線システムにおいて使用することもできる。
【００１６】
１つまたは複数の負荷バランサ１０６（カナダ国所在のノーテル社によるＡｌｔｅｏｎ負荷バランサのような）が、アップリンク１０４を介して無線デバイス１０２からの通信パケットを受信する（またはデバイス１０２にパケットを提供する）。１つまたは複数のポータルアプリケーションサーバ１０８が、１つまたは複数のオプションの負荷バランサ１０６と通信する。ポータルアプリケーションサーバ１０８は、様々なコンポーネントを含む。
【００１７】
例えば、アプリケーションサーバ１０８は、無線デバイス１０２に対する位置要求、およびデバイス１０２からの位置要求を扱うためのＪａｖａ（登録商標）アプリケーションであることが可能なサーブレット１１０を含む。ユーザ対話アプリケーションコード１１２およびビジネス論理アプリケーションコード１１４がそれぞれ、サーブレット１１０およびアプリケーションサーバ１１６と連携して機能する。ユーザ対話コードおよびビジネス論理コード、ならびにアプリケーションサーバが、本明細書で説明する機能の多くを提供する。アプリケーションサーバ１１６は、カリフォルニア州サンノゼ所在のＢＥＡ社によって提供されるＷｅｂＬｏｇｉｃサーバであることが可能である。
【００１８】
アプリケーションサーバ１１６の下で機能しているのが、Ｊａｖａ（登録商標）Ｄａｔａｂａｓｅ  Ｃｏｎｎｅｃｔｉｖｉｔｙ（ＪＤＢＣ）、Ｊａｖａ（登録商標）Ｔｒａｎｓａｃｔｉｏｎ  ＡＰＩ（ＪＴＡ）／Ｊａｖａ（登録商標）Ｔｒａｎｓａｃｔｉｏｎ  Ｓｅｒｖｉｃｅ（ＪＴＳ）、Ｊａｖａ（登録商標）Ｍａｉｌ、Ｊａｖａ（登録商標）Ｃｒｙｐｔｏｇｒａｐｈｙ  Ａｒｃｈｉｔｅｃｔｕｒｅ（ＪＣＡ）、ＥｎｔｅｒｐｒｉｓｅＪａｖａ（登録商標）Ｂｅａｎｓ（ＥＪＢ）などの様々なＡＰＩを含むアプリケーションプログラミングインタフェース（ＡＰＩ）レイヤ１１８である。
【００１９】
ＡＰＩレイヤ１１８の下で機能しているのが、カリフォルニア州サンタクララ所在のサンマイクロシステムズ社によるＨｏｔｓｐｏｔなどのＪａｖａ（登録商標）Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ（ＪＶＭ）１２０である。サンマイクロシステムズ社によるＳｏｌａｒｉｓなどの適切なオペレーティングシステム１２２が、ＪＶＭ１２０、ならびにハイパーテキスト転送プロトコルデーモン（ＨＴＴＰＤ、例えば、Ａｐａｃｈｅによって提供される）、ＪＤＢＣライブラリおよび共有ライブラリとインタフェースをとる。一般に、単一のサーバを使用して、所与の無線デバイスに関するすべてのセッションを追跡することができる（例えば、インターネットプロトコル（ＩＰ）アドレス、エレクトロニックシリアルナンバ（ＥＳＮ）、モバイル局ＩＳＤＮ（ＭＳＩＳＤＮ）、または他の何らかの固有識別子に基づき）。これにより、システムが、所与のデバイスに関するセッションを追跡することがより容易になる。
【００２０】
アプリケーションサーバ１０８は、４つのコンポーネント、すなわち、ポータルデータベース１２４、ゲートウェイモバイル位置特定センタ（ＧＭＬＣ）１２６、位置特定エンジン１２８、および簡易メール転送プロトコル（ＳＭＴＰ）ゲートウェイ１４０、またはその他の電子メッセージング／メールサービスと対話する。ポータルデータベース１２４には、カリフォルニア州レッドウッドショアーズ（Ｒｅｄｗｏｏｄ  Ｓｈｏｒｅｓ）所在のオラクル社によって提供されるもののようなデータベースアプリケーション１３０が含まれる。ポータルデータベース１２４は、本明細書で説明する位置ベースの情報、友人リスト、保留中の要求などの多くを格納する。
【００２１】
ＧＭＬＣ１２６は、ノーテル社によって提供されるｅ−Ｍｏｂｉｌｉｔｙ  Ｌｏｃａｔｉｏｎ  ＣｅｎｔｅｒなどのＧＭＬＣ１２６に適合する電話ロケータサブシステム１３２を含む。ＷＡＮ１３４が、ＧＭＬＣ１２６をアプリケーションサーバ１０８に接続する。電話ロケータ１３２が、アプリケーションサーバ１０８または位置特定エンジン１２８によって使用されるように緯度と経度の情報を、ＷＡＮ１３４を介して提供するためのＧＭＬＣ  ＡＰＩを提供する。ＧＭＬＣ１２６は、位置特定エンジン１２８、およびＧＭＬＣ１２６とインタフェースをとることが可能なその他の位置特定サービスクライアントに位置データを提供する。電話ロケータサブシステム１３２は、加入者が接続されているセルサイトに関する緯度と経度の情報を提供する。代替として、電話ロケータサブシステム１３２は、セルサイト内の無線デバイス１０２の緯度と経度の座標を提供することもできる。
【００２２】
位置ベースサービス（ＬＢＳ）アプリケーション１３６が、位置特定エンジン１２８上で動作する。位置特定エンジン１２８およびＬＢＳアプリケーション１３６は、例えば、カリフォルニア州オークランド所在のＫｉｖｅｒａ社によって提供されることが可能である。ＬＢＳアプリケーション１３６は、ジオコーディング（所在地に基づいて緯度と経度を提供する）、逆ジオコーディング（ｒｅｖｅｒｓｅ  ｇｅｏ−ｃｏｄｉｎｇ）（緯度と経度に基づいて所在地情報を提供する）、近距離（ｐｒｏｘｉｍｉｔｙ）探索（関心対象地点情報を含め、所定の近距離内のアイテムを提供する）、順路指定（ｒｏｕｔｉｎｇ）（第１の地点から第２の地点までの道案内を提供する）、および地図生成（場所および道案内の地図を生成する）を提供する。ＬＢＳアプリケーション１３６は、Ｊａｖａ（登録商標）ベースの接続プール（ｐｏｏｌｉｎｇ）クラスを介して位置特定エンジン１２８に接続する１組のクラスとしてこの機能を提供し、エンジン１２８は、負荷バランサ１０６のような負荷バランサに接続される。このクラスは、１組の接続を保持すること、キープアライブ（ｋｅｅｐ−ａｌｉｖｅ）再接続機能を提供することなどを担う。負荷バランサ１０６は、位置特定エンジン１２８に対する仮想アドレス空間、および自動フェイルオーバ（ｆａｉｌ−ｏｖｅｒ）を提供することができる。
【００２３】
図１Ａでは、単一のブロックとして一緒に示しているが、ポータルアプリケーションサーバ群１０８は、論理的に別々の諸機能であることが可能である。ポータルサーバが、モバイルデバイスとの通信処理の多くを提供する。１つまたは複数のアプリケーションサーバが、友人に会う機能などの、本明細書で説明する位置特定機能の多くを提供する。従来のシステムは、一部の位置特定機能をＧＭＬＣにおいて、またはミドルウェアとして提供した。しかし、本明細書で説明するとおり、ポータルサーバは、アプリケーションサーバと緊密に結び付けられ、したがって、認証およびアクセス制御、ならびに位置のクエリを行うこと、および位置ベースのサービスを提供することが、より密接に統合される。加入者情報が、位置ベースの情報およびその他の情報とより緊密に結び付けられる。このため、以下に説明するとおり、ユーザは、友人がユーザの位置を特定しようと試みているという通知を受けた場合、その友人のモバイル番号、電子メールアドレス、ポータル加入者／ユーザ名、またはその友人に関するその他の情報を受け取る。そのような構成により、プライバシーおよび制御が提供される。というのは、ポータル、加入者、およびその他のアプリケーションが、すべてファイアウォールの一方の側で（ファイアウォールは、アップリンク１０４と負荷バランサ１０６の間に通常、配置されることが可能である）、共通のネットワーク（ＬＡＮなどの）内にあるからである。このため、「ポータル」、「ポータルサーバ」、「アプリケーションサーバ」などの用語を本明細書で区別なく使用しているが、そのようなサーバ群は、論理的に別々のエンティティであることが当業者には理解されよう。
【００２４】
ポータルアプリケーションサーバ１０８、ポータルデータベース１２４、ＧＭＬＣ１２６、および位置特定エンジン１２８は、１つの物理サーバ上で一緒に提供されても、それぞれ１つまたは複数の別個のサーバ間に分けられてもよい。ポータルデータベース１２４、または本明細書で説明する他の大容量ストレージは、マサチューセッツ州所在のＥＭＣ社によって提供される記憶デバイスで実装することができる。位置特定エンジン１２８は、例えば、サンマイクロシステムズ社によるＮｅｔｒａ２０サーバ上に実装することができる。
【００２５】
図１Ａに示した構成を超えて様々な代替のシステム構成が可能である。例えば、１つまたは複数のサーバが並置されることが可能であるが、いくつかのサーバが、遠隔に配置され、例えば、仮想プライベートネットワーク（ＶＰＮ）を介して残りのコンポーネントに接続されてもよい。ファイアウォールおよび暗号化が、セキュリティのために要求される可能性がある。代替として、遠隔に分散されても、並置されてもよい様々なサーバによって様々な機能が実行される、アプリケーションサービスプロバイダ（ＡＳＰ）モデルが提供されてもよい。しかし、ＬＢＳアプリケーションのようなアプリケーションは、第三者によって維持されることが可能である。大容量ストレージが、ストレージエリアネットワーク（ＳＡＮ）、ネットワーク接続ストレージシステム（ＮＡＳ）、または他の周知の大容量記憶システムとして使用されることも可能である。
【００２６】
モバイル電話器が図１Ａに示されているが、本発明は、インターネット機器、ハンドヘルドデバイス、ウェアラブルコンピュータ、マルチプロセッサシステム、マイクロプロセッサベースの家庭用電化製品またはプログラマブル家庭用電化製品、セットトップボックス、ネットワークＰＣ、ミニコンピュータ、メインフレームコンピュータなどを含め、その他のデバイスおよび構成でも実施できることが当業者には理解されよう。本発明は、以下に詳細に説明するコンピュータ実行可能命令の１つまたは複数を実行するように特別にプログラミングされた、構成された、または構築された専用コンピュータまたは専用データプロセッサとして実施することもできる。実際、本明細書で一般的に使用する「コンピュータ」または「無線デバイス」という用語は、前述したデバイスおよびシステムのいずれも指し、任意のデータプロセッサも指す。
【００２７】
図１Ｂは、無線デバイス１０２が、例えば、道案内を要求する高レベルの呼び出しまたはメッセージの流れ図の例を示している。図示するとおり、無線ＷＡＰゲートウェイ（アップリンク１０４の一部を形成する）が、デバイスから要求を受信し、その要求をポータルアプリケーションサーバ１０８に提供する。（ポータルアプリケーションサーバは、文脈が明らかにそうでないことを要さない限り、一般に、本明細書で区別せずに「ポータル」または「アプリケーションサーバ」と呼ぶ。）ポータルデータベース１２４が、ポータルアプリケーションサーバ１０８からその要求を受け取り、無線デバイス１０２の登録済みユーザに関するＩＰアドレスやその他の情報などの情報を戻す。次に、ポータルアプリケーションサーバ１０８が、ＧＭＬＣ１２６に要求を与え、ＧＭＬＣ１２６から位置情報を受け取る。その後、ポータルアプリケーションサーバ１０８は、ＧＭＬＣ１２６によって提供された無線デバイスの位置に基づき、位置特定エンジン１２８に要求を与え、エンジン１２８から道案内情報を受け取る。次に、ポータルアプリケーションサーバ１０８は、電子メールメッセージ、またはショートメッセージサービス（ＳＭＳ）メッセージをモバイルデバイス（または他のデバイス）にＳＭＴＰゲートウェイ１４０を介して送信することができる。ポータルアプリケーションサーバ１０８は、コンテンツ（このケースでは、道案内）をＷＡＰゲートウェイに提供することも行い、ＷＡＰゲートウェイは、そのコンテンツをモバイルデバイスに提供する。代替として、電子メールをＳＭＴＰメッセージとして送信する代わりに、ポータルアプリケーションサーバ１０８は、ショートメッセージピアツーピアプロトコル（ＳＭＰＰ）メッセージを送信してもよい。電子メール警報メッセージなどの電子メールメッセージの代わりに、ポータルアプリケーションサーバ１０８は、ＷＡＰメッセージをユーザの（または友人の）モバイルデバイスにプッシュしてもよい。
【００２８】
前述したシステム構成の利点は、位置ベースのサービスを提供することに関する待ち時間を短縮することである。例えば、情報を取得するのにワイドエリアネットワーク（ＷＡＮ）接続が全く必要ない。別の利点は、位置ベースのサービスに関するプライバシーまたはセキュリティの向上である。１つのサービスプロバイダだけが、ユーザ情報または加入者情報を含むデータベースへのアクセスを有する。加入者情報が第三者と共有される、または公共ネットワークを介して伝送される必要はない。さらに、以下に説明するとおり、本明細書で説明する位置ベースのサービス機能は、システムが位置情報を他者に提供することにユーザがまず同意して初めて、そのような情報が提供される「オプトイン（ｏｐｔ−ｉｎ）」モデルを提供する。
【００２９】
（代表的なメッセージフロー）
図２Ａおよび図２Ｂを参照すると、システム１００によって実行される一部の機能が、ルーチン２００として示されている。ルーチンは、ブロック２０２で始まり、ユーザが友人を追加することを所望するかどうかを判定し、所望する場合、ルーチンは、図３に示すメッセージフローを実行するように分岐する。ブロック２０４および２０６の下で、ユーザは、友人を受け入れるか、または拒否するかを決めることができ、受け入れるか、または拒否するかを決めた場合、ルーチンは、それぞれ、図４か、または図５のメッセージフローを実行するように分岐する。
【００３０】
ブロック２０８で、ルーチン２００は、ユーザがさらなる情報を要求しているかどうかを判定し、要求している場合、図６のメッセージフローを実行するように分岐する。ブロック２１０および２１２で、ルーチンは、ユーザが、選択表示または位置変更を変更することを所望するかどうかを判定し、所望する場合、ルーチンは、それぞれ、図７Ａまたは図８のメッセージフローを実行するように分岐する。
【００３１】
ブロック２１４で、ルーチン２００は、ユーザが道案内を閲覧することを所望するかどうかを判定し、所望する場合、ルーチンは、図９に示したメッセージフローを実行するように分岐する。ブロック２１６、２１８、および２２０で、ルーチン２００は、ユーザが、２人の中間の場所で友人と会うことを望むか、友人の近くで会うことを望むか、ユーザの近くで会うことを望むかを判定し、２人の中間の場所、友人の近く、またはユーザの近くで会うことを望む場合、ルーチンは、それぞれ、図１０、図１１、および図１２のメッセージフローを実行するように分岐する。
【００３２】
ブロック２２２で、ルーチン２００は、ユーザが近くの場所を見つけることを所望するかどうかを判定し、所望する場合、ルーチンは、図１３に示した機能を実行するように分岐する。ブロック２２４で、ルーチンは、ユーザが近くの友人を見つけることを所望するかどうかを判定し、所望する場合、図１４に示した諸機能を実行するように分岐する。ブロック２２６で、ルーチンは、ユーザが友人のリストを編集することを所望するかどうかを判定し、所望する場合、図１５に示した諸機能を実行するように分岐する。ブロック２２８で、ルーチンは、ユーザが友人にＲＳＶＰすることを所望するかどうかを判定し、所望する場合、図１６に示した諸機能を実行するように分岐する。
【００３３】
ルーチン２００、および本明細書で説明する他のルーチンは、汎用コンピュータ（例えば、サーバまたはパーソナルコンピュータ）によって実行されるルーチンなどの、コンピュータ実行可能命令として実装することができる。そのような命令は、磁気式または光学式に読取り可能でリムーバブルなコンピュータディスクを含むコンピュータ読み取り可能な媒体上に格納されること、またはそのようなコンピュータ読み取り可能な媒体上で配布されることも、配線によってチップに組み込まれること、またはあらかじめプログラミングされることも（例えば、ＥＥＰＲＯＭ半導体チップまたはＡＳＩＣ）、インターネット、または他のネットワーク（無線ネットワークを含む）を介して電子的に配信されることも可能である。本発明の一部の実施形態の諸部分は、サーバコンピュータ上に存在することが可能であり、他方、対応する部分が、クライアントコンピュータ上、または無線デバイス上に存在することが可能であることが当業者には理解されよう。また、本発明の態様に特有のデータ構造およびデータの伝送も、本発明の範囲内に包含される。一般に、システム１００のようなハードウェアプラットフォームを本明細書で説明しているが、本発明の態様は、対応するリソースロケータまたはアドレスを有するネットワーク上のノードにも同様に適用して、データルーティング、およびコマンドの実行を要求するためにそのようなノードを特定することができる。
【００３４】
図３〜１２を参照すると、代表的なメッセージフローまたはデータフローの図が、アップリンク１０４のゲートウェイおよびその他のコンポーネント、ポータルアプリケーションサーバ１０８、およびシステム１００のその他のコンポーネントの間における通信の交換を示している。以上、およびその他の流れ図は、すべての機能またはすべてのデータ交換は示しておらず、代わりに、本システムの下で交換されるコマンドおよびデータの理解を提供する。もちろん、一部の機能、またはコマンドおよびデータの交換は、繰り返されることも可能であり、図示していない他の（それほど重要でない）態様も、容易に実装できることが当業者には理解されよう。
【００３５】
（「友人」を追加すること）
図３を参照すると、ユーザがシステム１００の下で友人を追加することができるようにする代表的な呼び出しフローまたはメッセージフローの図が示されている。ＷＡＰゲートウェイのような無線アップリンク１０４が、ユーザの友人データベースに新規の「友人」を入力する要求を無線デバイス１０２から受信する。本明細書で一般的に使用する「友人」という用語は、ユーザが対話することを所望する任意の知人、またはその他の個人を指すだけでなく、任意のアドレス指定可能な無線デバイスも指す。実際、「ユーザ」および「加入者」という用語は、互いに区別なく使用され、本明細書で説明する機能またはシステムを使用するか、またはそれ以外の形で、本明細書で説明する機能またはシステムによる影響を受ける所与の個人を指す。「加入者」は、必ずしも、本明細書で説明する位置ベースのサービスに加入した人である必要はない。システム機能に関連して、「友人」、「ユーザ」、「加入者」などという用語は、論理的に等価であり、無線デバイスを追跡し、管理するのにシステムが使用する任意のデータを表す。本発明は、グループの中の１つまたは複数の無線デバイス、または任意のネットワーク内のノードに関連して位置ベースのサービスを提供するために使用することができる。
【００３６】
図３のフローは、ゲートウェイ１０４が無線デバイス１０２から、無線デバイス１０２に関連する友人データベースに友人を追加する要求を受信することから始まる。ゲートウェイ１０４は、無線デバイス１０２に関連するモバイル番号またはユーザ名を受信し、それをポータル１０８に転送する。データベース１２４は、ポータル１０８からクエリを受け取り、モバイル／ユーザ名が、サービスの加入者に対応しているかどうか、またはそれ以外の形で許可されているかどうかを判定し、対応していない、または許可されていない場合、データベースは、ポータル１０８によってゲートウェイ１０４に転送されるエラーを戻す。以上の許可機能が、ほとんどの要求に対して実行されて、システムの各ユーザを許可することが可能である。
【００３７】
データベース１２４が、データベース１２４の中でモバイル番号またはユーザ名を特定し、有効な応答を戻した場合、ポータル１０８は、これに応答して、追加されるべき友人に関する情報の入力を要求する要求プロンプトを無線デバイス１０２に送信する。これに応答して、ゲートウェイ１０４が、追加されるべき友人に関する情報（例えば、新規の友人に関連するモバイル電話番号、ＵＲＬ、または他の電子アドレスまたはネットワークアドレス）を無線１０２デバイスから受信し、ポータル１０８に提供する。ポータル１０８は、これに応答して、ユーザの友人リストに友人が追加されることをユーザが要求したことを、データベース１２４が反映することを求める更新要求をデータベース１２４に送る。以下に説明するとおり、データベース１２４は、保留中の要求のリスト、およびシステム１００によって提供される様々な機能のステータスを格納する。ポータル１０８は、データベース１２４にクエリを行い、受け取られたＭＳＩＳＤＮ（モバイル電話番号）、またはその他のアドレスに基づいて友人のユーザ名を取り出すことができる。また、ポータル１０８は、その友人がユーザの友人リストに追加されることを所望するかどうかを尋ねるＳＭＳメッセージまたは電子メールを生成して、その友人に送信することも行い、このＳＭＳメッセージまたは電子メールは、インターネット、または他のデータパケット網（図示せず）を介してユーザに送信するためにＳＭＴＰゲートウェイ１４０に転送される。
【００３８】
ユーザの友人リストに友人が追加されることをユーザに要求させることに加えて、ユーザは、ユーザの友人のリストに載せられることを求めることもできる。ユーザは、単に、友人のモバイル電話番号、ユーザＩＤ、およびその他の識別子をポータル１０８に提供し、ポータル１０８が、前述したのとほぼ同一の形で友人に適切な要求を行う。
【００３９】
友人は、その要求を承認すること、または拒否することができ、これをそれぞれ、図４および図５に示している。図４の友人受入れフローを参照すると、前述したとおり、友人を検証した後、ポータル１０８は、友人の無線デバイスから（ゲートウェイを介して）、保留中の友人要求を閲覧する要求を受信する。データベース１２４が、保留中の要求を調べるクエリをポータル１０８から受け取り、友人リストをポータル１０８に戻し、このリストをポータル１０８は、ゲートウェイ１０４を介して友人の無線デバイスに送信する。次に、ポータル１０８は、ゲートウェイ１０４を介して友人の無線デバイスから、承認される友人の要求の１つを受け取り、確認メッセージを返送する。これに応答して、無線デバイスは、ゲートウェイ１０４を介してポータル１０８に、確認メッセージに対する応答を提供する。ポータル１０８は、ユーザの友人リストを更新して新たに受け入れられた友人をその時点で含めるようにデータベース１２４に要求する。
【００４０】
ポータル１０８は、友人がユーザの友人リストに追加されることを承認したこと示すＳＭＳメッセージをユーザに送信する。（ポータル１０８は、データベース１２４が更新された後、その追加を反映するＳＭＳメッセージを送信することもできる。）友人は、友人の固有ユーザ名の下でユーザの友人リストに載せられることが可能である。代替として、ユーザは、リスト上に出現する友人の名前を変更、または編集して、ユーザが所望する何か（例えば、エイリアス）にすることができる。
【００４１】
システムは、友人がユーザの友人リストに追加されることを承諾しても、そのことは、ユーザがその友人の友人リストに自動的に追加されることを意味しないという点で、互恵的ではない。このため、ユーザは、友人がユーザの位置を特定することを所望するかどうかを友人に尋ねる要求を、友人に送信するように促されることが可能である。ポータル１０８は、そのような要求が保留中であることを反映するようにデータベース１２４を更新し、友人がユーザを友人の友人リストに追加することを所望するかどうかを尋ねるＳＭＳメッセージを友人に送信する。
【００４２】
本明細書で説明するとおり、ユーザ（または友人）に表示される情報は、ＷＡＰメッセージの形態であることが可能である。これらの図には示していないが、ポータル１０８およびモバイルデバイス１０２は、ＷＡＰの下で一般的であるように、完全な表示、コマンド、またはその他の伝送を表す「デッキ」を形成する複数の伝送、または「カード」を受信する、または交換することができる。
【００４３】
図５の友人拒否フローを参照すると、図４に関して前述したとおり、保留中の友人要求のリストを戻した後、ポータル１０８は、要求受入れではなく、要求拒否、または常時要求拒否の応答をユーザから受け取る。誰かの友人リストに追加されるべきそれぞれの保留中の要求に応答して、ユーザは、特定の友人からの各要求を個々に拒否するが、要求者の友人リストに後に追加される可能性を開いたままにしておくこと、または現在の要求を拒否し、その要求者からの将来の要求を常に拒否するオプションを選択することができる。ポータル１０８が、ユーザから要求拒否の応答を受け取るか、常時要求拒否の応答を受け取るかに関わりなく、ポータル１０８は、確認メッセージを友人の無線デバイスに送信し、無線デバイスから、その確認メッセージに対する応答を受信する（すべてゲートウェイ１０４を介して）。次に、ポータル１０８は、データベース１２４が適切な変更を行うことを要求し、ユーザが、要求者の友人リストに追加されることを拒否したか、または拒否することを常に所望するかを示すＳＭＳメッセージを要求者に送信する。
【００４４】
代替の実施形態の下では、ユーザは、友人サブリスト（サブフォルダに類似する）を確立することができる。このため、ユーザは、ある上位レベルグループ化（例えば、「友人」、「クライアント」、「同僚」など）を含む階層式の友人リストを確立することができ、個々の友人は、それらの上位レベルグループの１つまたは複数の中で提供される。このため、ユーザは、Ｗｉｎｄｏｗｓ（登録商標）オペレーティングシステムの下、またはその他のＰＣオペレーティングシステムの下におけるファイルおよびフォルダに関連するやり方と同様のやり方で、友人リストを管理することができる。さらに、この代替の実施形態の下では、ユーザは、リストの中の一部の友人を選択することができるが、他の友人は選択することができない（例えば、リストの中の第１の友人、第３の友人、および第４の友人は見つけることができるが、５名の友人のリストの中の第２の友人および第５の友人は見つけることができない）。さらに、リストの中で友人のサブセットを選択すると、ユーザは、友人のサブセットを自動的に、同時に位置特定するなどの、本明細書で説明する他の機能を実行することができる。次に、システムは、リストの中で選択された友人のそれぞれに関して、本明細書で説明するステップを単に実行する。
【００４５】
ユーザが、システム１００に適合するシステムに加入していない友人を追加しようと試みた場合、その友人をユーザの友人リストに追加することはできない。しかし、システムは、その友人が本サービスの加入者になることを所望するかどうかをその友人に尋ねる所定の要請メッセージ（あらかじめ録音済みの音声メッセージ、ＳＭＳメッセージなど）を要求された友人に送信することができ、または代替として、ユーザにそうするように促すことができる。このため、一実施形態では、システムは、適切な要請メッセージを友人に送信し、メッセージは、特定の状況に合わせられる。例えば、友人が、本システムの下で無線加入者であるが、データサービスに加入していない（このため、本明細書で説明する位置ベースのサービスの恩恵を受けることができない）場合、要請メッセージは、友人がそのようなデータサービスに加入するように勧める。代替として、友人が、別のサービスプロバイダの無線加入者である場合、要請メッセージは、サービスプロバイダを切り替えるように友人に勧める。
【００４６】
代替として、またはさらに、システムは、友人が加入者として参加することを要求するメッセージを、ユーザが友人に送信することを要求する要請メッセージをユーザに送信することもできる。ユーザへのそのような要請メッセージは、そのようなメッセージを準備し、送信するようにユーザに単に求めること、またはユーザが友人に転送するサンプルメッセージを含むことが可能である。ユーザは、友人が実際に加入者として参加した場合、ある報酬を受け取ることが可能である。
【００４７】
そのような要請メッセージは、ＵＲＬ、またはフリーダイヤルの番号を提供するなど、友人が本システムの加入者に容易になることができるようにする情報を含むことが可能である。例えば、位置ベースのサービスオプションのメインメニューが、あらかじめ形式設定されたメッセージをユーザが選択した電話番号に送信するオプションを含むことが可能であり、メッセージには、「こんにちは、［ユーザのモバイルＩＤ番号］が、貴方に対してＦｉｎｄ  Ｆｒｉｅｎｄｓを使用することを所望しています。ユーザが既に加入者になってはいない場合は、１−８７７−４００−１０８０を呼び出してください。」と書かれていることが可能である。システムは、友人がシステムに加入することを求めるそのような保留中の要求をデータベース１２４の中で追跡することができる。友人が加入すると、ポータル１０８は、友人が加入したことを示し、友人が現時点でユーザの友人リストのメンバになることをユーザが所望するかどうかを尋ねるＳＭＳ、またはその他の通信をユーザに送信することができる。
【００４８】
テキストインタフェースまたは視覚インタフェースを本明細書で一般的に説明しているが、代替の実施形態は、音声インタフェース、またはその他のオーディオインタフェースを使用することも可能である。このため、ポータル１０８は、テキスト−音声方法の下で、またはユーザにユーザの無線デバイスを介して聴覚情報を提供するその他の周知の方法の下で、道案内を提供することができる。
【００４９】
図６を参照すると、ユーザが情報を要求する場合に関するシステム１００におけるメッセージフローの例が示されている。ポータル１０８が、無線デバイス１０２から（ゲートウェイ１０４を介して）、さらなる情報を求める要求を受信する。これに応答して、ポータル１０８は、特定のメッセージを調べる、またはそれ以外の形で情報を取り出すようにデータベース１２４に要求する。データベース１２４から受け取られたメッセージに応答して、ポータル１０８は、メッセージを形式設定し、ゲートウェイ１０４を介して無線デバイス１０２に戻す。戻される情報は、例えば、頻繁に尋ねられる質問、どのように友人を追加するか、またはどのように他の機能を実行するかに関するユーザのためのチュートリアルなどであることが可能である。さらに、本明細書で説明するとおり、ユーザは、ユーザが位置特定特権を許可することをユーザに要求している個人に関する情報を要求し、受け取ることもできる。
【００５０】
（道案内を取得する、友人に会う、または場所を見つける）
前述したとおり、システム１００は、２地点間の道案内を提供することができ、道案内は、ユーザの無線デバイス１０２に、電子メールで、かつ／または地図イメージに関連してなど、任意のいくつもの形で送信されることが可能である。図７Ａは、道案内に関連して「ｆｒｏｍ」位置を表示するスクリーンを生成する際のネットワーク要素対話に関するメッセージフローの例を示している。本明細書で説明するとおり、ポータル１０８が、ユーザのモバイルデバイス１０２に、ネットワーク内のモバイルデバイスの位置情報を提供することができ、位置情報は、セルサイト（またはセルサイトセクタ）レベルの細分性までの精度である。ユーザが、例えば、特定の位置から（セルの中心点からではなく）より高い具体性で道案内を受け取ることを所望する場合、ユーザは、現在の通りのアドレスを入力することを要求される可能性がある。このため、図７Ａに示すとおり、友人会合コントローラ７０２が、所望される場合、ユーザの位置および友人の位置、ならびに会合場所などの目的地を送る。これに応答して、道案内コントローラ７０４が、「ｆｒｏｍ」選択スクリーンを表示し、このスクリーンが、ポータル１０８によってゲートウェイ１０４を介して、ユーザのモバイルデバイス１０２に提供される。すると、ユーザは、そのスクリーンを介して特定の「ｆｒｏｍ」位置を入力することができる。代替として、その位置細分性レベルが不必要である／望ましくない場合、「ｆｒｏｍ」選択スクリーンが全く表示されない、またはそのようなスクリーンに記入が行われないことが可能である。
【００５１】
システム１００の下で提供されるほとんどの位置ベースのサービスでは、システムが、ユーザの無線デバイス１０２の位置を特定しなければならない。しかし、ＧＰＲＳなどの一部の無線プロトコルの下では、無線デバイス１０２がデータモードになっている場合、システム１００は、デバイスの位置を特定することができない。したがって、図７Ｂを参照すると、システムは、システムが無線デバイス１０２の位置を特定することができるようにするためのルーチン７１０を定期的に実行することができる。
【００５２】
ステップ７１２で始まり、無線デバイス１０２が、所定の時間を超えて（例えば、５分を超えて）データモードになっているかどうかをポータル１０８が判定する。ポータル１０８上で実行されている小型サブルーチンが、各無線デバイス１０２がデータモードになっている累積時間を監視し、無線デバイス１０２が時間閾値を超えた場合、ポータル１０８が、適切なメッセージを無線デバイス１０２に伝送して、データモードから出るようにデバイス１０２に命令する。代替として、各無線デバイス１０２が、デバイス１０２が所定の時間を超えてデータモードで連続的に動作している場合、それを判定するローカルで実行されるカウントサブルーチンを有することも可能である。システム１００は、代替として、またはさらに、デバイス１０２がある位置ベースのサービスを要求した場合にはいつでも、またはモバイルデバイス１０２の位置が、例えば、そのような位置を取得することが許可された友人からの友人探索要求によって要求された場合にはいつでも、データモードを終了するようにモバイルデバイス１０２に要求することができる。
【００５３】
時間閾値が超えられた後、ルーチン７１０が、ブロック７１４で、現在、表示されているページをポータル１０８に格納するために送信するように無線デバイス１０２に要求する。例えば、無線デバイス１０２は、特定のＷＡＰページを表示していることが可能であり、このページをポータル１０８が受信し、格納する。ブロック７１６で、ポータルは、無線デバイス１０２の位置を特定するようにＧＭＬＣ１２６および位置特定エンジン１２８に要求する。ブロック７１８で、ポータル１０８は、ＧＭＬＣ１２６および／または位置特定エンジン１２８から無線デバイス１０２の位置を受信する。その後、ブロック７２０で、ポータル１０８は、無線デバイス１０２によって再び読み込まれるように格納されたページを無線デバイス１０２に伝送して戻し、無線デバイス１０２がデータモードに戻ることができるようにする。その後、このプロセスが繰り返される。
【００５４】
図８を参照すると、本システムの下で提供される位置ベースのサービスのための道案内に関連して「ｆｒｏｍ」位置を変更することに関するメッセージフローの例が示されている。例えば、ユーザは、ユーザが現在、位置していない場所からの道案内を要求すること、またはユーザの位置を明確に特定することができない場合、特定のアドレスを入力するように要求されることが可能である。このため、図８に示すとおり、ポータル１０８は、無線デバイス１０２から（ゲートウェイ１０４を介して）、ユーザによるｆｒｏｍ位置を変更する要求を受け取る。これに応答して、ポータル１０８は、ｆｒｏｍ位置を変更するように道案内コントローラ７０４に命令し、コントローラ７０４から、ユーザがｆｒｏｍ位置を変更することができるようにする適切なスクリーンを受け取る。道案内コントローラ７０４は、本明細書で説明する道案内を提供するための機能のサブシステム、サブルーチン、またはグループを表す。
【００５５】
受信されたスクリーンに応答して、ゲートウェイ１０４が、ユーザの無線デバイス１０２から、新たなｆｒｏｍ位置を受信し、この位置をゲートウェイ１０４は、ポータル１０８に転送する。ポータル１０８は、新たなｆｒｏｍ位置を道案内コントローラ７０４に転送して、その新たなｆｒｏｍ位置が新たなアドレスに相当するか、または道案内コントローラ７０４によって既に認識されているアドレスに相当するかを調べる。アドレスが新規であった場合、道案内コントローラ７０４は、適切な入力表示スクリーンを戻す。次に、入力表示スクリーンは、ゲートウェイ１０４を介して無線デバイス１０２に転送される。ゲートウェイ１０４は、ユーザの無線デバイス１０２から新たなアドレス情報を受信し、このアドレスをポータル１０８が受信して、更新のために道案内コントローラ７０４に転送する。道案内コントローラ７０４は、新たなアドレスを反映する更新済みのｆｒｏｍスクリーンを生成し、ポータル１０８に転送し、このスクリーンが、ゲートウェイ１０４を介して無線デバイス１０２に転送される。前述したのと非常に似通った形で、ユーザは、「ｔｏ」位置を変更することができる。
【００５６】
図９を参照すると、道案内を受信する、または閲覧することに関するメッセージフローの例が示されている。道案内、およびその他のデータの生成および表示は、前述したとおり、ポータル１０８上、またはアプリケーションサーバ上で実行されているハイパーテキスト転送プロトコル（ＨＴＴＰ）セッション９０４を介して追跡されるか、または管理される。図のすべてでは示していないが、ポータル１０８またはアプリケーションサーバは、本明細書で提供される機能に対するモバイルデバイスのアクセスの状態を管理するためのセッションを開始する。例えば、道案内を閲覧する場合、ユーザは、次のスクリーン全体で道案内を閲覧すること、道案内を受けて行動すること（例えば、電子メールまたはファックスで道案内を送信すること）、または道案内の特定のスクリーンにジャンプすることを要求することができる。ＨＴＴＰセッションは、現在の状態を管理して適切な機能を確実にする。ＨＴＴＰが、Ｆｉｎｄ  Ｆｒｉｅｎｄｓ加入者のトランザクション要求を扱うための長距離プロトコルであり、要求を処理するのに要求されるネットワークトラフィックを最小限に抑えるのに役立つ。他の適切なプロトコルをＨＴＴＰに代用して、トランザクション要求処理を実行すること、かつ／またはトランザクション要求に関連するネットワークトラフィックを減少させることもできる。同様に、モバイルデバイスまたはユーザがアクセスする機能の状態を追跡するための他の方法も使用することができる。
【００５７】
このため、ユーザが道案内を要求した場合、道案内コントローラ７０４および友人探索コントローラ９０２（以下に説明する）がそれぞれ、ｆｒｏｍ位置とｔｏ位置を設定して、ＨＴＴＰセッション９０４を介してセッションを開始する。その後、道案内コントローラ７０４は、位置特定エンジン１２８から道案内を要求する。道案内を受け取った後、道案内コントローラ７０４は、ＨＴＴＰセッション９０４の下のセッションの中に道案内を格納し、ポータル１０８向けの表示スクリーンとして道案内を形式設定する。無線デバイス１０２は、ゲートウェイ１０４を介してポータル１０８から道案内の表示スクリーンを受信する。さらなる道案内が表示されるべき場合、無線デバイス１０２は、さらなる道案内を求める要求をポータル１０８に（ゲートウェイ１０４を介して）提供することができる。その要求に応答して、ポータル１０８は、さらなる道案内を表示するように道案内コントローラ７０４に要求し、そのような道案内が用意されている場合は、その道案内が、ポータル１０８およびゲートウェイ１０４を介して無線デバイス１０２に提供される。
【００５８】
ユーザは、道案内の特定のスクリーンを閲覧することもできる。例えば、道案内の６つのスクリーンが、現在位置から所望の位置までユーザをナビゲートするように提供される場合、ユーザは、６つのスクリーンの３番目にジャンプすることができる。このため、図９の下部に示すとおり、ユーザは、道案内の特定のスクリーンを選択し、その所望のスクリーン番号をポータル１０８に提供することができ、ポータル１０８は、その道案内番号を道案内コントローラ７０４に提供する。これに応答して、道案内コントローラ７０４は、道案内の所望のスクリーンを提供し、このスクリーンをポータル１０８が、モバイルデバイス１０２に戻す。
【００５９】
前述したとおり、システム１００は、ユーザが、ユーザの友人に会うこと、関心対象地点を特定すること、会合場所を探索すること、およびそのような会合をスケジュールすることができるようにするサブルーチン、または機能のグループを表す友人会合サブシステム、または友人会合コントローラ９０２を含む。友人会合サブシステム９０２は、道案内が必要とされる場合、この情報を道案内コントローラ７０４に転送することも行う。図１０を参照すると、ユーザと友人の中間地点における友人との会合をユーザが調整できるようにシステムに要求することに関するメッセージフローが示されている。フローは、ポータル１０８が、ゲートウェイ１０４を介して、ユーザの無線デバイス１０２による友人に会う要求を受信することで始まる。ポータル１０８が、データベース１２４にクエリを行い、そのユーザのすべての友人を調べ、ユーザの友人リストを含む友人表示ページをユーザに戻す。代替の実施形態の下では、友人表示ページは、ユーザの友人のリスト（またはそのリストの中の最初の５名の友人）を含むだけでなく、それらの友人の最後に特定された位置も含む。このため、ユーザは、いずれの友人が最も近い可能性があるかを特定し、その友人との会合を調整することができる。
【００６０】
図１０に示すとおり、ポータル１０８が、無線デバイス１０２から、ユーザが選択した友人を受信する。これに応答して、ポータル１０８は、その友人に関するジオコードを位置特定し、提供するようにＧＭＬＣ１２６に要求する。ジオコードを受け取ったことに応答して、ポータル１０８は、逆ジオコードを実行して友人のアドレス位置を特定するように位置特定エンジン１２８に要求する。友人のアドレス位置を受け取ったことに応答して、ポータル１０８は、電子メールゲートウェイ１４０を介してＳＭＳメッセージを友人に送信する。ＳＭＳメッセージは、ユーザが友人を位置特定しようと試みたことを友人に示す。また、ポータル１０８は、友人の位置表示ページをユーザの無線デバイス１０２に送信して、友人のアドレス位置を提供することも行う。ユーザが友人と会うことを要求したことに応答して、ポータル１０８は、会合オプション表示ページをユーザに送信する。オプションページは、少なくとも３つのオプション、すなわち、ユーザの近くで会う、友人の近くで会う、またはユーザと友人の中間地点で会うを含む。
【００６１】
図１０の例で示すとおり、ユーザは、ユーザと友人の中間地点で会うことを要求し、そのことが、ポータル１０８がゲートウェイ１０４を介して無線デバイス１０２から受信する「私たちの中間地点」メッセージで示される。次に、ポータル１０８は、ＧＭＬＣ１２６からユーザのジオコードを取得し、ユーザに関して位置特定エンジン１２８から逆ジオコード位置を要求する。逆ジオコーディングは、緯度と経度を通りのアドレス、または地図上で容易に位置特定できる他の位置に変換する。その後、ポータル１０８は、ユーザと友人の間の中間地点を特定するように位置特定エンジン１２８に要求し、その中間地点に基づき、その中間地点の周りの近隣、都市、またはその他の場所を見つけるように位置特定エンジン１２８に要求する。近隣／都市／場所のリストに応答して、ポータル１０８は、近隣表示ページをユーザの無線デバイス１０２に（ゲートウェイ１０４を介して）提供する。ユーザは、近隣／都市／場所を選択し、その情報をゲートウェイ１０４を介してポータル１０８に提供する。これに応答して、ポータル１０８は、選択された近隣／都市／場所に基づいて関心対象地点（ＰＯＩ）カテゴリを要求し、ＰＯＩカテゴリをリストアップした表示ページを無線デバイス１０２に提供する。カテゴリには、例えば、レストラン、酒場、公園、喫茶店などが含まれることが可能である。
【００６２】
ポータル１０８は、選択されたＰＯＩカテゴリを無線デバイス１０２から受信し、データベース１２４から探索半径パラメータを要求し、このパラメータは、適切な半径選択表示ページでユーザの無線デバイス１０２に戻される。ユーザは、所望の半径をポータルに送信し、ポータルは、ユーザが選択した半径内で所与のカテゴリのＰＯＩを位置特定エンジン１２８から要求する。これに応答して、ポータル１０８は、位置特定エンジン１２８から、ユーザの所望の基準を満たすすべてのＰＯＩのリストを受け取り、そのようなＰＯＩをリストアップしたＰＯＩ表示ページをユーザの無線デバイスに提供する。ユーザは、リストから特定のＰＯＩを選択し、それをゲートウェイ１０４を介してポータル１０８に提供する。ポータル１０８は、選択されたＰＯＩに関する詳細を提供するＰＯＩ表示ページを提供する。図示していないが、ポータル１０８は、ＳＭＳメッセージ、電子メールメッセージ、またはその他の通信を、ＲＳＶＰを要求している友人に送信する。
【００６３】
データベース１２４は、保留中のＲＳＶＰのリストをユーザに関するレコードと、友人に関する別のレコードの両方の中に格納する。これにより、システム１００は、保留中のＲＳＶＰ、およびその他の会合要求を常に把握していることができる。実際、システム１００は、多数のＳＭＳメッセージを送信して、様々な要求のステータスに関してユーザおよび友人に常に最新情報を与えるようにする。代替の実施形態では、ポータル１０８は、友人がユーザの位置を特定しようと試みたかどうかを示すメッセージなどの、様々なＳＭＳメッセージを受信するように、または受信しないように選択するためのオプションをユーザおよび友人に提供する。この代替形態では、ユーザは、何らかのそのようなメッセージを受信するかどうかを選択すること、またはシステムがユーザの位置を提供することをユーザが許した特定の友人または他の人々からそのようなメッセージを受信するかどうかを指示することができる。このため、例えば、ユーザは、第１の友人がユーザの位置を特定しようと試みたが、第２の友人はそうしなかった場合に通知を受けることを所望することが可能である。
【００６４】
ユーザは、ＰＯＩへの道案内を受信することを所望する場合、無線デバイス１０２を介して道案内を要求することができる。これに応答して、ポータル１０８は、道案内を求める要求を受信し、所望される道案内を取得して、無線デバイス１０２に提供するために前述した諸機能の多くを実行する。ポータル１０８は、電子メールゲートウェイ１４０を介して、ユーザと友人の両方に道案内を電子メールで送ることができる。例えば、ポータル１０８は、電子メールメッセージを作成し、形式設定することができ、そのメッセージを電子メールゲートウェイ１４０が、例えば、「［ユーザ名］＠ｍｏｂｉｌｅ．ａｔｔ．ｎｅｔ．」でユーザに送信する。代替として、またはさらに、ポータル１０８は、適切なファックスサーバ（図示せず）と通信して、地図イメージのファックスを生成し、コンピュータ、ファックス装置などによって受信されるようにユーザまたは友人にそのようなイメージを送信することができる。ファクシミリイメージを生成し、送信するためのソフトウェアユーティリティは、当業者には周知である。ポータル１０８は、ＳＭＳ、またはその他の通信をモバイルデバイス１０２に送信して、自らの電子メールまたはファックス装置を確認するようにユーザの注意を喚起することができる。
【００６５】
システムは、ユーザが、ユーザのモバイル電話番号およびユーザ名を２回、伝えることを要求する。すなわち、友人の位置を特定する許可を要求する際に１回（誰がその要求を行っているかが友人に分かるように）、および誰かにアクセスを許可する際に再度である。ポータル１０８は、モバイル電話番号およびユーザ名を友人リストの中に格納して、ユーザを特定することができるようにし、友人がユーザに連絡をとるのが容易で安全であることができるようにする。
【００６６】
図１１を参照すると、ユーザが友人の近くで会うことを所望する場合、図１０に示したのとほぼ同じメッセージフローが繰り返される。ただし、会合オプションページを受信した際、「私たちの中間地点」で会う要求を与える代わりに、ユーザの無線デバイスは、「友人の近くで」会う要求をポータルに与える。すると、システム１００は、友人の位置に対する所望の半径内のＰＯＩを提供する。同様に、ユーザがユーザの近くで会うことを所望する場合も、図１２に示すとおり、実質的に同様のメッセージフローが実行される。
【００６７】
友人に会うための前述した諸機能により、ユーザは、１回につき１名の友人に会うことができるようになる。代替の実施形態の下では、システム１００は、ユーザが、２名以上の友人を選択し、それらの友人とユーザの間の等距離地点で会合を調整することを可能にする。システム１００は、位置特定エンジン１２８を介して、ユーザと友人らの間の中間地点を計算し、前述した諸機能を実行して、その中間地点または「地理的中心地」における所望のＰＯＩをユーザが特定することができるようにする。
【００６８】
別の代替の実施形態では、ポータル１０８は、ユーザのカレンダアプリケーション、連絡先管理アプリケーション、または両アプリケーションを統合する、またはこれらのアプリケーションとインタフェースをとることができる。例えば、ポータル１０８は、ユーザが友人に対して要求した会合に関するデータを受信し、Ｍｉｃｒｏｓｏｆｔ  Ｏｕｔｌｏｏｋ、Ｉｎｆｏｓｐａｃｅ  Ｃａｌｅｎｄｅｒ、または同様のアプリケーションに関連する標準のＡＰＩを使用して、会合、およびその会合に関する詳細をユーザのカレンダに追加する。同様に、ユーザが新規の友人を追加する、または別の形でユーザの友人リスト（本明細書で説明する）を調整する場合、Ｍｉｃｒｏｓｏｆｔ  Ｏｕｔｌｏｏｋなどのユーザの連絡先管理ソフトウェアにおける連絡先レコードが、その友人に関する情報を含むように変更される。
【００６９】
ポータル１０８は、ユーザの位置に基づき、ユーザが位置している時間帯および現在の現地時間を特定することができる。代替として、またはさらに、ユーザは、本明細書で説明するサービスに加入する際に、ユーザの自宅郵便番号または職場郵便番号を提供することができ、この郵便番号をポータルが使用して、時間帯または現地時間をそのユーザに関連付けることもできる。また、ユーザが本システムを介して友人の位置を特定する際、ポータル１０８が、友人の現在位置における時間帯または現地時間をユーザのモバイルデバイス１０２に戻すことも可能である。ポータル１０８は、モバイルデバイスの位置から時間帯を特定すること、モバイルデバイスから時間帯を要求すること、または位置特定エンジン１２８やＧＭＬＣ１２６などの別のシステム要素から時間帯を取得することもできる。
【００７０】
時間帯および現在の現地時間は、様々なアプリケーションにおいて役立つ可能性がある。例えば、現地時間は、会合を調整する際に使用することができる。ユーザは、シアトルからニューヨーク市に移動中である可能性があり、会合機能を使用して、ニューヨーク市における同僚との会合をスケジュールする、または調整することができる。ユーザは、ユーザが滞在することになるホテルに相当する「ｆｒｏｍ」位置、および会合場所（ホテルの近くのレストランなどの）を入力することができる。すると、システムは、ユーザの現在の西海岸時間ではなく、東海岸時間に基づいて会合を調整することができる。また、システムは、ユーザの、または友人の関連する現地時間を使用して、メッセージを受信する、または送信する、位置特定された友人を呼び出すのに適切な時刻であるかどうかを判定するなどのために適切な時刻を算出することができる。このため、システムは、ユーザ、友人、またはその他の人々の現地時間を使用して、本明細書で説明する適切なアプリケーションまたは機能に入力を行う（ｐｏｐｕｌａｔｅ）ことができる。
【００７１】
代替の実施形態では、ポータル１０８は、位置（ユーザの現在位置や関心対象地点の位置などの）近くの横通り（ｃｒｏｓｓ  ｓｔｒｅｅｔ）のドロップダウンリストをユーザに提供することができる。横通りのそのようなリストは、所望の位置に対してユーザを向けさせる際、スクリーン（例えば、「ｆｒｏｍ」位置スクリーン）に記入する際などに特に役立つ可能性がある。そのような横通りのリストは、任意の既知のユーザ入力技術（例えば、そのようなユーザ入力デバイスを使用するモバイルデバイス上のタッチセンシティブスクリーン、数字キーパッドだけを使用するモバイルデバイスを使用したメニューリストからの単純なボタン選択）を介してユーザが選択できるオプションとして提供されることが可能である。位置特定エンジン１２８が、横通り（ｃｒｏｓｓ  ｓｔｒｅｅｔ）の特定を提供することも可能である。
【００７２】
ポータル１０８は、ユーザのリスト上の友人が「近く」にいるとき、それをユーザに通知することができる。例えば、ユーザの友人リスト上の友人が、ユーザと同一のセルセクタ内にいる場合、ポータル１０８は、ＳＭＳメッセージをユーザに提供して、その友人を特定し、そのような友人が「非常に近く」にいることを示すことができる。
【００７３】
別の例として、ユーザは、ある半径内にいる、またはその他の基準に基づく似通った関心を共有する、友人またはその他の個人を見つけることができる。以下に説明するとおり、ポータルデータベース１２４は、本明細書で説明する位置ベースのサービスの各ユーザに関する公開プロファイルを格納することができる。この公開プロファイルは、その個人に関する趣味、関心、およびその他の情報を含むことが可能である。このため、ユーザは、２００メートルの範囲内にいるゴルフを愛好する人であれば誰でも位置を特定しようと試みて、ユーザが、会合要求を送信し、４人プレーを確立できるようにすることができる。本明細書で説明するとおり、他の多くの例が可能である。
【００７４】
図１３〜１６は、システム１００が、どのようにユーザのために近くの場所を見つけるか、どのようにユーザのために近くの友人を見つけるか、どのようにユーザが自分の友人リストを編集することができるようにするか、ならびにどのようにユーザが会合要求に応答して、友人にＲＳＶＰすることができるようにするかをそれぞれ示すデータおよび機能の流れ図である。これらの機能に関する詳細を図１７〜３３に関連して以下に提供する。
【００７５】
より具体的には、図１３ないし１６は、図１７ないし３３、および前述した前出の図に関連してより詳細に示した、または説明した機能を提供するソフトウェアルーチンまたはソフトウェアサブルーチンの例を示している。明瞭さを犠牲にせずに、ただし、簡潔にするため、および当業者（または当業者でない人々）を指導するため、次に、図１３の諸部分を詳細に説明する。当業者には、図１３〜１６は自明であろうが、図１３のそのより詳細な説明から、図１４ないし１６をより容易に理解することができる。
【００７６】
図１３に示すとおり、ＦｉｎｄＮｅａｒｂｙＣｏｎｔｒｏｌｌｅｒルーチン１３００が、近くの場所を見つけることと、友人を見つけることの間でオプションをユーザに提示するページ「ＦｉｎｄＮｅａｒｂｙＰａｇｅ」１３０２を初期設定して、ユーザに提供する。例の図１３では、ユーザは、「場所」を選択し、これに応答して、システムは、サブルーチン、ＣａｔｅｇｏｒｙＬｉｓｔＢｕｉｌｄｉｎｇ１３０６と対話するサブルーチン、ＮｅａｒｂｙＳｅａｒｃｈＣｏｎｔｒｏｌｌｅｒ１３０４を開始し、サブルーチン１３０６は、カテゴリデータベース、ＣａｔｅｇｏｒｙＦａｃｔｏｒｙからすべてのカテゴリを取得する。サーバは、スクリプト、またはその他の実行可能コードを実行して、ユーザに対するページ、またはその他の表示を生成することができる。このため、この実施形態の諸態様は、例えば、ＦｉｎｄＮｅａｒｂｙＰａｇｅページを提供すること、または表示することに関連して説明するが、システムは、実際には、ＦｉｎｄＮｅａｒｂｙＰａｇｅと名付けられたスクリプトを実行して、ユーザのモバイルデバイス上で表示されるために伝送されるページまたは表示を生成することができる。このため、簡潔にするため、ただし明瞭さを犠牲にせずに、以下の説明は、単にユーザにページを表示すること、または提供することについて述べる。
【００７７】
次に、ユーザは、レストラン、酒場／居酒屋、またはさらなる場所の間のオプションを提供するページ、「ＮｅａｒｂｙＰｌａｃｅＭｅｎｕＰａｇｅ」１３０８を受け取る。ユーザが「さらなる」を選択した場合、ＮｅａｒｂｙＳｅａｒｃｈＣｏｎｔｒｏｌｌｅｒ１３０４は、ＣａｔｅｇｏｒｙＬｉｓｔＢｕｉｌｄｉｎｇ１３０６からユーザに表示するさらなるカテゴリを要求する。この例では、ユーザは、「レストラン」を選択し、これに応答して、サブルーチン、ＰｌａｃｅＳｅａｒｃｈＲａｄｉｕｓＣｏｎｔｒｏｌｌｅｒ１３１０が、探索半径ページをユーザに表示し、このページは、１マイル、５マイル、１５マイル、またはその他の探索半径オプションを提供する（「ＰｌａｃｅＳｅａｒｃｈＲａｄｉｕｓＯｐｔｉｏｎＰａｇｅ」１３１２として示される）。探索半径を選択した後、サブルーチン、ＰｌａｃｅＳｅａｒｃｈＲｅｓｕｌｔＣｏｎｔｒｏｌｌｅｒ１３１４が起動し、半径内のユーザ選択に基づいて情報を位置特定エンジン１２８から取得し、位置情報を表示する。ユーザが、ページ１３１２から「その他」を選択している場合、ユーザは、ページ、「ＰｌａｃｅＳｅａｒｃｈＲａｄｉｕｓＩｎｐｕｔＰａｇｅ」１３１６を受信する。選択された半径内で何も見つからなかった場合、ユーザは、ユーザが、ルーチン、ＦｉｎｄＮｅａｒｂｙＣｏｎｔｒｏｌｌｅｒ１３００に戻ること、またはページ１３１０から別の半径を選択することを可能にするページ、「ＮｏＬｏｃａｔｉｏｎｓＦｏｕｎｄＰａｇｅ」１３１８を受信する。
【００７８】
サブルーチン、ＰｌａｃｅＬｉｓｔＢｕｉｌｄｅｒ１３２０が、セッションを維持しながら、選択されたカテゴリから、選択された半径内で場所を見つける。サブルーチン、ＦｒｉｅｎｄＬｏｃａｔｏｒ１３２２が、ＧＭＬＣ１２６、および位置特定エージェント１２８を呼び出し、エージェント１２８は、例えば、ユーザのモバイルデバイスの位置に関する位置データを提供する。選択されたカテゴリの中の、選択された半径内の場所が、ＮｅａｒｂｙＰｌａｃｅＩｎｆｏＰａｇｅ１３２４を介してユーザに提供され、ＮｅａｒｂｙＰｌａｃｅＩｎｆｏＰａｇｅ１３２４は、この例では、０．５マイル離れたマクドナルド、および１マイル離れたバーガーキングを示している。ユーザは、選択された場所に関するさらなる詳細を受け取ることができ、そのような詳細が、ＮｅａｒｂｙＰｌａｃｅＤｅｔａｉｌｓＰａｇｅ１３２６で提供される。ページ１３２６から、ユーザは、サブルーチン、ＮｅａｒｂｙＰｌａｃｅＤｅｓｃｒｉｐｔｉｏｎＣｏｎｔｒｏｌｌｅｒ１３２８を介して、表示された場所を呼び出すこと、または表示された場所への道案内を受信することができる。ページ１３２８に続き、サブルーチン、ＤｉｒｅｃｔｉｏｎｓＣｏｎｔｒｏｌｌｅｒ１３３０が、送信元情報および宛先情報を受け取り、ユーザに提供する道案内を取得する。
【００７９】
図１４は、図１３と同様であるが、ユーザがページ１３０２から「友人」を選択する場合に関するルーチンおよび機能を示す。図１５は、本明細書で説明するとおり、位置情報を友人に提供することに関する許可をユーザが調整できるようにするためのルーチンおよび機能を示す。図１６は、友人との会合を調整すること、詳細には、会合の通知または確認を個人に提供するＲＳＶＰ機能を提供することに関するルーチンおよび機能を示す。
【００８０】
（代表的なユーザインタフェース）
次に、情報をユーザに表示するための代表的なユーザインタフェース、および関連する論理の分岐および機能を、図１７ないし３４に関連して説明する。これらの図は、ユーザに表示される情報の例（「表示ページ」）、およびユーザによって選択されるオプションの例を示す。その他の例も可能であることが当業者には容易に理解されよう。同様に、図１７ないし３４は、当業者には全般的に自明である（本明細書で提供する詳細な説明に基づいて）。いくつかの初期ユーザ表示および初期機能の態様を詳細に説明するが、その後の表示および機能は、それほど詳細にではなく説明することができる。後に説明する表示および機能は、前に説明される表示および機能と同一の詳細の多くを有することが当業者には理解されよう。以下の説明は、ユーザに情報を提供することを説明するが、ポータル１０８は、実際には、ゲートウェイ１０４を介して、無線デバイス１０２上で表示するための表示ページ、またはその他の通信をユーザに提供する。
【００８１】
表示ページは、ＷＡＰ、ＸＭＬ（拡張マークアップ言語）、ＨＴＭＬ（ハイパーテキストマークアップ言語）、ハンドヘルドデバイスマークアップ言語（ＨＤＭＬ）、ワイヤレスマークアップ言語（ＷＭＬ）、または情報をユーザに提供するその他の言語またはスクリプトで実装することができる。表示ページは、記入されるべきフィールド、メニューから選択されるべき１つまたは複数の番号付き項目、選択されるべきハイパーテキストリンク、いくつかのオプションの１つまたは複数が選択されることを可能にする表示、あるいはユーザ入力を受け取るための他の周知のユーザインタフェースツールなどの、ユーザ入力データを受け取る機構を提供する。ページでユーザに情報を表示する１つまたは複数のやり方を示しているが、もちろん、他の様々な代替形態も使用できることが当業者には理解されよう。「スクリーン」、「表示ページ」、および「ページ」という用語は、本明細書では全般的に互いに区別せずに使用する。
【００８２】
表示ページは、表示記述、グラフィカルユーザインタフェース、またはコンピュータスクリーン上の情報を記述する他の方法（例えば、コマンド、リンク、フォント、カラー、レイアウト、サイズと相対位置など）として格納され、ページ上で表示されるレイアウト、および情報、つまりコンテンツは、データベース１２４（または他の場所）の中に格納される。一般に、「リンク」とは、ネットワーク上にサイトまたはノードを有する組織によって提供される表示記述などの、ネットワーク上のリソースを特定する任意のリソースロケータを指す。本明細書で一般的に使用する「表示記述」とは、前述した形式のいずれか、ならびに電子メール形式または文字／コードベースの形式、アルゴリズムベースの形式（例えば、ベクトル生成された（ｖｅｃｔｏｒ  ｇｅｎｅｒａｔｅｄ））、あるいはマトリックス形式またはビットマップ形式などの他の形式で、表示スクリーン上に情報を自動的に表示する任意の方法を指す。
【００８３】
図１７を参照すると、ポータル１０８が、ブロック１７０２の下でユーザにメインメニューを提供する。図示するとおり、メインメニューは、７つのオプション、すなわち、１）友人の位置を特定する、２）位置特定オン／オフ、３）友人に会う、４）最も近い．．．を見つける、５）友人を追加／編集する、６）プロファイルを編集する、７）ヘルプをユーザに提供する。メインメニューは、ユーザに提供されるオプションおよび諸機能に関する出発点、および初期の分岐を提供する。以上のオプションのそれぞれを以下に詳細に説明する。
【００８４】
前述したとおり、システム１００は、ユーザおよび友人が、所望される場合はいつでも、特権およびプロファイルを変更することができるようにする。このため、ユーザまたは友人は、システムにユーザまたは友人の位置を特定させる能力をオフにする（「不可視になる」）ことができる。同様に、ユーザは、リストから友人を永久に、または一時的に除去するようにユーザの友人リストを変更することができる。ユーザおよび友人は、そのようなユーザ／友人に関する情報を提供する公開プロファイルを作成すること、編集すること、および閲覧することができる。ユーザがリアルタイムで特権を変更する能力のさらなる説明を、以下に述べる。
【００８５】
図１８を参照すると、ユーザが「友人の位置を特定する」を選択した場合（モバイル電話器上の「１」のボタンを押し下げることなどにより）、ポータル１０８が、ブロック１８０２で、ユーザに友人リストを提供する。ユーザがある友人を選択した場合、システム１００は、その友人の位置を特定しようと試み、その友人を見つけることができない場合、位置特定エラーメッセージを提供し、本明細書で説明するとおり、位置特定警報ＳＭＳメッセージをユーザに送信することができる。ブロック１８０４およびブロック１８０６で示すとおり、友人が見つかった場合、例えば、システム１００がどれだけ正確に友人の位置を特定することができるかに依存して、２つの結果のうち１つがユーザに提供される。
【００８６】
ユーザが、ブロック１８０２の下で初期友人リストの中に示された友人より多くの友人を閲覧することを所望する場合、ユーザは、ブロック１８０８で示すとおり、さらなる友人を表示するようにポータル１０８に求めることができる。ブロック１８０８の下で、追加の友人が、友人を追加するオプション（以下に説明する）、またはすべての友人を見つける能力と一緒にユーザに表示される。この例では、ユーザは、友人を「すべて見つける」オプションを選択しており、ユーザが２０名を超える友人を有する場合、システム１００は、ブロック１８１０の下で、システム１００が２０名を超える友人を一度に探し出すことができないことを示すエラーメッセージを提供する。すると、ユーザは、ブロック１８１０の下で、追加の友人、またはそれらの２０名の友人のサブセットを要求することができる。ユーザが、２０名の友人、またはそのサブセットに対して処理を行うことを選択した場合、ブロック１８１０とブロック１８１２はともに、ユーザが、１名または複数名の友人を呼び出すこと、ＳＭＳメッセージを１名または複数名の友人に送信すること、または１名または複数名の友人に会うことを可能にするオプションメニュー１８１６に分岐して進む。同様に、ブロック１８０４またはブロック１８０６で友人を選択した後、またはブロック１８１４の下ですべての友人を見つけた後、ルーチンは、オプションメニュー１８１６に分岐して進む。
【００８７】
図１７ないし３４に示した多くの表示スクリーンは、オプション、「ＯＫ」および「メニュー」を含む。「ＯＫ」オプションを選択することにより、スクリーン上に表示された所与のオプションまたはコマンドが選択される。「メニュー」オプションを選択することにより、ユーザは、メインメニューに戻される。さらに、図１７〜３４に示す多くの表示スクリーン、および本明細書で説明するその他の機能により、一部のパラメータの特定の適切な値が提供される。システムは、他の値も使用できることが当業者には容易に理解されよう。例えば、システム１００は、２０名を超える友人を一度に探し出すことはできないものとして上記に示したが、代替のシステムは、一度に１０名の友人だけしか探し出すことができないことも、３０名を超える友人を同時に探し出すことができることも可能である。このため、本明細書で提供するそのような特定の数は、単に例に過ぎず、他の多くの値を使用することができる。
【００８８】
図１９を参照すると、ユーザが、ブロック１８１６の下で、選択された友人を呼び出すことを選択した場合、１９０２のブロックで、システム１００は、その友人を呼び出し、ブロック１９０２で示される表示がユーザに提供される。代替として、ユーザがＳＭＳメッセージを送信することを選択した場合、ユーザには、テキストを入力する入力スクリーンが示され（ブロック１９０４）、「ＯＫ」をクリックした後、メッセージが送信されたことを示す表示が示される（ブロック１９０６）。ブロック１９０２またはブロック１９０６の後、ルーチンは、メインメニューを表示することに分岐して戻る。
【００８９】
図２０を参照すると、ユーザが、システム１００に対してユーザの位置特定をオンまたはオフにすることを所望する場合（「不可視／可視になる」という言い方もする）、ポータル１０８が、ブロック２００２の下で、ユーザの現在の位置ステータスを示すスクリーンを表示する。すると、ユーザは、スクリーン２００４の下でこのステータスを編集することができる。このため、不可視性機能は、ユーザの位置を特定する能力をユーザが、最小限の数のキーストロークだけで容易にオフにすることができるようにする最上レベルメニュー項目として提供される。不可視性は、「午後１０時より後、私は可視であることを望まない」または「私の家族だけが私を見つけることを許す」のように、時間、グループなどに基づくことが可能である。ポータル１０８は、結果を保存し、ルーチンは、分岐してメインメニューに戻る。代替として、本発明の一部の実施形態は、ユーザが決して不可視になることができず、位置特定許可が取り消されることが不可能な友人のリストを保持する。そのようなリストは、自分の子供の位置を特定できることを所望する親、配送員の位置を特定することを所望する雇用者、またはユーザのアカウントのスポンサーとなっていることが可能なその他の個人に役立つ。
【００９０】
図２１を参照すると、ユーザがメインメニューから友人に会うことを選択した場合、ブロック２１０２またはブロック２１０４の下で、ユーザは、友人を選択することができ、ブロック２１０６で、その友人の位置を閲覧することができる。ブロック２１０８で、ユーザは、１）友人の近くで会う、２）ユーザの近くで会う、または３）ユーザと友人の中間地点で会うというオプションを提供する会合区域表示ページを受信する。
【００９１】
図２２を参照すると、ユーザが、ユーザ自身の近くで会うこと、またはユーザの友人の近くで会うことを選択した場合、システムは、ユーザの位置を取得する。ユーザまたは友人の近くで会うことを選択した後、ユーザは、ブロック２２０２の下で、会合場所またはＰＯＩカテゴリリストを受信する。図示するとおり、リストは、レストラン、喫茶店、酒場／居酒屋、書店などのオプションを含むことが可能である。関心対象地点のその他の例には、薬局、病院、消防署／警察署の場所、およびその他の緊急タイプの場所が含まれる。（一般に、関心対象地点は、任意の物理的場所または地理的場所であることが可能である。）システムは、本明細書で説明するとおり、最も一般的な種類の会合場所のリストを提供する。会合場所は、位置または位置コンテキストに関連する。位置コンテキストは、正確な通りの位置である必要はなく、都市、州、近隣、サイト（例えば、セルサイト）などの一般的な区域である。ポータルデータベース１２４、位置特定エンジン１２８、またはその両方が、それらの関心対象地点に関するそのような情報を格納する。
【００９２】
ユーザが、ユーザの友人からあまりにも遠くに離れている場合、ユーザは、ブロック２２０４の下で、離れ過ぎ表示を受信する。ユーザは、地理的中間地点で会うことを所望する場合、次の３つの可能な表示の１つを受信する。複数の都市または近隣が中間地点に位置している（ブロック２２０６）、友人は、同一のセルサイト内にいるか、または別の形でユーザの近くにいる（ブロック２２０８）、または友人は、ユーザと同一の都市または同一の近隣にいる。複数の都市／近隣が利用可能である場合、ユーザは、ブロック２２１０で示されるとおり、都市／近隣選択スクリーンを受信する。
【００９３】
図２３を参照すると、ブロック２２０２の下で、ユーザが会合場所のカテゴリを選択した後、ユーザは、ブロック２３０２の下で探索半径スクリーンを受信して、１マイル、５マイル、１５マイル、またはその他のマイルの半径を選択する。ユーザが半径を選択し、その半径内でＰＯＩが全く見つからない場合、ユーザは、探索拡張スクリーン２３０４を受け取り、ユーザは、半径を拡張することができる（その後、ブロック２３０２に戻される）。ユーザは、所望の半径を入力することを選択した場合、半径入力スクリーンにおいて所望の半径を入力することができる（ブロック２３０６）。ブロック２３０８の下で、ユーザは、選択された会合場所カテゴリ（この例では、レストラン）に関連するＰＯＩのリストを受信する。レストランを選択した後、ユーザは、ブロック２３１０で、レストランの所在地、ユーザからの距離、電話番号などの選択されたレストランに関する詳細、ならびにレストランを呼び出す、またはレストランへの道案内を受信するオプションを受け取る。ユーザは、レストランを呼び出すことを選択した場合、呼び出し表示を受信する（ブロック２３１２）。
【００９４】
図２４を参照すると、ユーザは、レストランへの道案内を要求した場合、道案内取得スクリーンを受信し、このスクリーンで、ユーザは、出発位置、つまり「ｆｒｏｍ」位置（「ｔｏ」位置、すなわち、レストランは既に提供されている）を入力しなければならない。道案内を取得するため、ユーザは、「ｆｒｏｍ」位置を入力しなければならず、このため、ｆｒｏｍ位置スクリーンを受信し（ブロック２４０４）、このスクリーンからユーザは、ｆｒｏｍ位置、すなわち、ユーザの位置、友人の位置、または別のアドレスを選択することができる。ユーザがユーザの位置、または友人の位置を選択し、システム１００が、ユーザのおおよその位置しか特定することができない場合、システム１００は、システムが、最も近いセルサイトを現在の出発位置として提供し、その最も近いセルサイトをブロック２４０２の道案内スクリーンで表示するために戻すことを示す適切な警告スクリーンを提供することができる（ブロック２４０６および２４０８）。ユーザは、アドレスを入力することを所望する場合（例えば、より高い地理的限定性を提供するため）、アドレス入力スクリーンを受信する（ブロック２４１０）。アドレスが見つからない場合、ユーザは、アドレスが見つかりません（ａｄｄｒｅｓｓ  ｎｏｔ  ｆｏｕｎｄ）スクリーンを受信し（ブロック２４１２）、その後、ブロック２４１０のアドレス入力スクリーンを再び受信する。ポータル１０８は、ユーザがアドレスを入力する際、都市フィールド、州フィールド、およびその他のフィールドに自動的にデータを入れる（ｐｏｐｕｌａｔｅ）。例えば、ユーザが都市をタイプ入力し始めると、ポータルが、例えば、ユーザによって入力された最初の２文字を有する、ユーザから適切な半径内にある第１の都市の完全な名前を自動的に記入し始める。位置特定エンジンがそのような都市のリストを提供してもよい。
【００９５】
図２５を参照すると、ｆｒｏｍ道案内を受信した後、ユーザは、いくつかの道案内スクリーンをユーザに提供するスクリーン２５０２ないし２５０４を受信する。ブロック２５０６の下で、ユーザは、道案内に関連して次の３つのオプションを実行することができる。すなわち、道案内の前のスクリーン、または前のステップに戻る、道案内の所望のスクリーン、または所望のステップにジャンプする、または道案内を電子メールで送るである。ポータル１０８は、走行道案内の各ステップで小型の地図を提供することができ、この地図は、ユーザ（または友人）の現在の通りの位置、および他の任意の近い通り、または重要な通りを含むことが可能である。すべての図では示していないが、ユーザは、無効な指示番号を入力したか、または別の形で無効なエントリを選択した場合、ブロック２５０８に示したスクリーンのようなエラースクリーンを受信する。ユーザは、道案内を電子メールで送ることを所望する場合、電子メール入力表示を受信して、電子メールアドレスを入力する（ブロック２５１０）。代替として、ポータル１０８は、以下に説明するユーザ公開プロファイル３５００または友人データレコード３９００、またはその他の適切なレコードなどの、データベース１２４内の情報を参照することにより、電子メールアドレスを自動的に供給することも可能である。その後、ルーチンは、メインメニューに戻る。
【００９６】
図１７を再び参照すると、ユーザは、最も近くにいる友人、または最も近い場所を見つけることをメインメニューから選択した場合、近くの場所を見つける（ｆｉｎｄ  ｎｅａｒｂｙ  ｐｌａｃｅｓ）スクリーンをブロック１７０４で受信する。その後、ルーチンは、前述したのと実質的に同様の仕方で、ブロック１７０６およびブロック１７０８で、会合場所のカテゴリ、または友人リストをリストアップする。システムは、もちろん、自動車サービス（例えば、給油所、牽引サービス、自動車修理の場所、自動車販売代理店など）、金融機関（例えば、銀行、現金自動預入支払機［ＡＴＭ］、小切手換金の場所など）、官設の場所（例えば、ライブラリ、郵便局、車両／免許証登録の場所、警察署、消防署など）、移動サービス（例えば、タクシーサービス、ホテル／モーテル、鉄道の駅など）、および一般的な消費者サービス（例えば、コインランドリー、ドライクリーニング店、食料雑貨店、コンビニエンスストア、新聞雑誌販売所、ヘルスクラブ、ショッピングモール、コピー／印刷店など）などの、ユーザのニーズを満たす任意の種類の場所を見つけることができる。
【００９７】
図２６および図２７を参照すると、場所を探し出すことを選択した後、ユーザは、友人に会うことに関して前述したのと同様の形で、探索半径、ＰＯＩのリスト、場所の詳細を入力するためのスクリーンを受信し、スクリーン２６０２、２６０４、２６０６、２６０８、２７０２、２７０４、２７０６、および２７０８の下でオプションおよび道案内を受信する。ユーザは、友人の位置を特定することを選択した場合、図２６の探索半径スクリーンを受信する。その後、図２７で、ユーザは、ブロック２７１０の下で、選択された探索半径内にいる友人のリストを受信する。ユーザが、最初のリストの中で示された友人より多くの友人を閲覧することを所望する場合、ブロック２７１２の下で、１つまたは複数の追加の友人スクリーンが表示される。その後、システムは、ユーザが、友人の呼び出しを行う、友人との会合をスケジュールする、ＳＭＳメッセージを友人に送信するなどのいくつかの機能、または本明細書で説明する他の任意の機能を実行することができるようにする。さらに、ユーザは、ユーザ、友人、ユーザと友人の間の中間地点を中心とする、あるいは別のＰＯＩを中心とするある半径内でＰＯＩを探索することができる（例えば、ユーザは、特定の交差点から１マイルの範囲内のレストランを探索することができる）。
【００９８】
図２８を参照すると、ユーザは、メインメニューの下で友人を追加すること、または編集することを選択した場合、ブロック２８０２の下で友人追加オプション表示を受信する。図示するとおり、ユーザは、友人を受け入れること、友人を除去すること、許可を取り消すこと、または常時拒否リストを編集することができる。ユーザが友人を追加することを所望する場合、図２９を参照すると、ユーザは、ブロック２９０２の下で友人追加メニューを受信する。図示するとおり、友人追加メニューにより、ユーザは、友人のモバイル番号を入力する、友人のユーザ名を入力する、または指定された探索条件に基づいて友人に関する公開プロファイルレコードのデータベースを探索することができるようになる。友人リスト、保留中の友人要求のリスト、および常時拒否リストは、ネットワーク内に格納する文脈で主に説明したが、本発明の一部の実施形態では、以上のリスト、およびその他のリストは、モバイルデバイス１０２の中に格納し、デバイス１０２を使用して変更することもできる。例えば、モバイルデバイス１０２は、本明細書で説明するリストまたはレコードを内蔵メモリの中にローカルで格納すること、または加入者ＩＤモジュール（ＳＩＭ）カード、スマートカード、またはその他のリムーバブルなメモリの中に格納することができる。
【００９９】
ユーザが、友人のモバイル番号を入力することを選択した場合、ユーザは、モバイル番号入力スクリーンを受信し（ブロック２９０４）、そのモバイル番号が見つからなかった場合、ユーザは、見つからなかった（ｎｏｔ  ｆｏｕｎｄ）スクリーンを受信する（ブロック２９０６）。ユーザがユーザ名を入力することを所望する場合、ユーザは、ユーザ名入力スクリーンを受信し（ブロック２９０８）、そのユーザ名が見つからなかった場合、ユーザ名が見つからなかった（ｕｓｅｒｎａｍｅ  ｎｏｔ  ｆｏｕｎｄ）エラースクリーンを受信する（ブロック２９１０）。ユーザが友人を探索することを所望する場合、ユーザは、ブロック２９１２の下で探索条件スクリーンを受信する。図示するとおり、探索条件スクリーンは、ユーザが、名、姓、都市、州、年齢、電子メールアドレス、関心、または以上の探索条件または探索フィールドの任意の組合せなどの、公開プロファイルレコードの中の様々なフィールドを探索することができるようにする。探索基準を入力した後、ユーザは、探索結果スクリーンを受信するか（ブロック２９１４）、またはエラースクリーンを受信する（ブロック２９１６）。
【０１００】
もちろん、以上のフィールドは、単に例に過ぎず、その他のフィールドまたは探索条件がユーザに提供されることも可能である。ユーザは、システム１００に最初に加入する際、個人情報だけでなく、他の人々が見る、または探索することをユーザが許す公開プロファイル情報も含むフォーム（Ｗｅｂページフォーム、またはその他の電子ドキュメントなどの）を完成させることを要求される可能性がある。もちろん、ユーザは、そのフォームの中のユーザのフィールドの一部またはすべてに対するアクセス特権を提供することができ、ユーザは、いつでも、そのようなプロファイルを編集する、またはそのようなアクセス特権を変更することができる。
【０１０１】
図３５に飛ぶと、ユーザの公開プロファイルの例が、レコード３５００として示されている。ユーザの公開プロファイルレコードは、名フィールド３５０２および姓フィールド３５０４、ならびに都市フィールド３５０６、州フィールド３５０８、電子メールアドレスフィールド３５１０、および郵便番号フィールド３５１２を含む。ユーザの公開プロファイルは、友人がユーザのイメージを閲覧することができるようにするイメージファイル３５１４、またはイメージファイルへのリンクも含むことが可能である。イメージは、デジタル写真、マンガ、アニメーションなどの任意のデジタルイメージであることが可能である。レコードは、年齢フィールド３５１６、ならびに１つまたは複数の関心フィールドまたは趣味フィールド３５１８ないし３５２２を含むことが可能である。もちろん、他の多くのフィールドも提供されることが可能である。他のフィールドには、インスタントメッセージング（ＩＭ）ハンドルまたはユーザ名、または本明細書で説明する他のユーザ通信ＩＤが含まれることが可能である。前述したとおり、ユーザは、それらのフィールドに対するデータを電子的に入力するためのＷｅｂページを取り出す、またはダウンロードすることができ、そのようなレコードを作成することができ、次に、そのレコードがポータルアプリケーションサーバ群１０８に戻される。
【０１０２】
図３０を参照すると、追加されるべき友人を特定した後、ユーザは、友人のモバイル番号またはユーザ名をリストアップしたスクリーンを取り出し（ブロック３００２）、友人がユーザの友人リストに追加されることを所望するかどうかを尋ねる要求を友人に送信するか、または事前にその友人の公開プロファイルを閲覧するという２つのオプションを提供する。ユーザが単に友人を追加することを所望する場合、ユーザは、ユーザが友人の位置に対するアクセスを得ることを要求するＳＭＳメッセージ（または他のメッセージ）が友人に送信されたことを示す情報メッセージをブロック３００４の下で受信する。
【０１０３】
代替として、またはさらに、システムは、友人のモバイルデバイス上に表示されるスクリーンに関する何らかの指示をユーザに提供する。例えば、次回に友人が、本明細書で説明する位置ベースのサービスにアクセスした際、友人は、メインメニューにおける「友人追加／編集」オプションの隣にアスタリスクを見る。そのような視覚的指示は、アクセスを求める保留中の要求が存在することをユーザに伝える。（友人がアクセスを拒否した場合、ユーザは、拒否メッセージを受信する。）
友人が要求を受け入れると、友人は、ユーザの友人リストに追加され、ユーザは、以降、その友人の位置を特定することができる（友人が、「不可視になる」、またはその友人の位置へのユーザアクセスを拒否することをしていない限り）。ユーザが、友人のプロファイルをまず閲覧することを所望する場合、ユーザは、上記にリストアップしたフィールド（例えば、名、姓、都市、州、年齢など）を含む公開プロファイルスクリーンを受信する（ブロック３００６）。
【０１０４】
図２８を再び参照すると、ユーザが友人の友人リストに追加されることを要求した友人をユーザが承認することを所望する場合、ブロック２８０４で、ユーザは、ユーザが友人のリストに追加されるいくつかの保留中の要求を示すステータススクリーンを受信し、それらの友人がユーザの位置へのアクセスを得ることができるようにする。ブロック２８０６で、ユーザは、保留中の要求を有する友人のリストを受信し、このリストからユーザは、友人（および関連する要求）を選択することができる。
【０１０５】
図３１を参照すると、保留中の要求のリストから友人を選択した後、ユーザは、ブロック３１０２でオプションメニューを受信し、このメニューでユーザは、その要求を受け入れること、その要求を拒否すること、その友人からの要求を常に拒否すること、または要求を行っている友人に関するプロファイルを閲覧することができる。ユーザが、その要求を受け入れることを所望する場合、ユーザは、ユーザの位置およびモバイル番号に友人がアクセスするのを許すことをユーザが所望することを確認するよう、ユーザに要求する確認スクリーンを受信する（ブロック３１０４）。所望しない場合、ユーザは、オプションメニューを受信するが（ブロック３１０２）、所望する場合、ユーザは、友人の位置に対するユーザアクセスを友人が許可するようにシステム１００が要求することをユーザが所望するかどうかもユーザに尋ねるアクセス許可スクリーン（ブロック３１０６）を受信する。つまり、システムは、ユーザと友人の間で互恵的に位置を自動的に提供することはせず、代わりに、一方から許可をまず要求し、次に、他方から許可を要求する。そうである場合、システムは、適切なＳＭＳメッセージを送信し、ブロック３１０８で、要求送信確認スクリーンがユーザに提供される。
【０１０６】
ユーザが、要求を行っている友人に位置情報を拒否することを所望する場合、ユーザは、選択された友人がユーザの位置へのアクセスを有さないことを示す拒否確認スクリーン（ブロック３１１０）を受信する。ユーザの位置へのアクセスを選択された友人が得ることを常に拒否することをユーザが所望する場合、またはユーザが友人の公開プロファイルを閲覧することを所望する場合、ユーザは、ブロック３１１２および３１１４に関連してそれぞれ示したスクリーンを受信する。友人を常に拒否した後、ユーザは、保留中の要求のリストスクリーンを再び、ただし、選択された友人が載せられずに再び受信する（ブロック２８０６）。選択された友人プロファイルを閲覧した後、または選択された友人を常に拒否することに合意しなかった後、ルーチンは、ループして戻り、ユーザが、ブロック３１０２でスクリーンを再び受信する。
【０１０７】
図３２を参照すると、ユーザが、ブロック２８０２の下で友人を除去することを選択した場合、ユーザは次にブロック３２０２で、ユーザの位置を特定する許可をユーザが取り消すことができる友人をリストアップした許可取り消しスクリーンを受信する。ブロック３２０４で、ユーザは、ユーザの位置へのアクセスが選択された友人に与えられるべきでないことを確認するよう、ユーザに要求する確認スクリーンを受信する。ユーザが同意した場合、ブロック３２０６で、ユーザは、選択された友人がもはや、ユーザの位置へのアクセスを得ることができないことを確認し、ユーザの友人リストからその友人が除去されることをユーザが所望するかどうかを尋ねるスクリーンを受信する。
【０１０８】
ユーザが、ユーザの友人リストから友人が除去されることを所望する場合（ブロック２８０２またはブロック３２０６の後）、ユーザは、ブロック３２０８の下で、除去されることが可能な友人のリストを受信する。ブロック３２１０の下で、ユーザは、ユーザの友人リストからの選択された友人の除去を確認するよう、ユーザに要求する確認スクリーンを受信する。ユーザが同意した場合、ブロック３２１２で、ユーザは、選択された友人がユーザの友人リストから除去されたことを確認し、その友人がユーザの位置にアクセスする許可を取り消すことをユーザが所望するかどうかを尋ねるスクリーンを受信する。所望する場合、ルーチンは、ブロック３２０２ないし３２０６の下でオプションを表示することにループして戻り、所望しない場合、ルーチンは、メインメニューにループして戻る。
【０１０９】
ユーザが、ユーザの常時拒否リストを編集することを所望する場合、ユーザは、ブロック３２１４の下で、常時拒否リスト上の友人のリストを受信する。ブロック３２１６の下で、ユーザは、常時拒否リスト上の選択された友人に、ユーザの位置へのアクセスが与えられるべきことを確認するよう、ユーザに要求する確認スクリーンを受信する。ブロック３２１８で、ユーザは、ユーザの常時拒否リストが正常に編集されたことを示し、選択された友人が現時点で、ユーザの位置へのアクセスを得ることができるという通知が選択された友人に与えられることをユーザが所望するかどうかを要求するスクリーンを受信する。所望する場合、システム１００は、ＳＭＳメッセージを選択された友人に送信し、ユーザは、ブロック３２２０の下で、通知送信確認スクリーンを受信する。そのようなＳＭＳメッセージの例は、「［ユーザ］が、貴方を常時拒否リストから除去しました。［ユーザの］位置へのアクセスを要求することを所望される場合、友人追加メニューに進んでください。」と述べることが可能である。
【０１１０】
友人が、アクセス情報または位置情報をユーザにもはや許可しない場合、その友人のユーザ名は、ユーザの友人リストから消える。友人は、そのような変更についてユーザに通知するメッセージを送信することを、選択することも、選択しないことも可能である。アクセスを再び取得するのに、ユーザは、前述した友人追加／編集機能を実行して、友人に別の要求を行う必要がある。
【０１１１】
図３３を参照すると、ユーザが、ユーザの公開プロファイルを編集することをメインメニューから選択した場合、ユーザは、いずれもユーザが編集すべきユーザの公開プロファイルフィールドをリストアップした公開プロファイルスクリーン３３０２を受信する。ユーザの公開プロファイルは、上記に説明した。ユーザは、フィールドのいずれが公開されるべきかを示すフラグを設定することができ、いずれの場所で、またはいずれの位置特定アプリケーションで、それらのフィールドが提供されるべきかを特定することができる。例えば、一部の位置特定機能が、一部の公開プロファイルフィールドを表示することが可能であり、これらのフィールドは、そのアプリケーションに提供されるものとしてユーザが指定している。ユーザが、ヘルプ機能を閲覧することをメインメニューから選択した場合、ブロック３３０４で、ユーザは、チュートリアルを閲覧する、よく寄せられる質問（ＦＡＱ）を閲覧する、および「ａｂｏｕｔ」情報を閲覧するという３つのオプションを受け取る。以上３つのオプションに応答して、ユーザは、１つまたは複数のチュートリアルスクリーン（ブロック３３０６）、ＦＡＱスクリーン（ブロック３３０８）、またはａｂｏｕｔスクリーン（ブロック３３１０）を受信する。
【０１１２】
図３４を参照すると、一部のエラー、およびその他の警報の例が、前述したエラーメッセージおよび警報に加えて示されている。一般に、図１７ないし３４のそれぞれでは示していないが、ユーザは、一部のユーザ入力またはシステム応答に応答して、１つまたは複数のエラースクリーンを受信することができる。例えば、ユーザが、友人の位置にユーザがアクセスすることをもはや許可していない友人の位置を特定しようと試みた場合、ユーザは、許可取り消し済みエラーメッセージを受信する（ブロック３４０２）。友人が、システム１００の下でもはや加入者ではない場合、ユーザは、ドロップ済みサービスエラーメッセージを受信する（ブロック３４０４）。
【０１１３】
ブロック３４０２、ブロック３４０４、またはその他のエラーメッセージに続き、ユーザに１つまたは複数のオプションが提示されることが可能である。例えば、ユーザが、ブロック１８０２の下で、ある友人（またはブロック１８０８の下で、グループの友人）の位置を特定しようと試みて、エラーメッセージ（例えば、現在、その友人を見つけることができない）を受信した場合、ユーザには、友人の１名または複数名と通信するオプションが提示されることが可能である。ユーザが位置を特定しようと試みた個別の友人のケースでは、システムは、ユーザが、その友人を呼び出す、またはその友人にＳＭＳメッセージを送信することができるようにすることが可能である。代替として、複数の友人のケースでは、ユーザは、呼び出す個別の友人を選択する、またはすべての友人にＳＭＳメッセージを送信することができる。ユーザは、正常な位置特定が行われた場合と同一の、友人と通信するオプションを有することが可能である。
【０１１４】
ユーザが、所与の位置に関連する地図情報を取得しようと試みているが、そのような情報が用意されていない場合、ユーザは、地図データなしエラーメッセージを受信する（ブロック３４０６）。システムが位置情報を取得することができない場合、ユーザは、サービスエリア外（ｏｕｔ  ｏｆ  ｃｏｖｅｒａｇｅ）エラーメッセージを受信する（ブロック３４０８）。友人が、現在、位置特定されることを望まない（「不可視になる」ことをしている）場合、ユーザは、位置特定がオフに設定されている（ｌｏｃａｔｅ  ｓｅｔ  ｔｏ  ｏｆｆ）エラーメッセージを受信する（ブロック３４１０）。ブロック３４０２ないし３４１０に続いて、ルーチンは、ブロック３４１２の下で、オプションの前のメニューをユーザに表示することにループして戻る。
【０１１５】
（代表的なデータ構造）
図３６〜４０を参照して、次に、前述の機能を提供する際に役立つ、ポータルデータベース１２４の中に格納されたテーブル、レコード、またはその他のデータ構造の例を説明する。（前述した図３５の公開プロファイルも、ポータルデータベース１２４の中に格納される。）図３６を参照すると、テーブル３６００が、友人の位置を受信する許可をユーザに与えた友人のリスト（「友人リスト」）を示している。図示するとおり、この友人リストは、友人１ないし５にそれぞれ関連するユーザ名を有する５つの友人フィールド３６０２ないし３６１０を含む。図示するとおり、友人１および友人３だけに位置特定フラグが関連付けられており、このことは、それら２名の友人に関する位置情報だけをユーザが受信することができることを示す。その他の友人らは、自身の位置情報を受信する許可をユーザにまだ与えていない。
【０１１６】
各友人は、友人のユーザ名に基づいてレコードの中で特定されるが、各友人は、別のデータ要素に関連付けることもできる。代替のデータ要素または識別子には、友人のモバイル番号、電子メールアドレス、インスタントメッセージングハンドル、ユーザ名エイリアス、あるいはユーザ、またはユーザに関連するコンピューティング機器または遠隔通信機器を特定する他の任意の種類のユーザ通信ＩＤが含まれる。つまり、レコード３６００（およびその他のレコード）は、友人のユーザ名をキーとしている（ｋｅｙｅｄ  ｔｏ）が、ユーザのモバイル番号、電子メールアドレス、エイリアス、または友人データレコード（以下に説明する）の中で提供される他の情報など、他のデータを使用してもよい。
【０１１７】
図３７を参照すると、ユーザがユーザの位置を受信する許可を与えた友人のテーブル（ときとして、上記で友人の友人リストと呼ぶ）として、レコード３７００が示されている。この場合も、５名の友人、友人１ないし５、および関連するユーザ名に関して、５つの友人フィールド３７０２ないし３７１０が提供される。図示するとおり、友人２および友人４に位置特定フラグが関連付けられている。このため、友人２および友人４は、ユーザの位置に関する情報をシステムから受信することができる。
【０１１８】
図３８を参照すると、ユーザがユーザの位置を常に拒否することを所望する友人のテーブル（しばしば、上記で「常時拒否」リストと呼ぶ）としてレコード３８００が示されている。この場合も、友人１ないし５が、それぞれ、フィールド３８０２ないし３８１０の中のユーザ名に関連付けられていることが示されている。図示するとおり、友人５に位置特定フラグが関連付けられており、友人５がユーザの位置を特定するのをユーザが常に禁止することを所望していることが示されている。
【０１１９】
前述したとおり、ユーザは、システムを介してメッセージを友人に送信して、友人の位置データをユーザに提供するようにそれらの友人に求め、ユーザが、レコード３６００に友人を追加することができるようになる。友人が承諾した場合、システムは、適切な位置特定フラグを（場合により、適切なユーザ名とともに）レコード３６００に追加する。同様に、ユーザは、レコード３７００およびレコード３８００を容易に変更して、位置特定フラグを変更し、ユーザの位置を受信する許可を友人に与える、あるいは、これらのレコードの下でユーザの位置特定を常に拒否することができる。このため、ポータルデータベース１２４は、以上のレコードを保持して、最新の許可または特権が提供されることを確実にする。
【０１２０】
３つのレコードを示し、説明しているが、システムは、代わりに、単一のレコードを使用して、または他のデータ構造構成を使用して、前述の情報を追跡することもできる。同様に、レコード３６００ないし３８００の下でリストアップされた各友人に関して、友人のモバイル番号、電子メールアドレス、インスタントメッセージングハンドルなど、各友人に関する追加の情報を提供することもできる。代替として、図３９を参照すると、ユーザの友人の１名に関連する友人データに関してレコード３９００が示されている。レコード３６００ないし３８００のそれぞれは、特定の友人データレコード３９００にリンクして、またはレコード３９００をキーとして、各友人に関する追加の情報へのアクセスをユーザに提供することができる。代替として、そのような追加の情報は、友人の公開プロファイル（図３５）によって提供されることも可能である。
【０１２１】
図３９に示すとおり、友人データレコード３９００は、ユーザの英数字のユーザ名を含むユーザ名フィールド３９０２を含む。モバイル番号フィールド３９０４が、友人のモバイル電話番号、または他の関連する番号の数値を含む。モバイル番号が、この場合、友人またはユーザを特定することのキーとして使用されるが、モバイル識別番号（ＭＩＮ）、一時モバイル加入者識別子（ＴＭＳＩ）、国際モバイル機器識別子（ＩＭＥＩ）、国際モバイル局識別子（ＩＭＳＩ）、その他など、他の様々な数値識別子を使用することもできる。このため、以上の値の１つまたは複数は、友人データレコード３９００、および本明細書で説明する他の関連するレコードの中にも含まれることが可能である。
【０１２２】
電子メールアドレスフィールド３９０６は、友人の電子メールアドレスを含み、インスタントメッセージングハンドルフィールド３９０８は、友人のＩＭユーザ名を含む。ユーザ名エイリアスフィールド３９１０は、ここで提供されるその他のフィールドを越えて、ユーザからのより完全な記述または識別子として友人が提供した英数字の名前であることが可能である。友人データレコード３９００は、ユーザイメージフィールドやユーザイメージファイル３９１２などの他のフィールドも含むことが可能である。友人に関連するファックス番号、ポケットベル番号、ＵＲＬ、友人に関連する機器のネットワークアドレスなどの、他のユーザ通信識別子が提供されることも可能である。
【０１２３】
図４０を参照すると、ユーザ位置データに影響を与えるオプションのテーブル（「不可視性リスト」）としてレコード４０００が示されている。前述したとおり、ユーザは、ユーザに関連する位置データをシステムが提供することを禁止するだけでなく、よりカスタマイズされた不可視性オプションを提供することもできる。例えば、ユーザは、一部の個人に関連して不可視性オプションを確立することができる。図４０に示すとおり、この例におけるユーザは、フィールド４００２〜４００６の下で、ユーザが、カスタマイズされた不可視性オプションを提供することを所望する３名の友人をあらかじめ確立し、特定している。友人１に関連する位置特定フラグは、常にオンに設定されており、したがって、友人１は、ユーザが位置特定機能をオフにした（「不可視になる」）場合でも、ユーザの位置を常に特定することができる。例えば、友人１は、ユーザの配偶者であることが可能であり、ユーザは、ユーザの配偶者がユーザの位置を特定することを常に所望する。この例では、「オン設定（Ｓｅｔ  Ｏｎ）」フラグをユーザが容易に変更することはできない。
【０１２４】
前述したとおり、ユーザは、システムがユーザの位置データをいずれの友人にも提供しないように「不可視」になることができる。代替として、またはさらに、ユーザは、一部の友人に対して選択的に可視または不可視になることもできる。例えば、ユーザが、友人２に対して「オン」フラグを設定して、ユーザが不可視になった際、ユーザ２が依然としてユーザを見つけることができるようにする。「オン」フラグは、ユーザの自由裁量でオフにする、または除去することが容易にできる。反対に、ユーザは、友人に対して「オフ」フラグを設定して、ユーザが「オフ」フラグを除去するまで友人がユーザの位置を特定することができないようにする。
【０１２５】
同様に、ユーザは、一部のスケジュールに関して不可視性オプションを確立することができる。図示するとおり、ユーザは、３つのスケジュール（フィールド４００８〜４０１２）を特定している。スケジュール１は、午前６時より前、および午後１０時より後にはユーザの位置を誰にも提供しないようにシステムに指示する、あるスケジュールに関連付けられたフラグ、「オフ設定」を有する。つまり、ユーザは、午後１０時から午前６時までの間には自動的に不可視になる。この場合も、ユーザは、「オフ設定」フラグを容易に変更することができない。他の規則、または他のフラグとの競合を回避するため、ユーザ（またはシステム）は、例えば、友人オプションがスケジュールオプションに優先することを確立することができる。このため、システムは、午前６時より前、および午後１０時より後である場合でも、友人１に位置情報を常に提供することができる。
【０１２６】
この例では、ユーザは、次の２つの追加スケジュールを確立している。すなわち、スケジュール２（午後１２時から午後１時までの昼食時間スケジュールのための）、およびスケジュール３（毎週金曜日）であり、スケジュール３は、「オフ」フラグを有する。したがって、ユーザは、ユーザが毎金曜日に自動的に不可視になるべきことをシステムに指示している。
【０１２７】
ユーザは、地理的条件に関して不可視性オプションを確立することもできる。図示するとおり、ユーザは、３つの位置条件を特定している（フィールド４０１４ないし４０１８）。位置１は、５０マイルを超える半径に関連するフラグ、「オフ設定」を有し、このフラグは、ユーザがユーザの所定の大都市圏を離れた場合にはいつでも、ユーザが自動的に不可視になることを表すことが可能である。位置２は、郵便番号７００４７の周辺の３０マイル半径に関連付けられ、位置３は、特定の都市（「タコマ」）に関連付けられている。図示するとおり、ユーザは、位置３に関連付けられた「オフ」フラグを設定しており、このため、ユーザのモバイルデバイスがタコマ地域内にあることをシステムが検出した場合はいつでも、不可視になることになっている。
【０１２８】
他の様々な代替の実施形態も可能である。例えば、ユーザは、不可視になるためのカスタム規則を確立することができる。図示するとおり、カスタム１フィールド４０２０は、昼食時間中に、ユーザが不可視になっていても、システムがユーザの位置を友人３に提供できることを示している。ユーザ位置データに影響を与えるための他の様々なオプションまたは規則を確立できることが、当業者には理解されよう。例えば、ユーザは、ユーザがある場所の範囲内にいる、またはある場所に到達した場合に、システムがユーザの位置を友人に自動的に提供する（適切なＳＭＳメッセージなどを介して）規則を確立することができる。代替として、またはさらに、ポータル１０８は、ユーザの会合要求を以前に受け入れた友人が会合場所に到着する時点で、それをユーザに通知することができる。通信事業者または公衆通信事業者が、所望の目的地にクーリエ便が到着したことを中央の発送係または場所に示すようなオプションも望ましい可能性がある。ユーザが、ユーザのモバイルデバイス１０２上でそのようなオプションを変更できるようにすることに加えて、システムは、Ｗｅｂフロントエンドを提供して、ユーザが、コンピュータを使用してインターネットを介してポータル１０８にアクセスし、以上およびその他のオプションおよびメニューを変更できるようにすることも可能である。
【０１２９】
本明細書で、「フィールド」および「レコード」という用語を使用しているが、任意の種類のデータ構造を使用することができる。例えば、関連したデータが、前に付くヘッダ、または関連するデータの前に付く（または後に付く）他のオーバーヘッドデータを有することが可能である。代替として、関連するデータは、ヘッダなどのあらゆるオーバーヘッドデータの使用を回避して、単にシリアルデータストリーム内のあるバイト、または一続きのバイトで認識されることも可能である。本明細書では、任意の数のデータ構造およびデータ型を使用することができる。
【０１３０】
図４１は、モバイル局または無線デバイス１０２などの通常のモバイル通信デバイス４１００のブロック図を示している。モバイルデバイス４１００は、無線周波数信号などの電磁信号を受信するため、および送信するための１つまたは複数の内部アンテナまたは外部アンテナ４１０２を有する。トランシーバ４１０４は、アンテナ４１０２に接続され、通常、送信信号の変調、および受信信号の復調をそれぞれ提供する。トランシーバ４１０４に接続されたプロセッサユニット４１０６は、信号プロセッサ、マイクロプロセッサ、ＡＳＩＣ、またはその他の制御および処理の論理回路を含むことが可能である。プロセッサユニット４１０６は、信号符号化、データ処理、入力／出力処理、電力制御、ならびにモバイル通信デバイスを実施するために必要なその他の諸機能を実行することができる。ユーザは、キーパッド４１１０、スピーカ／マイク４１０８、またはディスプレイ／タッチパッド４１１６を介してプロセッサユニット４１０６に入力を与えることができる。プロセッサ４１０６は、ディスプレイ／タッチパッド４１１６またはスピーカ／マイク４１０８を介して、情報をユーザに提供することができる。さらに、プロセッサ４１０６は、リムーバブルでないメモリ４１１２またはリムーバブルなメモリ４１１４からの情報にアクセスし、またはその中に情報を格納することができる。リムーバブルでないメモリ４１１２は、ＲＡＭ、ＲＯＭ、ハードディスク、または他の周知なメモリ記憶技術から成ることが可能である。リムーバブルなメモリ４１１４は、ＧＳＭ通信システムにおいて周知の加入者ＩＤモジュール（ＳＩＭ）カード、他の周知のメモリ記憶技術から成ることが可能である。モバイル通信デバイス４１００は、モバイルデバイス４１００の現在位置に関する緯度と経度の情報を提供するオプションのＧＰＳ、または他の位置チップセットまたは位置受信機４１１８も含むことが可能である。
【０１３１】
本発明の一部の実施形態では、モバイルデバイス４１００は、リムーバブルなメモリ４１１４、またはリムーバブルでないメモリ４１１２の中に友人リスト情報を格納することができる。そのような友人リスト情報は、例えば、ユーザの位置を特定する許可をユーザが与えた友人のリスト、友人の位置を特定する許可をユーザに与えた友人のリスト、位置特定許可を求める保留中の要求のリスト、会合ＲＳＶＰのリスト、またはユーザの位置を特定する許可が常に拒否される他の加入者のリストを含むことが可能である。実際、前述したデータ構造およびレコードのいずれも、リムーバブルなメモリ４１１４の中に格納することができる。キーパッド４１１０上のキーストロークなど、入力デバイスからのコマンドを受け取ると、プロセッサユニット４１０６は、リムーバブルなメモリ４１１４またはリムーバブルでないメモリ４１１２から友人リスト情報を取り出すか、またはその中に格納する。
【０１３２】
本発明の一部の実施形態では、ソフトウェアフラグをリムーバブルなメモリ４１１４またはリムーバブルでないメモリ４１１２の中で実施して、モバイルデバイス４１００の「不可視である」ステータスを示すことができる。システム１００は、モバイルデバイス４１００の位置を特定しようと試みる際、多分、「不可視である」フラグのステータスについてモバイルデバイス４１００に問い合わせることができる。フラグが「不可視である」に設定されている場合、システム１００は、現時点でモバイルデバイスの位置を特定することができないことを、モバイルデバイス４１００の位置特定を要求したアプリケーションに報告する。ポータルではなく、モバイルデバイス４１００の中に「不可視である」フラグを有することは、モバイルデバイス４１００の位置を求める要求が行われた後、モバイルデバイス４１００の不可視性ステータスを知るために、ネットワークにおいて余分の通信（ポータル１０８からモバイルデバイス４１００への）を要求する。
【０１３３】
モバイルデバイス４１００が、モバイルデバイスの現在位置についての緯度と経度の情報を提供するＧＰＳ受信機４１１８を備えている場合、ポータル１０８は、ジオコーディングを求めるＧＭＬＣ１２６に対する要求を飛ばして、位置特定エンジン１２８からの逆ジオコーディングを求める要求に直接に進むことができる。このため、搭載されたＧＰＳ受信機４１１８は、前述したＧＭＬＣ１２６に対する一部の緯度／経度要求の必要性をなくすことにより、信号フローに影響を与える。
【０１３４】
多くの代替形態が可能である。例えば、ユーザが不可視性を容易にオンおよびオフにすることができるようにする専用ボタンまたは専用スイッチをモバイルデバイス４１００に提供することができる。代替として、またはさらに、保留中の要求／ＲＳＶＰを追跡すること、位置ベースのサービスを求める発見要求または発見クエリを作成することなど、ポータルサーバ１０８によって実装されるものとして説明した機能の多くは、モバイルデバイス４１００によって実行されることも可能である。
【０１３５】
（結論）
以上に説明した機能を提供するサービスプロバイダは、キロバイト単位のトラフィックまたは使用料に基づいて収益を引き出すことができる。例えば、送信された各メッセージ、または対応する応答が、システム使用量に基づいて収益をもたらすことが可能である。代替として、またはさらに、サービスプロバイダは、加入に基づいてそのような機能を提供することもできる。サービスプロバイダは、データプランの単純な加入料金より高い料金でプレミアムコンテンツまたはプレミアム機能を提供することもできる。例えば、ユーザが、映画館、コンサート、演劇などにおいて友人と会うように調整することができる。プレミアムサービスを使用すると、ユーザは、インターネットを介して提供されるサービスなどの、チケット購入サービスにアクセスして、チケットを購入することができる（例えば、ｗｗｗ．ｆａｎｄａｎｇｏ．ｃｏｍまたはｗｗｗ．ｔｉｃｋｅｔｍａｓｔｅｒ．ｃｏｍ）。同様に、ユーザは、友人に会うレストランを特定することを所望する場合、ｗｗｗ．ｚａｇａｔ．ｃｏｍなどのレストラン格付けサービスにアクセスすることができる。
【０１３６】
代替として、またはさらに、以上に説明した機能を提供するサービスプロバイダは、一部のユーザ位置特定要求に応答したことに関してコンテンツプロバイダに料金請求を行うことにより、収益を引き出すことができる。例えば、ユーザが、最も近いＳｔａｒｂｕｃｋｓ（商標）、または他の有名ブランド小売業者を特定するようにシステムに要求した場合、システムは、そのような情報をユーザに提供したことに関して該当する小売業者に料金請求を行うことができる。同様に、ユーザが、特定の商取引（例えば、特定の車両の販売）を提供している最も近い小売業者の位置を要求することが可能であり、サービスプロバイダは、その情報を提供したことに関して商業者から料金を受け取るか、またはユーザとの間で達せられた売上の一部さえ受け取ることが可能である。
【０１３７】
サービスプロバイダは、使用に基づいて収益を獲得することもできる。例えば、ユーザが至近距離探索を（例えば、最も近い有名ブランドのファーストフードレストランを見つけるために）実行するたびに毎回、ユーザに定額料金が課されることが可能である。他の手数料をもたらす例には、ユーザが、場所または道案内のグラフィックな地図、交通クエリの結果などを要求することが含まれることが可能である。
【０１３８】
以上に説明した位置ベースの機能およびシステムは、多くの潜在的な用途を有することが当業者には理解されよう。例えば、十代後半の若者が、そのような機能およびシステムを使用して友人を見つけ、地元のショッピングセンタで会うことを手配することができる。大学の友人が、バスケットボールの「ピックアップ」ゲームのために、近くで互いの位置を特定することができる。実業家が、最も近くにいる技術者を探し出して、その技術者がユーザのコンピュータを修理するように手配することができる。家族の１人が、職場からの帰路で食料雑貨類を買ってくる（ｐｉｃｋ  ｕｐ）ように別の家族の１人が食料雑貨品店の近くにいるかどうかを特定することができる。コンテンツ開発者は、この位置特定技術を使用して、「宝捜し」ゲーム、オリエンテーリングイベント、高度な保有車両追跡システムなどの進んだ応用例を開発することができる。
【０１３９】
前述した少なくとも１つの実施形態では、システムは、ユーザのプライバシーを保護するオプションを提供する。例えば、ユーザは、いつでも、位置特定機能（「不可視になる」）を迅速に、容易にオン／オフにすることができる。友人は、友人が位置を特定することができる友人のリストにユーザを追加することができるにはまず、ユーザが許可を与えなければならない。許可を与えた後、ユーザは、いつでも許可を取り消して、任意の個人、またはすべての個人によるユーザの位置情報に対するアクセスを停止させることができる。ユーザがユーザの電話器の位置を特定する許可を友人に与えると、ユーザが、位置特定能力をオフにして電話が「不可視」になるようにするか、またはその個人に関してアクセスを取り消すかしない限り、その友人は、電話器がオンになっているときはいつでも、ユーザの電話器の位置を特定することができる。無用の要求を防止するため、ユーザは、個人が、ユーザの位置へのアクセスを再要求するのを永久に阻止することができる（常時拒否）。さらに、システムは、ユーザの位置を受信することをユーザが明確に許可した相手にだけ、ユーザの位置を知らせることができる。
【０１４０】
文脈によってそうでないことが明らかに要求されない限り、本説明および特許請求の範囲の全体で、「含む（ｃｏｍｐｒｉｓｅ）」、「含む（ｃｏｍｐｒｉｓｉｎｇ）」などの語は、排他的または網羅的な意味ではなく、包含的な意味で、つまり、「含むが、限定されない」という意味で解釈されるものとする。また、単数または複数を使用する語は、それぞれ、複数または単数も含む。さらに、「本明細書では」、「以上」、「以下」、および類似の意味の語は、本明細書で使用される場合、本明細書のいずれの特定の部分でもなく、本明細書を全体として指すものとする。特許請求の範囲が、２つ以上の項目のリストに関連して「または」という用語を使用する場合、その語は、その語の次の解釈のすべてを範囲に含む。すなわち、リストの中の項目のいずれか、リストの中の項目のすべて、およびリストの中の項目の任意の組合せである。
【０１４１】
本発明の実施形態の以上の詳細な説明は、すべてを網羅すること、または以上に開示した形態そのものに本発明を限定することを意図するものではない。本発明の特定の実施形態、および例を例示の目的で説明したが、当業者には理解されるとおり、本発明の範囲内で様々な等価の変更形態が可能である。例えば、ステップまたは機能を所与の順序で提示しているが、代替の実施形態は、異なる順序でステップまたは機能を有するルーチンを実行することができる。本明細書で提供する本発明の教示は、必ずしも本明細書で詳細に説明する無線電話器ではない他のシステムにも適用することができる。詳細な説明に鑑みて、以上の変更、およびその他の変更を本発明に対して行うことができる。
【０１４２】
以上に説明した様々な実施形態の諸要素および諸動作を結合して、さらなる実施形態を提供することもできる。以上の米国特許および米国特許出願、ならびにその他の引用文献のすべては、参照により本明細書に組み込まれる。必要な場合、本発明の態様を変更して、以上に説明した様々な引用文献のシステム、機能、および概念を使用して、本発明のさらなる実施形態を提供することができる。
【０１４３】
以上の詳細な説明に鑑みて、以上の変更、およびその他の変更を本発明に対して行うことができる。一般に、添付の特許請求の範囲で使用する用語は、以上の詳細な説明がそのような用語を明示的に定義しているのでない限り、本発明を本明細書で開示した特定の実施形態に限定するものと解釈してはならない。したがって、本発明の実際の範囲は、開示した実施形態、および特許請求の範囲の下で本発明を実施する、または実装するすべての等価の形を包含する。
【０１４４】
本発明は、ＧＭＬＣから緯度と経度を取得する文脈において主に説明してきたが、モバイルデバイス内部のＧＰＳ受信機または同様の受信機が、緯度と経度の情報を与えることも可能である。そのような装備を有するモバイルデバイスの場合、緯度と経度は、ポータルからモバイルデバイスへのクエリによって取得されること、またはクエリの使用なしに、モバイルからポータルに送られることさえ可能である。例えば、近くのレストランの位置を特定するモバイルからの要求は、要求の中のデータフィールドとしてユーザの現在位置を含み、そのため、ＧＭＬＣへのネットワーク通信がなくなり、システムからのより迅速な応答がもたらされることが可能である。さらに、任意の位置特定システムを、以上に説明した機能とともに使用することができる。
【０１４５】
本発明は、ＳＭＳを使用してメッセージおよび通知を送信する文脈で主に説明してきたが、ピクチャ、アイコン、アニメーション、またはサウンドを含むことが可能な電子メールメッセージまたはマルチメディアメッセージなど、多くの等価の技術を代わりに使用することもできる。
【０１４６】
本発明の一部の態様を一部の請求項の形態で提示しているが、本発明者らは、いくつもの請求項の形態で本発明の様々な態様を企図している。例えば、本発明の１つの態様だけをコンピュータ読み取り可能な媒体として実施されるものとして記載しているが、他の態様も同様に、コンピュータ読み取り可能な媒体として実施することができる。したがって、本発明者らは、本発明の他の態様に関してそのような追加の請求項の形態を追求するため、本出願を出願した後、さらなる請求項を追加する権利を保留する。
【図面の簡単な説明】
【０１４７】
【図１Ａ】本発明の諸実施形態の下で位置特定システムを使用するための適切なシステムを示すブロック図である。
【図１Ｂ】図１Ａに示したブロック間の通信データの例を示す流れ図である。
【図２Ａ】図１Ａのシステムによって実行されることが可能な一部の機能を示す流れ図である。
【図２Ｂ】図１Ａのシステムによって実行されることが可能な一部の機能を示す流れ図である。
【図３】Ａｄｄ  Ｆｒｉｅｎｄルーチンを示す流れ図である。
【図４】Ａｃｃｅｐｔ  Ｆｒｉｅｎｄルーチンを示す流れ図である。
【図５】Ｄｅｎｙ  Ｆｒｉｅｎｄルーチンを示す流れ図である。
【図６】さらなる情報を要求するためのルーチンを示す流れ図である。
【図７Ａ】道案内要求に関連して「ｆｒｏｍ」位置をユーザに表示するルーチンを示す流れ図である。
【図７Ｂ】データモードを終了するように電話器に要求して、電話器が図１Ａのシステムによって位置特定されることが可能であるようにするためのサブルーチンを示す流れ図である。
【図８】「ｆｒｏｍ」位置が変更されることを許すルーチンを示す流れ図である。
【図９】道案内が閲覧されることを許す流れ図である。
【図１０】２名の友人間の会合のためのルーチンを示す流れ図である。
【図１１】友人の近くで会うためのルーチンを示す流れ図である。
【図１２】友人の近くで会うためのルーチンを示す流れ図である。
【図１３】Ｆｉｎｄ  Ｎｅａｒｂｙ  Ｐｌａｃｅｓルーチンを示すデータ−機能流れ図である。
【図１４】Ｆｉｎｄ  Ｎｅａｒｂｙ  Ｆｒｉｅｎｄｓルーチンを示すデータ−機能流れ図である。
【図１５】ユーザが友人リストを編集することを許すデータ−機能流れ図である。
【図１６】友人にＲＳＶＰするためのプロセスを示すデータ−機能流れ図である。
【図１７】図１Ａのシステムのユーザが、友人の位置を特定する、位置特定をオン／オフにする、友人に会う、最も近い場所を探し出す、友人を追加／編集する、ユーザプロファイルを編集する、またはヘルプ指示を受けることを可能にするためのユーザインタフェース流れ図である。
【図１８】図１Ａのシステムのユーザが、友人の位置を特定する、位置特定をオン／オフにする、友人に会う、最も近い場所を探し出す、友人を追加／編集する、ユーザプロファイルを編集する、またはヘルプ指示を受けることを可能にするためのユーザインタフェース流れ図である。
【図１９】図１Ａのシステムのユーザが、友人の位置を特定する、位置特定をオン／オフにする、友人に会う、最も近い場所を探し出す、友人を追加／編集する、ユーザプロファイルを編集する、またはヘルプ指示を受けることを可能にするためのユーザインタフェース流れ図である。
【図２０】図１Ａのシステムのユーザが、友人の位置を特定する、位置特定をオン／オフにする、友人に会う、最も近い場所を探し出す、友人を追加／編集する、ユーザプロファイルを編集する、またはヘルプ指示を受けることを可能にするためのユーザインタフェース流れ図である。
【図２１】図１Ａのシステムのユーザが、友人の位置を特定する、位置特定をオン／オフにする、友人に会う、最も近い場所を探し出す、友人を追加／編集する、ユーザプロファイルを編集する、またはヘルプ指示を受けることを可能にするためのユーザインタフェース流れ図である。
【図２２】図１Ａのシステムのユーザが、友人の位置を特定する、位置特定をオン／オフにする、友人に会う、最も近い場所を探し出す、友人を追加／編集する、ユーザプロファイルを編集する、またはヘルプ指示を受けることを可能にするためのユーザインタフェース流れ図である。
【図２３】図１Ａのシステムのユーザが、友人の位置を特定する、位置特定をオン／オフにする、友人に会う、最も近い場所を探し出す、友人を追加／編集する、ユーザプロファイルを編集する、またはヘルプ指示を受けることを可能にするためのユーザインタフェース流れ図である。
【図２４】図１Ａのシステムのユーザが、友人の位置を特定する、位置特定をオン／オフにする、友人に会う、最も近い場所を探し出す、友人を追加／編集する、ユーザプロファイルを編集する、またはヘルプ指示を受けることを可能にするためのユーザインタフェース流れ図である。
【図２５】図１Ａのシステムのユーザが、友人の位置を特定する、位置特定をオン／オフにする、友人に会う、最も近い場所を探し出す、友人を追加／編集する、ユーザプロファイルを編集する、またはヘルプ指示を受けることを可能にするためのユーザインタフェース流れ図である。
【図２６】図１Ａのシステムのユーザが、友人の位置を特定する、位置特定をオン／オフにする、友人に会う、最も近い場所を探し出す、友人を追加／編集する、ユーザプロファイルを編集する、またはヘルプ指示を受けることを可能にするためのユーザインタフェース流れ図である。
【図２７】図１Ａのシステムのユーザが、友人の位置を特定する、位置特定をオン／オフにする、友人に会う、最も近い場所を探し出す、友人を追加／編集する、ユーザプロファイルを編集する、またはヘルプ指示を受けることを可能にするためのユーザインタフェース流れ図である。
【図２８】図１Ａのシステムのユーザが、友人の位置を特定する、位置特定をオン／オフにする、友人に会う、最も近い場所を探し出す、友人を追加／編集する、ユーザプロファイルを編集する、またはヘルプ指示を受けることを可能にするためのユーザインタフェース流れ図である。
【図２９】図１Ａのシステムのユーザが、友人の位置を特定する、位置特定をオン／オフにする、友人に会う、最も近い場所を探し出す、友人を追加／編集する、ユーザプロファイルを編集する、またはヘルプ指示を受けることを可能にするためのユーザインタフェース流れ図である。
【図３０】図１Ａのシステムのユーザが、友人の位置を特定する、位置特定をオン／オフにする、友人に会う、最も近い場所を探し出す、友人を追加／編集する、ユーザプロファイルを編集する、またはヘルプ指示を受けることを可能にするためのユーザインタフェース流れ図である。
【図３１】図１Ａのシステムのユーザが、友人の位置を特定する、位置特定をオン／オフにする、友人に会う、最も近い場所を探し出す、友人を追加／編集する、ユーザプロファイルを編集する、またはヘルプ指示を受けることを可能にするためのユーザインタフェース流れ図である。
【図３２】図１Ａのシステムのユーザが、友人の位置を特定する、位置特定をオン／オフにする、友人に会う、最も近い場所を探し出す、友人を追加／編集する、ユーザプロファイルを編集する、またはヘルプ指示を受けることを可能にするためのユーザインタフェース流れ図である。
【図３３】図１Ａのシステムのユーザが、友人の位置を特定する、位置特定をオン／オフにする、友人に会う、最も近い場所を探し出す、友人を追加／編集する、ユーザプロファイルを編集する、またはヘルプ指示を受けることを可能にするためのユーザインタフェース流れ図である。
【図３４】図１Ａのシステムのユーザが、友人の位置を特定する、位置特定をオン／オフにする、友人に会う、最も近い場所を探し出す、友人を追加／編集する、ユーザプロファイルを編集する、またはヘルプ指示を受けることを可能にするためのユーザインタフェース流れ図である。
【図３５】ユーザの公開プロファイルを示すデータ図である。
【図３６】友人の位置を受け取る許可をユーザに与えた友人のテーブルを示すデータ図である。
【図３７】ユーザがユーザの位置を受け取る許可を与えた友人のテーブルを示すデータ図である。
【図３８】ユーザがユーザの位置特定を常に拒否することを所望する友人のテーブルを示すデータ図である。
【図３９】友人データレコードを示すデータ図である。
【図４０】ユーザ位置データに影響を与えるためのオプションのテーブルを示すデータ図である。
【図４１】適切なモバイルデバイスを示すブロック図である。
【図１Ａ】
2005530430.tif 000003
【図１Ｂ】
2005530430.tif 000004
【図２Ａ】
2005530430.tif 000005
【図２Ｂ】
2005530430.tif 000006
【図３】
2005530430.tif 000007
【図４】
2005530430.tif 000008
【図５】
2005530430.tif 000009
【図６】
2005530430.tif 000010
【図７Ａ】
2005530430.tif 000011
【図７Ｂ】
2005530430.tif 000012
【図８】
2005530430.tif 000013
【図９】
2005530430.tif 000014
【図１０】
2005530430.tif 000015
【図１１】
2005530430.tif 000016
【図１２】
2005530430.tif 000017
【図１３】
2005530430.tif 000018
【図１４】
2005530430.tif 000019
【図１５】
2005530430.tif 000020
【図１６】
2005530430.tif 000021
【図１７】
2005530430.tif 000022
【図１８】
2005530430.tif 000023
【図１９】
2005530430.tif 000024
【図２０】
2005530430.tif 000025
【図２１】
2005530430.tif 000026
【図２２】
2005530430.tif 000027
【図２３】
2005530430.tif 000028
【図２４】
2005530430.tif 000029
【図２５】
2005530430.tif 000030
【図２６】
2005530430.tif 000031
【図２７】
2005530430.tif 000032
【図２８】
2005530430.tif 000033
【図２９】
2005530430.tif 000034
【図３０】
2005530430.tif 000035
【図３１】
2005530430.tif 000036
【図３２】
2005530430.tif 000037
【図３３】
2005530430.tif 000038
【図３４】
2005530430.tif 000039
【図３５】
2005530430.tif 000040
【図３６】
2005530430.tif 000041
【図３７】
2005530430.tif 000042
【図３８】
2005530430.tif 000043
【図３９】
2005530430.tif 000044
【図４０】
2005530430.tif 000045
【図４１】
2005530430.tif 000046
【国際調査報告】
2005530430.tif 000047
2005530430.tif 000048
2005530430.tif 000049