(57)【特許請求の範囲】
【請求項１】
携帯端末装置のコンピュータを、
１又は複数の他の携帯端末装置との間で通信を行うための第１通信手段、
前記第１通信手段を用いて前記他の携帯端末装置と自動的に通信を行って、当該他の携帯端末装置の位置を示す第１位置情報を当該他の携帯端末装置から取得する第１位置情報取得手段、
前記第１位置情報に基づいて、自機の現在位置を特定する現在位置特定手段、および
前記第１位置情報取得手段による取得と前記現在位置特定手段による特定を繰り返す制御手段と、
前記自機の現在位置に関連する第２位置情報を取得する第２位置情報取得手段と、
固定的に設置されている１又は複数の固定局との間で通信を行うための第２通信手段として機能させ、
前記現在位置特定手段は、前記第１位置情報および前記第２位置情報のうち少なくとも１の位置情報に基づいて、自機の現在位置を特定し、
前記第２位置情報取得手段は、前記第２通信手段を用いて前記固定局と通信を行って、前記第２位置情報として前記固定局の位置を示す情報を取得し、
前記第１位置情報取得手段は、前記他の携帯端末装置が前記固定局および当該固定局とは異なる固定局の何れか一方との間で通信を行うことで取得した位置情報を前記第１位置情報として前記他の携帯端末装置から取得する、携帯端末プログラム。
【請求項２】
前記現在位置特定手段は、前記第２位置情報取得手段により第２位置情報が取得された場合、前記第１位置情報取得手段により第１位置情報が取得されたか否かに関わらず、前記第２位置情報取得手段により取得された第２位置情報に基づいて自機の現在位置を特定する、請求項１に記載の携帯端末プログラム。
【請求項３】
前記現在位置特定手段は、前記第２位置情報取得手段により第２位置情報が取得されていない場合であって、前記第１位置情報取得手段により第１位置情報が取得された場合には、当該第１位置情報に基づいて自機の現在位置を特定する、請求項２に記載の携帯端末プログラム。
【請求項４】
前記コンピュータを、
前記第１位置情報取得手段により第１位置情報が取得されてからの時間及び前記第２位置情報取得手段により第２位置情報が取得されてからの時間のうち少なくとも一方を計時する計時手段と、
前記計時手段によって計時された時間が所定の時間を経過した場合、第１位置情報及び第２位置情報のうち取得されてから所定の時間が経過した位置情報を無効にする無効化手段と、
して機能させる請求項１乃至３の何れかに記載の携帯端末プログラム。
【請求項５】
前記第１位置情報取得手段は、取得した第１位置情報を自機の記憶手段に所定の時間記憶させ、
前記現在位置特定手段は、前記記憶手段に記憶されている数が所定数以上であることを含む所定の条件を満たす第１位置情報、及び第２位置情報のうち何れか１の位置情報に基づいて、自機の現在位置を特定する、請求項１乃至４の何れかに記載の携帯端末プログラム。
【請求項６】
１又は複数の他の携帯端末装置との間で通信を行うための第１通信手段と、
前記第１通信手段を用いて前記他の携帯端末装置と自動的に通信を行って、当該他の携帯端末装置の位置を示す第１位置情報を当該他の携帯端末装置から取得する第１位置情報取得手段、
前記第１位置情報に基づいて、自機の現在位置を特定する現在位置特定手段、
前記第１位置情報取得手段による取得と前記現在位置特定手段による特定を繰り返す制御手段、
前記自機の現在位置に関連する第２位置情報を取得する第２位置情報取得手段、および
固定的に設置されている１又は複数の固定局との間で通信を行うための第２通信手段とを備え、
前記現在位置特定手段は、前記第１位置情報および前記第２位置情報のうち少なくとも１の位置情報に基づいて、自機の現在位置を特定し、
前記第２位置情報取得手段は、前記第２通信手段を用いて前記固定局と通信を行って、前記第２位置情報として前記固定局の位置を示す情報を取得し、
前記第１位置情報取得手段は、前記他の携帯端末装置が前記固定局および当該固定局とは異なる固定局の何れか一方との間で通信を行うことで取得した位置情報を前記第１位置情報として前記他の携帯端末装置から取得する、携帯端末装置。
【請求項７】
携帯端末装置の現在位置を特定するための少なくとも前記携帯端末装置を含むシステムであって、
１又は複数の他の携帯端末装置との間で通信を行うための第１通信手段、
前記第１通信手段を用いて前記他の携帯端末装置と自動的に通信を行って、当該他の携帯端末装置の位置を示す第１位置情報を当該他の携帯端末装置から取得する第１位置情報取得手段、
前記第１位置情報に基づいて、自機の現在位置を特定する現在位置特定手段、
前記第１位置情報取得手段による取得と前記現在位置特定手段による特定を繰り返す制御手段、
前記自機の現在位置に関連する第２位置情報を取得する第２位置情報取得手段、および
固定的に設置されている１又は複数の固定局との間で通信を行うための第２通信手段とを備え、
前記現在位置特定手段は、前記第１位置情報および前記第２位置情報のうち少なくとも１の位置情報に基づいて、自機の現在位置を特定し、
前記第２位置情報取得手段は、前記第２通信手段を用いて前記固定局と通信を行って、前記第２位置情報として前記固定局の位置を示す情報を取得し、
前記第１位置情報取得手段は、前記他の携帯端末装置が前記固定局および当該固定局とは異なる固定局の何れか一方との間で通信を行うことで取得した位置情報を前記第１位置情報として前記他の携帯端末装置から取得する、システム。
【請求項８】
携帯端末装置の現在位置を特定するための方法であって、
第１通信手段が、１又は複数の他の携帯端末装置との間で通信を行うステップと、
第１位置情報取得手段が、前記第１通信手段を用いて前記他の携帯端末装置と自動的に通信を行って、当該他の携帯端末装置の位置を示す第１位置情報を当該他の携帯端末装置から取得するステップと、
現在位置特定手段が、前記第１位置情報に基づいて、自機の現在位置を特定するステップと、
制御手段が、前記第１位置情報取得手段による取得と前記現在位置特定手段による特定を繰り返すステップと
前記自機の現在位置に関連する第２位置情報を取得するステップと、
固定的に設置されている１又は複数の固定局との間で通信を行うためのステップとを備え、
前記現在位置を特定するステップは、前記第１位置情報および前記第２位置情報のうち少なくとも１の位置情報に基づいて、自機の現在位置を特定し、
前記第２位置情報を取得するステップでは、前記第２通信手段を用いて前記固定局と通信を行って、前記第２位置情報として前記固定局の位置を示す情報を取得し、
前記第１位置情報取得手段は、前記他の携帯端末装置が前記固定局および当該固定局とは異なる固定局の何れか一方との間で通信を行うことで取得した位置情報を前記第１位置情報として前記他の携帯端末装置から取得する、方法。
【請求項９】
固定的に設置された固定局、第１携帯端末装置及び第２携帯端末装置を含むシステムであって、
前記固定局は、
前記固定局の現在位置を特定するための情報を記憶する第１記憶手段と、
前記記憶されている情報を前記第１携帯端末装置に送信する第１送信手段と、を有し、
前記第１携帯端末装置は、
前記第１送信手段によって送信された情報を受信する第１受信手段と、
前記第１受信手段によって受信した情報に基づいて、前記固定局の位置を特定する固定局位置特定手段と、
前記固定局位置特定手段によって特定された位置を示す位置情報を前記第２携帯端末装置に送信する第２送信手段と、を有し、
前記第２携帯端末装置は、
前記第２送信手段によって送信された位置情報を自動的に受信する第２受信手段と、
前記第２受信手段によって受信した位置情報に基づいて、自機の現在位置を特定する現在位置特定手段と、を有する
システム。
【請求項１０】
前記固定局の現在位置を特定するための情報は、前記固定局に固有の識別情報を含み、
前記第１携帯端末装置は、前記識別情報に対応する位置情報を記憶する第２記憶手段を更に有し、
前記固定局位置特定手段は、前記第１受信手段によって受信した情報に含まれる識別情報に対応する位置情報を前記第２記憶手段から読み出し、当該読み出した位置情報に基づいて、前記固定局の位置を特定する、
請求項９に記載のシステム。
【請求項１１】
携帯端末装置のコンピュータを、
１又は複数の他の携帯端末装置との間で通信を行うための第１通信手段、
前記第１通信手段を用いて前記他の携帯端末装置と通信を行って、当該他の携帯端末装置が固定的に設置されている固定局との間で通信を行うことで取得した位置情報を、当該他の携帯端末装置の位置を示す第１位置情報として、当該他の携帯端末装置から取得する第１位置情報取得手段、および
前記第１位置情報に基づいて、自機の現在位置を特定する現在位置特定手段として機能させるための携帯端末プログラム。
【請求項１２】
１又は複数の他の携帯端末装置との間で通信を行うための第１通信手段と、
前記第１通信手段を用いて前記他の携帯端末装置と通信を行って、当該他の携帯端末装置が固定的に設置されている固定局との間で通信を行うことで取得した位置情報を、当該他の携帯端末装置の位置を示す第１位置情報として、当該他の携帯端末装置から取得する第１位置情報取得手段と、
前記第１位置情報に基づいて、自機の現在位置を特定する現在位置特定手段とを備える、携帯端末装置。
【請求項１３】
携帯端末装置の現在位置を特定するための方法であって、
第１通信手段が、１又は複数の他の携帯端末装置との間で通信を行うステップと、
第１位置情報取得手段が、前記第１通信手段を用いて前記他の携帯端末装置と通信を行って、当該他の携帯端末装置が固定的に設置されている固定局との間で通信を行うことで取得した位置情報を、当該他の携帯端末装置の位置を示す第１位置情報として、当該他の携帯端末装置から取得するステップと、
現在位置特定手段が、前記第１位置情報に基づいて、自機の現在位置を特定するステップとを備える、方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、携帯端末プログラム、携帯端末装置およびシステムに関し、より特定的には、携帯端末装置の現在位置を特定するための携帯端末プログラム、携帯端末装置およびこの携帯端末装置を用いたシステムに関する。
【背景技術】
【０００２】
従来から、携帯端末装置の現在位置を示す位置情報を携帯端末装置に提供するためのシステムがある。このシステムでは、アクセスポイントから無線通信によって位置情報が配信され、この位置情報を受信することで、携帯端末装置は位置情報の提供を受けることができる（例えば、特許文献１参照）。このようにアクセスポイントから携帯端末装置に対して位置情報を配信する方法は、ＧＰＳ等による位置情報の測位が不可能な環境（例えば、屋内や地下等）であっても、この環境にアクセスポイントを配置することで携帯端末装置に位置情報の提供を行うことができるという利点がある。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−１７１３６５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来のシステムでは、携帯端末装置はアクセスポイントの電波到達範囲内に位置しなければ位置情報を取得することができなかった。このように、従来のシステムでは、携帯端末装置が位置情報の提供を受けることができる場所（範囲）は携帯端末装置がアクセスポイントの電波到達範囲内に位置する場合という非常に限定されたものであった。
【０００５】
アクセスポイントは通常移動しない状態で固定的に配置されるものであるため、アクセスポイントの電波到達範囲内も固定的であり、携帯端末装置が位置情報を取得することができる状況も固定的であり変化に富んだものではなかった。
【０００６】
それ故に本発明の目的は、携帯端末装置に位置情報を提供可能な範囲を広げ、携帯端末装置に位置情報を提供可能な状況を変化に富んだものとすることである。
【課題を解決するための手段】
【０００７】
第１の発明のプログラムは、上記目的を達成するために、携帯端末装置のコンピュータを、第１通信手段、第１位置情報取得手段および現在位置特定手段として機能させる。第１通信手段は、１又は複数の他の携帯端末装置との間で通信を行う。第１位置情報取得手段は、第１通信手段を用いて他の携帯端末装置と通信を行って、当該他の携帯端末装置の位置を示す第１位置情報を当該他の携帯端末装置から取得する。現在位置特定手段は、第１位置情報に基づいて、自機の現在位置を特定するとして機能させる。
【０００８】
上記構成によって、携帯端末装置では、他の携帯端末装置と通信を行うことで他の携帯端末装置の位置を示す第１位置情報が取得される。他の携帯端末装置と通信を行うことができる場合は、例えば、他の携帯端末装置が自機と通信可能な程に近距離に位置していると考えられる。このため、第１位置情報は、自機と通信可能な程に近距離に位置している他の携帯端末装置の現在位置を示す情報となり、現在位置特定手段によって第１位置情報を用いて自機の位置情報を特定することが可能となる。
上述のように、携帯端末装置は他の携帯端末装置と通信を行うことで自機の現在位置の特定に使用するための位置情報の提供を受けることが可能となる。携帯端末装置が通信可能な他の携帯端末装置の台数は、装置の普及にともなって増加する。このため、装置の普及にともなって、携帯端末装置に位置情報を提供可能な範囲を広げることが可能となる。また、他の携帯端末装置は、この携帯端末装置のユーザの移動にともなって移動する。このため、携帯端末装置に位置情報を提供することができる状況を変化に富んだものとすることが可能となる。
【０００９】
また、上記第１の発明において、自機の現在位置に関連する第２位置情報を取得する第２位置情報取得手段としてコンピュータをさらに機能させる。現在位置特定手段は、第１位置情報および前記第２位置情報のうち少なくとも１の位置情報に基づいて、自機の現在位置を特定する。この第２位置情報は、例えば、ユーザが携帯端末装置の入力手段を用いて入力した位置情報や、他の携帯端末装置以外の装置と通信を行うことで取得する位置情報等である。この構成によれば、他の携帯端末装置から取得された第１位置情報と第２位置情報のうちより好適な位置情報を用いて、または両位置情報を用いて自機の現在位置を特定することが可能となり、より精度よく現在位置の特定を行うことが可能となる。また、第１位置情報および第２位置情報のうち何れかを取得することができれば自機の位置を特定する構成とすることも可能となる。
【００１０】
また、上記第１の発明において、固定的に設置されている１又は複数の固定局との間で通信を行うための第２通信手段としてコンピュータをさらに機能させる。第２位置情報取得手段は、第２通信手段を用いて固定局と通信を行って、第２位置情報として固定局の位置を示す情報を取得する。この構成によれば、第２位置情報は、固定局との通信によって取得した情報となる。固定局は、固定的に配置され、容易に移動される装置ではないため、固定局の位置情報は固定的である。従って、第２位置情報は固定局の位置を示す情報としての正確である可能性が高い。このような第２位置情報を自機の位置情報の特定に使用することで、より精度よく位置情報の特定を行うことが可能となる。
【００１１】
なお、上記第１の発明において、第１位置情報取得手段は、他の携帯端末装置が固定局および当該固定局とは異なる固定局の何れか一方との間で通信を行うことで取得した位置情報を第１位置情報として他の携帯端末装置から取得する。このように、他の携帯端末装置から取得する第１位置情報は、他の携帯端末装置が固定局から通信によって取得した位置情報であるため、ユーザから入力された位置情報等と比較すると他の携帯端末装置の位置を比較的正確に示す可能性が高い。このため、より正確に自機の位置情報を特定することが可能となる。
【００１２】
なお、上記第１の発明において、現在位置特定手段は、第２位置情報取得手段により第２位置情報が取得された場合、前記第１位置情報取得手段により第１位置情報が取得されたか否かに関わらず、前記第２位置情報取得手段により取得された第２位置情報に基づいて自機の現在位置を特定する。また、上記第１の発明において、現在位置特定手段は、第２位置情報取得手段により第２位置情報が取得されていない場合であって、第１位置情報取得手段により第１位置情報が取得された場合には、当該第１位置情報に基づいて自機の現在位置を特定する。
【００１３】
上述したように、固定局は、固定的に配置され、容易に移動される装置ではなく、固定局の位置情報は固定的である。従って、第２位置情報は固定局の位置を示す情報としての正確である可能性が高い。このような第２位置情報を第１位置情報より優先して自機の位置情報の特定に使用することで、より精度よく位置情報の特定を行うことが可能となる。
【００１４】
上記第１の発明において、上記第１の発明において、コンピュータを、計時手段と無効化手段として機能させる。計時手段は、第１位置情報取得手段により第１位置情報が取得されてからの時間及び第２位置情報取得手段により第２位置情報が取得されてからの時間のうち少なくとも一方を計時する。無効化手段は、計時手段によって計時された時間が所定の時間を経過した場合、第１位置情報及び第２位置情報のうち取得されてから所定の時間が経過した位置情報を無効にする。この構成によれば、有効期限が切れた位置情報を無効化することが可能になる。携帯端末装置はユーザに携帯され、ユーザの移動に応じて移動される装置であり、取得されてから長時間経過している位置情報は自機の位置を示すとして特定されていても自機の位置情報を示さない可能性が高い。従って、このような位置情報が無効化されることで、不正確な位置情報を自機の位置を示す情報として特定し続けることが防止される。
【００１５】
なお、上記第１の発明において、第１位置情報取得手段は、取得した第１位置情報を自機の記憶手段に所定の時間記憶させる。現在位置特定手段は、前記記憶手段に記憶されている数が所定数以上であることを含む所定の条件を満たす第１位置情報、及び第２位置情報のうち何れか１の位置情報に基づいて、自機の現在位置を特定する。携帯端末装置はユーザに携帯されて移動するものであるため、第１位置情報は固定局との通信で取得された第２位置情報に比較して位置情報の提供元の現在位置を正確性に示す可能性が低い。この構成によれば、記憶手段に第１位置情報が所定数以上記憶されている場合に限ってこの所定数以上記憶されている位置情報を用いて自機の現在位置を示す位置情報が特定されるため、第１位置情報を使用してもより正確性高く現在位置を特定することが可能となる。
【００１６】
第２の発明にかかる携帯端末装置は、上記目的を達成するために、第１通信手段、第１位置情報取得手段および現在位置特定手段を備える。第１通信手段は、１又は複数の他の携帯端末装置との間で通信を行う。第１位置情報取得手段は、第１通信手段を用いて他の携帯端末装置と通信を行って、当該他の携帯端末装置の位置を示す第１位置情報を当該他の携帯端末装置から取得する。現在位置特定手段は、第１位置情報に基づいて、自機の現在位置を特定する。
【００１７】
第３の発明にかかるシステムは、携帯端末装置の現在位置を特定するための少なくとも携帯端末装置を含むシステムであって、上記目的を達成するために、第１通信手段、第１位置情報取得手段および現在位置特定手段を備える。第１通信手段は、１又は複数の他の携帯端末装置との間で通信を行う。第１位置情報取得手段は、第１通信手段を用いて他の携帯端末装置と通信を行って、当該他の携帯端末装置の位置を示す第１位置情報を当該他の携帯端末装置から取得する。現在位置特定手段は、第１位置情報に基づいて、自機の現在位置を特定する。
【００１８】
第４の発明にかかる方法は、上記目的を達成するために、携帯端末装置の現在位置を特定するための方法である。この方法では、１又は複数の他の携帯端末装置との間で通信を行って、当該他の携帯端末装置の位置を示す第１位置情報を当該他の携帯端末装置から取得するステップを実行する。また、第１位置情報に基づいて、自機の現在位置を特定するステップを実行する。
【００１９】
第５の発明にかかるシステムは、固定的に設置された固定局、第１携帯端末装置及び第２携帯端末装置を含むシステムであって、上記目的を達成するために、固定局は第１記憶手段と第１送信手段とを有する。第１記憶手段は固定局の現在位置を特定するための情報を記憶する。第１送信手段は記憶されている情報を第１携帯端末装置に送信する。第１携帯端末装置は、第１受信手段、固定局位置特定手段および第２送信手段を有する。第１受信手段は第１送信手段によって送信された情報を受信する。固定局位置特定手段は第１受信手段によって受信した情報に基づいて、固定局の位置を特定する。第２送信手段は固定局位置特定手段によって特定された位置を示す位置情報を第２携帯端末装置に送信する。第２携帯端末装置は、第２受信手段と現在位置特定手段とを有する。第２受信手段は第２送信手段によって送信された位置情報を受信する。現在位置特定手段は、第２受信手段によって受信した位置情報に基づいて、自機の現在位置を特定する。
【００２０】
上記第５の発明において、固定局の現在位置を特定するための情報は、固定局に固有の識別情報を含む。そして、第１携帯端末装置は、識別情報に対応する位置情報を記憶する第２記憶手段を更に有し、固定局位置特定手段は第１受信手段によって受信した情報に含まれる識別情報に対応する位置情報を前記第２記憶手段から読み出す。また、固定局位置特定手段は当該読み出した位置情報に基づいて固定局の位置を特定する。
【発明の効果】
【００２１】
本発明によれば、携帯端末装置は他の携帯端末装置から位置情報を取得することができる。携帯端末装置が通信可能な他の携帯端末装置の台数は、装置の普及にともなって増加する。このため、装置の普及にともなって携帯端末装置に位置情報を提供することができる範囲を拡大することが可能となる。
【００２２】
また、他の携帯端末装置は、この携帯端末装置のユーザの移動にともなって移動する。このため、携帯端末装置に位置情報を提供することができる状況を変化に富んだものとすることができる。
【図面の簡単な説明】
【００２３】
【図１】第１の実施形態にかかる位置情報提供システムを構成するゲーム装置の概観図
【図２】ゲーム装置１の内部構成の一例を示すブロック図
【図３】アクセスポイントの内部構成の一例を示すブロック図
【図４】第１の実施形態にかかる位置情報提供システムの構成を示す図
【図５】ゲーム装置が他のゲーム装置に対して位置情報の提供を行うための通信の一例を示す通信シーケンス図
【図６】ゲーム装置が本発明の携帯端末プログラムを実行することに応じて記憶されるプログラムや各種データの一例を示す図
【図７Ａ】端末ビーコンフレームＤ１のフレーム構成の一例を示す図
【図７Ｂ】通信許可フレームＤ２のフレーム構成の一例を示す図
【図７Ｃ】位置情報フレームＤ３のフレーム構成の一例を示す図
【図７Ｄ】通信要求フレームＤ４のフレーム構成の一例を示す図
【図７Ｅ】位置情報要求フレームＤ５のフレーム構成の一例を示す図
【図７Ｆ】ＡＰビーコンフレームＤ６のフレーム構成の一例を示す図
【図８Ａ】アクセスポイント２から提供された位置情報を含む位置データＤ７を示す図
【図８Ｂ】他のゲーム装置から提供された位置情報を含む位置データＤ７を示す図
【図８Ｃ】位置情報テーブルＴ１の一例を示す図
【図８Ｄ】ＡＰ識別情報テーブルＴ２の一例を示す図
【図９】他のゲーム装置からゲーム装置に位置情報を提供するための処理の一例を示すフローチャート
【図１０】図９のステップＳ１における端末ビーコン処理の一例を示すフローチャート
【図１１Ａ】図９のステップＳ２における位置情報要求処理の一例を示すフローチャート
【図１１Ｂ】図９のステップＳ２における位置情報送信処理の一例を示すフローチャート
【図１２】図９のステップＳ４における位置情報特定処理の一例を示すフローチャート（その１）
【図１３】図９のステップＳ４における位置情報特定処理の一例を示すフローチャート（その２）
【図１４】第２の実施形態にかかる位置情報特定処理を示すフローチャート
【図１５】第３の実施形態にかかる位置情報特定処理を示すフローチャート
【図１６】第４の実施形態にかかる位置情報提供システムの構成を示す図
【図１７】第４の実施形態にかかるサーバの内部構成を示すブロック図
【発明を実施するための形態】
【００２４】
（第１の実施形態）
以下に図面を参照して、本発明を適用した第１の実施形態にかかる位置情報提供システムについて説明する。本位置情報提供システムでは、携帯型のゲーム装置（本発明の携帯端末装置に対応）にこのゲーム装置が存在する位置（現在位置）を示す情報（位置情報）を提供する。この位置情報の提供は同じ構成の他の携帯型ゲーム装置及びアクセスポイントによって行われる。なお、本実施形態では、他のゲーム装置と本ゲーム装置は同じ構成であるが、若干構成の異なる同種の装置であってもよい。以下に図１及び図２を用いて位置情報提供システムを構成するゲーム装置の構成を説明する。
【００２５】
図１は、第１の実施形態にかかる位置情報提供システムを構成するゲーム装置の概観図である。ゲーム装置は、本発明の携帯端末プログラムを実行することで、本発明の携帯端末装置として機能する。
【００２６】
図１において、ゲーム装置１は、折り畳み型の携帯ゲーム装置であり、開いた状態（開状態）のゲーム装置１を示している。ゲーム装置１は、開いた状態においてもユーザが両手または片手で把持することができるようなサイズで構成される。
【００２７】
ゲーム装置１は、下側ハウジング１１および上側ハウジング２１を有する。下側ハウジング１１と上側ハウジング２１とは、開閉可能（折り畳み可能）に連結されている。図１の例では、下側ハウジング１１および上側ハウジング２１は、それぞれ横長の長方形の板状で形成され、互いの長辺部分で回転可能に連結されている。通常、ユーザは、開状態でゲーム装置１を使用する。また、ユーザは、ゲーム装置１を使用しないときには閉状態としてゲーム装置１を保管する。また、図１に示した例では、ゲーム装置１は、上記閉状態および開状態のみでなく、下側ハウジング１１と上側ハウジング２１とのなす角度が閉状態と開状態との間の任意の角度において、連結部分に発生する摩擦力などによってその開閉角度を維持することができる。つまり、上側ハウジング２１を下側ハウジング１１に対して任意の角度で静止させることができる。
【００２８】
下側ハウジング１１には、下側ＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ：液晶表示装置）１２が設けられる。下側ＬＣＤ１２は横長形状であり、長辺方向が下側ハウジング１１の長辺方向に一致するように配置される。なお、本実施形態では、ゲーム装置１に内蔵されている表示装置としてＬＣＤを用いているが、例えばＥＬ（Ｅｌｅｃｔｒｏ  Ｌｕｍｉｎｅｓｃｅｎｃｅ：電界発光）を利用した表示装置等、他の任意の表示装置を利用してもよい。また、ゲーム装置１は、任意の解像度の表示装置を利用することができる。なお、詳細は後述するが、下側ＬＣＤ１２は、主に、内側カメラ２３または外側カメラ２５で撮影されている画像をリアルタイムに表示するために用いられる。
【００２９】
下側ハウジング１１には、入力装置として、各操作ボタン１４Ａ〜１４Ｋおよびタッチパネル１３が設けられる。図１に示されるように、各操作ボタン１４Ａ〜１４Ｋのうち、方向入力ボタン１４Ａ、操作ボタン１４Ｂ、操作ボタン１４Ｃ、操作ボタン１４Ｄ、操作ボタン１４Ｅ、電源ボタン１４Ｆ、スタートボタン１４Ｇ、およびセレクトボタン１４Ｈは、上側ハウジング２１と下側ハウジング１１とを折りたたんだときに内側となる、下側ハウジング１１の内側主面上に設けられる。方向入力ボタン１４Ａは、例えば選択操作等に用いられる。各操作ボタン１４Ｂ〜１４Ｅは、例えば決定操作やキャンセル操作等に用いられる。電源ボタン１４Ｆは、ゲーム装置１の電源をオン／オフするために用いられる。図１に示す例では、方向入力ボタン１４Ａおよび電源ボタン１４Ｆは、下側ハウジング１１の内側主面中央付近に設けられる下側ＬＣＤ１２に対して、左右一方側（図１では左側）の当該主面上に設けられる。また、操作ボタン１４Ｂ〜１４Ｅ、スタートボタン１４Ｇ、およびセレクトボタン１４Ｈは、下側ＬＣＤ１２に対して左右他方側（図１では右側）となる下側ハウジング１１の内側主面上に設けられる。方向入力ボタン１４Ａ、操作ボタン１４Ｂ〜１４Ｅ、スタートボタン１４Ｇ、およびセレクトボタン１４Ｈは、ゲーム装置１に対する各種操作を行うために用いられる。
【００３０】
なお、図１においては、操作ボタン１４Ｉ〜１４Ｋの図示を省略している。例えば、Ｌボタン１４Ｉは、下側ハウジング１１の上側面の左端部に設けられ、Ｒボタン１４Ｊは、下側ハウジング１１の上側面の右端部に設けられる。Ｌボタン１４ＩおよびＲボタン１４Ｊは、ゲーム装置１に対して、例えば撮影指示操作（シャッター操作）を行うために用いられる。さらに、音量ボタン１４Ｋは、下側ハウジング１１の左側面に設けられる。音量ボタン１４Ｋは、ゲーム装置１が備えるスピーカの音量を調整するために用いられる。
【００３１】
また、ゲーム装置１は、各操作ボタン１４Ａ〜１４Ｋとは別の入力装置として、さらにタッチパネル１３を備えている。タッチパネル１３は、下側ＬＣＤ１２の画面上を覆うように装着されている。なお、本実施形態では、タッチパネル１３は、例えば抵抗膜方式のタッチパネルが用いられる。ただし、タッチパネル１３は、抵抗膜方式に限らず、任意の押圧式のタッチパネルを用いることができる。また、本実施形態では、タッチパネル１３として、例えば下側ＬＣＤ１２の解像度と同解像度（検出精度）のものを利用する。ただし、必ずしもタッチパネル１３の解像度と下側ＬＣＤ１２の解像度とが一致している必要はない。また、下側ハウジング１１の右側面には、挿入口（図１に示す破線）が設けられている。挿入口は、タッチパネル１３に対する操作を行うために用いられるタッチペン２７を収納することができる。なお、タッチパネル１３に対する入力は、通常タッチペン２７を用いて行われるが、タッチペン２７に限らずユーザの指でタッチパネル１３を操作することも可能である。
【００３２】
また、下側ハウジング１１の右側面には、メモリカード２８を収納するための挿入口（図１では、二点鎖線で示している）が設けられている。この挿入口の内側には、ゲーム装置１とメモリカード２８とを電気的に接続するためのコネクタ（図示せず）が設けられる。メモリカード２８は、例えばＳＤ（Ｓｅｃｕｒｅ  Ｄｉｇｉｔａｌ）メモリカードであり、コネクタに着脱自在に装着される。メモリカード２８は、例えば、ゲーム装置１によって撮影された画像を記憶（保存）したり、他の装置で生成された画像をゲーム装置１に読み込んだりするために用いられる。
【００３３】
さらに、下側ハウジング１１の上側面には、カートリッジ２９を収納するための挿入口（図１では、一点鎖線で示している）が設けられている。この挿入口の内側にも、ゲーム装置１とカートリッジ２９とを電気的に接続するためのコネクタ（図示せず）が設けられる。カートリッジ２９は、ゲームプログラム等を記録した記録媒体であり、下側ハウジング１１に設けられた挿入口に着脱自在に装着される。
【００３４】
下側ハウジング１１と上側ハウジング２１との連結部の左側部分には、３つのＬＥＤ１５Ａ〜１５Ｃが取り付けられる。ここで、ゲーム装置１は、他の機器との間で無線通信を行うことが可能であり、第１ＬＥＤ１５Ａは、ゲーム装置１の電源がオンであるときに点灯する。第２ＬＥＤ１５Ｂは、ゲーム装置１の充電中に点灯する。第３ＬＥＤ１５Ｃは、無線通信が確立している場合に点灯する。したがって、３つのＬＥＤ１５Ａ〜１５Ｃによって、ゲーム装置１の電源のオン／オフ状況、充電状況、および、通信確立状況をユーザに通知することができる。
【００３５】
一方、上側ハウジング２１には、上側ＬＣＤ２２が設けられる。上側ＬＣＤ２２は横長形状であり、長辺方向が上側ハウジング２１の長辺方向に一致するように配置される。なお、下側ＬＣＤ１２と同様、上側ＬＣＤ２２に代えて、他の任意の方式および任意の解像度の表示装置を利用してもよい。なお、上側ＬＣＤ２２上を覆うように、タッチパネルを設けてもかまわない。例えば、上側ＬＣＤ２２には、ユーザに各操作ボタン１４Ａ〜１４Ｋやタッチパネル１３の役割を教えるための、操作説明画面が表示される。
【００３６】
また、上側ハウジング２１には、２つのカメラ（内側カメラ２３および外側カメラ２５）が設けられる。図１に示されるように、内側カメラ２３は、上側ハウジング２１の連結部付近の内側主面に取り付けられる。一方、外側カメラ２５は、内側カメラ２３が取り付けられる内側主面の反対側の面、すなわち、上側ハウジング２１の外側主面（ゲーム装置１が閉状態となった場合に外側となる面であり、図１に示す上側ハウジング２１の背面）に取り付けられる。なお、図１においては、外側カメラ２５を破線で示している。これによって、内側カメラ２３は、上側ハウジング２１の内側主面が向く方向を撮影することが可能であり、外側カメラ２５は、内側カメラ２３の撮影方向の逆方向、すなわち、上側ハウジング２１の外側主面が向く方向を撮影することが可能である。このように、本実施形態では、２つの内側カメラ２３および外側カメラ２５の撮影方向が互いに逆方向となるように設けられる。例えば、ユーザは、ゲーム装置１からユーザの方を見た景色を内側カメラ２３で撮影することができるとともに、ゲーム装置１からユーザの反対側の方向を見た景色を外側カメラ２５で撮影することができる。
【００３７】
なお、上記連結部付近の内側主面には、音声入力装置としてマイク（図２に示すマイク４１）が収納されている。そして、上記連結部付近の内側主面には、マイク４１がゲーム装置１外部の音を検知できるように、マイクロフォン用孔１６が形成される。マイク４１を収納する位置およびマイクロフォン用孔１６の位置は必ずしも上記連結部である必要はなく、例えば下側ハウジング１１にマイク４１を収納し、マイク４１を収納位置に対応させて下側ハウジング１１にマイクロフォン用孔１６を設けるようにしても良い。
【００３８】
また、上側ハウジング２１の外側主面には、第４ＬＥＤ２６（図１では、破線で示す）が取り付けられる。第４ＬＥＤ２６は、外側カメラ２５によって撮影が行われた（シャッターボタンが押下された）時点で点灯する。また、外側カメラ２５によって動画が撮影される間点灯する。第４ＬＥＤ２６によって、ゲーム装置１による撮影が行われた（行われている）ことを撮影対象者や周囲に通知することができる。
【００３９】
また、上側ハウジング２１の内側主面中央付近に設けられる上側ＬＣＤ２２に対して、左右両側の当該主面に音抜き孔２４がそれぞれ形成される。音抜き孔２４の奥の上側ハウジング２１内にはスピーカが収納されている。音抜き孔２４は、スピーカからの音をゲーム装置１の外部に放出するための孔である。
【００４０】
以上に説明したように、上側ハウジング２１には、画像を撮影するための構成である内側カメラ２３および外側カメラ２５と、例えば撮影の際に操作説明画面を表示する表示手段である上側ＬＣＤ２２とが設けられる。一方、下側ハウジング１１には、ゲーム装置１に対する操作入力を行うための入力装置（タッチパネル１３および各ボタン１４Ａ〜１４Ｋ）と、ゲーム画面を表示するための表示手段である下側ＬＣＤ１２とが設けられる。したがって、ゲーム装置１を使用する際には、ユーザは、下側ＬＣＤ１２に表示される撮影画像（カメラによって撮影された画像）を見ながら、下側ハウジング１１を把持して入力装置に対する入力を行うことができる。
【００４１】
次に、図２を参照して、ゲーム装置１の内部構成を説明する。なお、図２は、ゲーム装置１の内部構成の一例を示すブロック図である。
【００４２】
図２において、ゲーム装置１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）３１、メインメモリ３２、メモリ制御回路３３、保存用データメモリ３４、プリセットデータ用メモリ３５、メモリカードインターフェース（メモリカードＩ／Ｆ）３６およびカートリッジＩ／Ｆ４３、無線通信モジュール３７、リアルタイムクロック（ＲＴＣ）３８、電源回路３９、およびインターフェース回路（Ｉ／Ｆ回路）４０等の電子部品を備えている。これらの電子部品は、電子回路基板上に実装されて、下側ハウジング１１（または上側ハウジング２１でもよい）内に収納される。
【００４３】
ＣＰＵ３１は、所定のプログラム（本発明の携帯端末プログラムを含む）を実行するための情報処理手段である。本実施形態では、所定のプログラムがゲーム装置１内のメモリ（例えば保存用データメモリ３４）やメモリカード２８および／または２９に記憶されており、ＣＰＵ３１は、当該所定のプログラムを実行することによって、後述する端末ビーコン送信処理、位置情報送信処理、位置情報要求処理及び位置情報特定処理を実行する。なお、ＣＰＵ３１によって実行されるプログラムは、ゲーム装置１内のメモリに予め記憶されていてもよいし、メモリカード２８および／またはカートリッジ２９から取得されてもよいし、他の機器との通信によって他の機器から取得されてもよい。例えば、インターネットを経由して所定のサーバからダウンロードすることで取得しても良いし、据置型ゲーム装置と通信を行うことで、当該据置型ゲーム装置に記憶されている所定のプログラムをダウンロードすることで取得しても良い。
【００４４】
ＣＰＵ３１には、メインメモリ３２、メモリ制御回路３３、およびプリセットデータ用メモリ３５が接続される。また、メモリ制御回路３３には、保存用データメモリ３４が接続される。メインメモリ３２は、ＣＰＵ３１のワーク領域やバッファ領域として用いられる記憶手段である。すなわち、メインメモリ３２は、上記端末ビーコン送信処理、位置情報送信処理、位置情報要求処理及び位置情報特定処理に用いられる各種データを記憶したり、外部（メモリカード２８および２９や他の機器等）から取得されるプログラムを記憶したりする。本実施形態では、メインメモリ３２として、例えばＰＳＲＡＭ（Ｐｓｅｕｄｏ−ＳＲＡＭ）を用いる。保存用データメモリ３４は、ＣＰＵ３１によって実行されるプログラムや内側カメラ２３および外側カメラ２５によって撮影された画像のデータ等を記憶するための記憶手段である。保存用データメモリ３４は、不揮発性の記憶媒体によって構成されており、例えば本実施例ではＮＡＮＤ型フラッシュメモリで構成される。メモリ制御回路３３は、ＣＰＵ３１の指示に従って、保存用データメモリ３４に対するデータの読み出しおよび書き込みを制御する回路である。プリセットデータ用メモリ３５は、ゲーム装置１において予め設定される各種パラメータ等のデータ（プリセットデータ）を記憶するための記憶手段である。プリセットデータ用メモリ３５としては、ＳＰＩ（Ｓｅｒｉａｌ  Ｐｅｒｉｐｈｅｒａｌ  Ｉｎｔｅｒｆａｃｅ）バスによってＣＰＵ３１と接続されるフラッシュメモリを用いることができる。
【００４５】
メモリカードＩ／Ｆ３６は、ＣＰＵ３１に接続される。メモリカードＩ／Ｆ３６は、コネクタに装着されたメモリカード２８に対するデータの読み出しおよび書き込みを、ＣＰＵ３１の指示に応じて行う。本実施形態では、外側カメラ２５によって撮像された画像データがメモリカード２８に書き込まれたり、メモリカード２８に記憶された画像データがメモリカード２８から読み出されて保存用データメモリ３４に記憶されたりする。
【００４６】
カートリッジＩ／Ｆ４３はＣＰＵ３１に接続される。カートリッジＩ／Ｆ４３は、コネクタに装着されたカートリッジ２９に対するデータの読み出しおよび書き込みをＣＰＵ３１の指示に従って行う。本実施形態では、ゲーム装置１が実行することが可能なアプリケーションプログラムがカートリッジ２９から読み出されてＣＰＵ３１によって実行されたり、当該アプリケーションプログラムに関するデータ（例えばゲームのセーブデータ等）がカートリッジ２９に書き込まれたりする。
【００４７】
無線通信モジュール３７は、例えばＩＥＥＥ８０２．１１ｂ／ｇの規格に準拠した方式により、無線ＬＡＮに接続する機能を有する。また、無線通信モジュール３７は、所定の通信方式により同種のゲーム装置との間で無線通信を行う機能を有する。無線通信モジュール３７は、例えばデータ伝送距離が１０ｍの範囲内の近距離無線通信を行い、この無線通信で使用する電波は例えば無線局の免許が不要な程の微弱電波である。無線通信モジュール３７は、ＣＰＵ３１に接続される。ＣＰＵ３１は、無線通信モジュール３７を用いてインターネットを介して、又は介さないで他の機器との間でデータを送受信することができる。例えば、ＣＰＵ３１は、図４を用いて後述するアクセスポイント２と無線通信を行うことでアクセスポイント２の位置情報を取得することができる。位置情報及び位置情報を取得する方法についての詳細は、図４を用いて後述する。
【００４８】
また、ＣＰＵ３１は、無線通信モジュール３７を用いて同種の他のゲーム装置との間でデータを送受信したりすることができる。なお、以下に、ゲーム装置１を他機と自機とを区別するときには、自機をゲーム装置１Ａと記載し、他機をゲーム装置１Ｂと記載する。例えば、ＣＰＵ３１は、自機（ゲーム装置１Ａ）と他のゲーム装置１Ｂとが互いに通信可能範囲内（例えば、両機間の距離が１０ｍ以内）に位置するときにデータを送受信することができる。また、本実施形態では、ＣＰＵ３１は、通信可能範囲内にある他のゲーム装置１Ｂとの間で自動的に通信（この通信を以下、「すれ違い通信」と記載する）を行い、自動的にデータを送受信する。本実施形態では、ゲーム装置１Ａは、すれ違い通信によってゲーム装置１Ｂの記憶する位置情報を取得することができ、かつ、すれ違い通信によって自機が記憶する位置情報をゲーム装置１Ｂに提供することもできる。この位置情報を取得又は提供するための方法についての詳細は図４〜図１１Ｂを用いて後述する。
【００４９】
「すれ違い通信」はゲーム装置１Ａ、１Ｂがそれぞれ「すれ違い通信モード」に設定されているときに限って行われる。この「すれ違い通信モード」の設定は、例えば、ユーザが各操作ボタン１４Ａ〜１４Ｋやタッチパネル１３を操作することで行われる。「すれ違い通信モード」が設定されていると、ゲーム装置１Ａは、自動的かつ継続的に他のゲーム装置１Ｂを探索して、探索の結果見つかったゲーム装置１Ｂとの間で自動的に通信（すれ違い通信）を行い、当該通信が完了した後で自動的に切断を行う。その後、ゲーム装置１Ａはさらに他のゲーム装置１Ｂを探索して、上記と同様な処理を繰り返す。「すれ違い通信モード」が設定されていると、アプリケーションが実行されていない場合、例えば、ゲーム装置１ＡのＣＰＵ３１がスリープ状態等の省電力状態である場合であっても、「すれ違い通信」は行われる。
【００５０】
また、ＣＰＵ３１には、ＲＴＣ３８および電源回路３９が接続される。ＲＴＣ３８は、時間をカウントしてＣＰＵ３１に出力する。例えば、ＣＰＵ３１は、ＲＴＣ３８によって計時された時間に基づいて、現在時刻（日付）等を計算することもできる。電源回路３９は、ゲーム装置１が有する電源（典型的には電池であり、下側ハウジング１１に収納される）から供給される電力を制御し、ゲーム装置１の各部品に電力を供給する。
【００５１】
また、ゲーム装置１は、マイク４１およびアンプ４２を備えている。マイク４１およびアンプ４２は、それぞれＩ／Ｆ回路４０に接続される。マイク４１は、ゲーム装置１に向かって発声されたユーザの音声を検知して、当該音声を示す音声信号をＩ／Ｆ回路４０に出力する。アンプ４２は、Ｉ／Ｆ回路４０から音声信号を増幅してスピーカ（図示せず）から出力させる。Ｉ／Ｆ回路４０は、ＣＰＵ３１に接続される。
【００５２】
また、タッチパネル１３は、Ｉ／Ｆ回路４０に接続される。Ｉ／Ｆ回路４０は、マイク４１およびアンプ４２（スピーカ）の制御を行う音声制御回路と、タッチパネル１３の制御を行うタッチパネル制御回路とを含む。音声制御回路は、音声信号に対するＡ／Ｄ変換およびＤ／Ａ変換を行ったり、音声信号を所定の形式の音声データに変換したりする。タッチパネル制御回路は、タッチパネル１３からの信号に基づいて所定の形式のタッチ位置データを生成してＣＰＵ３１に出力する。例えば、タッチ位置データは、タッチパネル１３の入力面に対して入力が行われた位置の座標を示すデータである。なお、タッチパネル制御回路は、タッチパネル１３からの信号の読み込み、および、タッチ位置データの生成を所定時間に１回の割合で行う。ＣＰＵ３１は、Ｉ／Ｆ回路４０を介して、タッチ位置データを取得することにより、タッチパネル１３に対して入力が行われた位置を知ることができる。
【００５３】
操作ボタン１４は、上記各操作ボタン１４Ａ〜１４Ｋから構成され、ＣＰＵ３１に接続される。操作ボタン１４からＣＰＵ３１へは、各操作ボタン１４Ａ〜１４Ｋに対する入力状況（押下されたか否か）を示す操作データが出力される。ＣＰＵ３１は、操作ボタン１４から操作データを取得することによって、操作ボタン１４に対する入力に応じた処理を実行する。
【００５４】
内側カメラ２３および外側カメラ２５は、それぞれＣＰＵ３１に接続される。内側カメラ２３および外側カメラ２５は、ＣＰＵ３１の指示に応じて画像を撮影し、撮影した画像データをＣＰＵ３１に出力する。本実施形態では、ＣＰＵ３１は、内側カメラ２３および外側カメラ２５のいずれか一方に対して撮影指示を行い、撮影指示を受けたカメラが画像を撮影して画像データをＣＰＵ３１に送る。
【００５５】
また、下側ＬＣＤ１２および上側ＬＣＤ２２は、それぞれＣＰＵ３１に接続される。下側ＬＣＤ１２および上側ＬＣＤ２２は、それぞれＣＰＵ３１の指示に従って画像を表示する。
【００５６】
次に、図３を参照して、アクセスポイントの内部構成を説明する。なお、図３は、アクセスポイントの内部構成の一例を示すブロック図である。
【００５７】
アクセスポイント２は、操作部５０、通信部５１、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）５２、ＨＤＤ（ハードディスクドライブ）５３、ＲＡＭ（Ｒａｎｄoｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）５４及びＣＰＵ５５を有し、これらの間はバス５６で互いに通信可能に接続されている。
【００５８】
操作部５０は、本アクセスポイント２の管理者からの操作を受け付ける機能を有する。通信部５１は、例えばＩＥＥＥ８０２．１１ｂ／ｇの規格に準拠した方式により、無線ＬＡＮに接続する機能を有する。ＲＯＭ５２には、このアクセスポイント２本体を起動するとともに基本的な機能を実現するためのシステムプログラムが記憶されている。ＨＤＤ５３には、本アクセスポイント２にゲーム装置１との間の通信を行わせる通信プログラムを含むプログラム、及びこのプログラムの実行に必要なデータが記憶されている。ＨＤＤ５３には、このデータとして、アクセスポイント２の現在位置を示す位置情報が本アクセスポイント２の管理者等によって例えばアクセスポイント２の設置時に設定されている。なお、ＨＤＤ５３は本アクセスポイント２に内蔵されている必要はなく、別体として外部から接続されていてもよい。ＲＡＭ５４は、ＣＰＵ５５の作業領域として機能する。ＲＡＭ５４は図７Ｆを用いて後述するＡＰビーコンフレームＤ６を一時的に記憶する。
【００５９】
ＣＰＵ５５は、通信プログラムを実行することでゲーム装置１との間で通信部５１を用いて無線通信を行い、これによって、自機の位置情報をゲーム装置１に提供する。具体的には、ＣＰＵ５５は、自機に記憶する位置情報そのものをゲーム装置１に送信するのではなく、ゲーム装置１に予め記憶される自機の位置情報を指定するための情報（図７Ｆを用いて後述するＡＰビーコンフレームＤ６）をゲーム装置１に送信することで、このゲーム装置１に位置情報を提供する。すなわち、ゲーム装置１は、複数のアクセスポイント２の位置情報を登録したテーブルを記憶し、登録されている位置情報のうちの１つをアクセスポイント２から受信した情報で検索して取得することでアクセスポイント２から位置情報の提供を受ける。
【００６０】
以下、第１の実施形態にかかる位置情報提供システムの構成を説明する。
【００６１】
図４は、第１の実施形態にかかる位置情報提供システムの構成を示す図である。位置情報提供システム１００は、複数のゲーム装置１と複数のアクセスポイント２とを有し、ゲーム装置１とアクセスポイント２は、上述したように互いにＩＥＥＥ８０２．１１の無線ＬＡＮ規格に則った無線通信を行うことができる。複数のゲーム装置１は、上述したように各装置の間で所定の通信方式で無線通信を行うことができる。同図では、２つのゲーム装置１（１Ａ、１Ｂ）のうちゲーム装置１Ａがアクセスポイント２から位置情報の提供を受ける様子を示している。なお、本実施形態では、位置情報提供システム１００は２つのアクセスポイント２を備えるが必ずしもこの構成に限定されず、単数のアクセスポイント２を備える構成であってもよく、３以上のアクセスポイント２を備える構成であってもよい。また、位置情報提供システム１００を構成するゲーム装置１の個数は３以上であってもよい。
【００６２】
位置情報提供システム１００では、アクセスポイント２がゲーム装置１Ａに対して位置情報を提供する。この位置情報は、アクセスポイント２の設定位置を示す情報であり、ゲーム装置１の大まかな現在位置を示す情報として利用される。位置情報は、例えば、アクセスポイント２の緯度及び経度を示す情報、アクセスポイント２の住所を示す情報、アクセスポイント２の位置を中心とした周辺地図の画像データ等があるが、列挙したものに限定されず、アクセスポイント２の位置を示す情報であれば如何なる情報であってもよい。ゲーム装置１は、電波到達範囲内（例えば、５０〜１００ｍの範囲内）にあるアクセスポイント２、すなわち最寄りのアクセスポイント２から位置情報を示す情報を受信し、この情報を用いて最寄りのアクセスポイント２の現在位置を指定する位置情報を自機の現在位置を示す情報として取得することができる。
【００６３】
なお、詳しくは後述するが、本実施形態では、ゲーム装置１Ａが、複数のアクセスポイント２の識別情報毎の位置情報を予め記憶しており、アクセスポイント２から識別情報を受信することで位置情報を特定することができる。
【００６４】
同図では、ゲーム装置１Ａは、２つのアクセスポイント２（２Ａ、２Ｂ）の電波到達範囲内に位置し、２つのアクセスポイント２（２Ａ、２Ｂ）と無線通信を行うことで情報の提供を受けることができる。アクセスポイント２Ａ、２Ｂの設定位置は、それぞれ異なっており、アクセスポイント２Ａ、２Ｂから提供される位置情報もそれぞれ異なった位置情報である。このため、ゲーム装置１Ａは、異なった２つの位置情報を取得することが可能になり、これらの異なった位置情報のうち何れかの位置情報を選択して、自機の位置を示す情報として特定する必要がある。
【００６５】
本実施形態では、ゲーム装置１に対して、複数のアクセスポイント２の種別毎に信頼性の高さでランクが設定され、ゲーム装置１は、このランクが高いアクセスポイント２からの位置情報を優先して自機の位置を示す情報として特定する。具体的には、複数のアクセスポイント２のうち、本システム１００のオペレータ等によって、正確性が高い位置情報を記憶していると判断されたアクセスポイント２に対して、「高信頼性アクセスポイント」のランクが設定される。また、記憶されている位置情報の正確性が低いと判断されたアクセスポイント２に対して、「低信頼性アクセスポイント」のランクが設定される。同図では、２つのアクセスポイント２（２Ａ、２Ｂ）のうち、アクセスポイント２Ａには「高信頼性アクセスポイント」のランクが設定されており、アクセスポイント２Ｂには「低信頼性アクセスポイント」のランクが設定されている。以下、両アクセスポイント２Ａ、２Ｂをそれぞれ、「高信頼性アクセスポイント２Ａ」、「低信頼性アクセスポイント２Ｂ」と記載する。
【００６６】
オペレータがアクセスポイント２の信頼性のランク（信頼性ランク）を判断するための要素としては、例えば、アクセスポイント２に記憶される位置情報のユーザによる書き換えの自由度がある。具体的には、アクセスポイント２がサービスを提供する店舗に固定的に配置されるものであれば、不正確な現在位置を示す位置情報が記憶されている可能性が低い。このようなアクセスポイント２の信頼性ランクは、「高信頼性アクセスポイント」とされる。対して、アクセスポイント２がサービスの提供を受ける一般ユーザが自ら容易に配置可能なものであれば、一般ユーザによって容易に位置情報を書き換えられる。このため、アクセスポイント２が記憶する位置情報が不正確な現在位置を示す可能性も高い。このようなアクセスポイント２の信頼性ランクは、「低信頼性アクセスポイント」とされる。
【００６７】
なお、上述した、アクセスポイント２の信頼性のランクを判断するための要素はあくまで一例であり、他の要素が判断要素とされてもよい。また、サービスを提供する店舗に固定的に配置されるアクセスポイント２の信頼性ランクを「高信頼性アクセスポイント」とし、サービスの提供を受ける一般ユーザが自ら容易に配置可能なアクセスポイント２の信頼性ランクを「低信頼性アクセスポイント」として説明したことも、あくまで一例であり、それぞれ逆の信頼性のランクが設定されていてもよい。
【００６８】
次に、本実施形態にかかる位置情報提供システム１００の特徴を説明する。位置情報提供システム１００は、ゲーム装置１Ａがアクセスポイント２から位置情報の提供を受けることができるだけでなく、他の同種のゲーム装置１Ｂから「すれ違い通信」によって位置情報の提供を受けることができる。
【００６９】
アクセスポイント２から位置情報の提供を受けるためには、ゲーム装置１Ａはアクセスポイント２の電波到達範囲内に位置しなければならない。しかしながら、位置情報提供システム１００では、アクセスポイント２の電波到達範囲外であっても、ゲーム装置１Ａは「すれ違い通信」によって他のゲーム装置１Ｂから位置情報の提供を受けることができる。
【００７０】
この「すれ違い通信」によって取得する位置情報は、他のゲーム装置１Ｂが上述したような方法でアクセスポイント２から取得し、自機の位置を示す情報として特定した位置情報（以下、「特定位置情報」とする）である。このため、アクセスポイント２の配置位置に依拠せずに、ゲーム装置１Ａは位置情報を取得することができる。
【００７１】
また、ゲーム装置１Ａもゲーム装置１Ｂに対して、自機が記憶する位置情報を配信することができる。本実施形態では、ゲーム装置１Ａ、１Ｂは、アクセスポイント２から位置情報を取得した時からの経過時間を示す情報（以下、「経過時間情報」とする）を特定位置情報に対応づけて記憶する。そして、この経過時間情報を参照して、ゲーム装置１Ｂの記憶する特定位置情報の方がゲーム装置１Ａの記憶する特定位置情報よりもアクセスポイント２から取得してから新しければ、ゲーム装置１Ａはゲーム装置１Ｂから特定位置情報の提供を受ける側になる。一方、ゲーム装置１Ａの記憶する特定位置情報の方がゲーム装置１Ｂの記憶する特定位置情報よりもアクセスポイント２から取得してから新しければ、ゲーム装置１Ａがゲーム装置１Ｂに位置情報の提供を行う側となる。
【００７２】
同図の例では、ゲーム装置１Ａが位置情報の提供を受ける側であり、ゲーム装置１Ｂが情報の提供を行う側である。
【００７３】
また、本実施形態にかかる位置情報提供システム１００は、上述したように複数のゲーム装置１間で位置情報を提供することができることが特徴であるが、ゲーム装置１Ａが提供を受けてから有効期限の過ぎた位置情報を無効化（破棄）するための処理を実行することも特徴である。ゲーム装置１Ａはユーザに携帯されて移動するため、取得してから長時間経過した位置情報はゲーム装置１Ａの現在位置を示さない可能性が高い。従って、有効期限の過ぎた位置情報を破棄することで、ゲーム装置１Ａの現在位置を示さない位置情報を自機の現在位置を示す情報として特定してしまうことを防止している。この処理の詳細については、図１３を用いて後述する。
【００７４】
以下に、ゲーム装置１Ｂがゲーム装置１Ａに対して位置情報の提供を行うための通信を説明する。図５は、ゲーム装置１Ｂがゲーム装置１Ａに対して位置情報の提供を行うための通信の一例を示す通信シーケンス図である。
【００７５】
まず、ゲーム装置１Ｂは、所定の周期毎に（例えば、３ｓｅｃ毎に）、自機の存在とその内容を示す端末ビーコンフレームを所定の周期毎にブロードキャストで送信する（同図の（２１）で示す）。この端末ビーコンフレームには、上述した経過時間情報が含まれる。ゲーム装置１Ａは、ゲーム装置１Ｂの電波到達範囲内に位置するため、チャンネルスキャン処理を行うことで端末ビーコンフレームを受信する。
【００７６】
ゲーム装置１Ａは、端末ビーコンフレームを受信すると、自機の記憶する特定位置情報の経過時間情報と端末ビーコンフレームに含まれる経過時間情報とを比較する。本例では、ゲーム装置１Ａは、この比較によって、自機の記憶する特定位置情報よりも相手方の特定位置情報の方がアクセスポイント２から取得してから新しいと判断する。ゲーム装置１Ａは、ゲーム装置１Ｂとの間で通信を確立するために、ゲーム装置１Ｂに対して通信要求を行う（同図の（２２）で示す）。ゲーム装置１Ｂは通信要求を受信するとゲーム装置１Ａとの間で通信を確立するために通信許可を行う（同図の（２３）で示す）。
【００７７】
ゲーム装置１Ａは、通信の確立したゲーム装置１Ｂに対して位置情報の提供を要求する（同図の（２４）で示す）。ゲーム装置１Ｂはこの要求に応えて位置情報をゲーム装置１Ａに送信する（同図の（２５）で示す）。
【００７８】
上述した、通信方法はあくまで一例であり、ゲーム装置１Ｂがゲーム装置１Ａに対して位置情報の提供を行うことが可能であれば如何なる通信方法を採用してもよい。例えば、端末ビーコンフレームに位置情報を含めてブロードキャストで配信することで、ゲーム装置１Ａに位置情報を提供してもよい。この方法によれば、位置情報の提供のために必要なデータの送受信に要する時間を短縮することができる。また、端末ビーコンフレームに経過時間情報を含めずに、ゲーム装置１Ａ、１Ｂ間の通信が確立した後に、ゲーム装置１Ｂがゲーム装置１Ａに対して経過時間情報を送信してもよい。この方法によれば、より確実にゲーム装置１Ａに対して位置情報を提供することができる。また、ゲーム装置１Ａが端末ビーコンフレームをブロードキャストで所定の周期毎に送信し、このフレームを受信したゲーム装置１Ｂから位置情報の提供を受けるようにしてもよい。
【００７９】
なお、図５で示す通信で送受信されるフレームについての詳細は、図７Ａ〜図７Ｆを用いて後述する。
【００８０】
次に、図６を参照して、ゲーム装置１がメインメモリ３２に記憶する各種プログラムや各種データについて説明する。
【００８１】
図６は、ゲーム装置１が本発明の携帯端末プログラムを実行することに応じて記憶されるプログラムや各種データの一例を示す図である。
【００８２】
メインメモリ３２は、プログラムを記憶するプログラム記憶領域３２ａと、データを記憶するデータ記憶領域３２ｂを有する。
【００８３】
プログラム記憶領域３２ａは、携帯端末プログラムＰ１と、ゲームプログラムＰ２等を記憶する。携帯端末プログラムＰ１は、他のゲーム装置１Ｂに対して位置情報を送信するための通信処理（端末ビーコン送信処理及び位置情報送信処理）、他のゲーム装置１Ｂから位置情報を受信するための通信処理（位置情報要求処理）をゲーム装置１Ａに実行させるためのプログラムを含む。また、携帯端末プログラムＰ１は、取得した位置情報から、ゲーム装置１Ａの現在位置を示す特定位置情報を決定する処理（位置情報特定処理）をゲーム装置１Ａに実行させるためのプログラムを含む。なお、端末ビーコン送信処理、位置情報送信処理、位置情報要求処理及び位置情報特定処理の詳細については、図９等を用いて後述する。
【００８４】
ゲームプログラムＰ２は、ゲーム装置１で実行するゲーム処理全体を定義するプログラムである。ゲームプログラムＰ２を実行することで、ゲーム装置１は自機のユーザにゲームを提供することができる。本実施形態では、このゲーム内容に特定位置情報の内容を反映させることができる。例えば、特定位置情報が特定の地域内（例えば、京都、大阪等の都道府県内）の位置を示すときには、その地域の特産物のアイテムがゲーム空間内でプレイヤキャラクタに提供されたり、ゲーム空間にはその地域を示す背景オブジェクトが配置されたりする。なお、ゲーム内容に特定位置情報の内容を反映される構成に限定されず、例えば、単に位置情報の示す位置（例えば、緯度及び経度等）がユーザの操作に応じて表示される構成等であってもよい。
【００８５】
なお、携帯端末プログラムＰ１は、保存用データメモリ３４に記憶されたプログラムから適宜読み出されて記憶される。保存用データメモリ３４に記憶されたプログラムは、図略のサーバからダウンロードされたり、メモリカード２８から読み出されたりして予め記憶される。また、ゲームプログラムＰ２は、例えば、ゲームの進行に応じて、メモリカード２８から適宜読み出されて記憶される。もっとも、本発明はこの構成に限定されない。例えば、携帯端末プログラムＰ１も、ゲームプログラムＰ２と同様に、メモリカード２８から適宜読み出されて記憶されてもよい。この場合に、携帯端末プログラムＰ１はゲームプログラムＰ２に含まれていてもよい。また、携帯端末プログラムＰ１やゲームプログラムＰ２は、図略のサーバや他のゲーム装置１Ｂから一括してダウンロードされるか、ゲームの進行に応じて適宜ダウンロードされることで記憶されてもよい。
【００８６】
データ記憶領域３２ｂは、ゲーム装置１Ａがゲーム装置１Ｂに対して位置情報を提供する側である場合に送信フレームを記憶する送信フレーム記憶領域３２１、この場合に受信フレームを記憶する受信フレーム記憶領域３２２を有する。また、データ記憶領域３２ｂは、ゲーム装置１Ａがゲーム装置１Ｂから位置情報の提供を受ける側である場合に送信フレームを記憶する送信フレーム記憶領域３２３、この場合に受信フレームを記憶する受信フレーム記憶領域３２４を有する。また、データ記憶領域３２ｂは、アクセスポイント２からの受信フレームを記憶する受信フレーム記憶領域３２５とその他のデータ記憶領域３２６を有する。
【００８７】
送信フレーム記憶領域３２１には、端末ビーコンフレームＤ１、通信許可フレームＤ２及び位置情報フレームＤ３等が一時的に記憶される。これらのフレームＤ１〜Ｄ３は、端末ビーコン送信処理及び位置情報送信処理の実行によってゲーム装置１Ａが他のゲーム装置１Ｂに送信するフレームである。以下に、図７Ａ〜図７Ｃを参照して、端末ビーコンフレームＤ１、通信許可フレームＤ２及び位置情報フレームＤ３のフレーム構成の一例を説明する。
【００８８】
図７Ａは、端末ビーコンフレームＤ１のフレーム構成の一例を示す図である。端末ビーコンフレームＤ１は、図５の（２１）で示すタイミングに送信されるフレームである。もっとも、図５の例ではゲーム装置１Ｂが端末ビーコン送信処理及び位置情報送信処理を実行し、ゲーム装置１Ａが位置情報要求処理を実行することで、ゲーム装置１Ｂがゲーム装置１Ａに対して位置情報を配信する様子を示しているが、ここでは、逆に、ゲーム装置１Ａが端末ビーコン送信処理及び位置情報送信処理を実行し、ゲーム装置１Ｂが位置情報要求処理を実行することで、ゲーム装置１Ａがゲーム装置１Ｂに対して位置情報を配信する場合を想定している。
【００８９】
ビーコンフレームＤ１は、フレームタイプＦ＿ＴＹＰ、送信元ＭＡＣ（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）アドレス及び経過時間情報を含む。フレームタイプＦ＿ＴＹＰは、当該フレームの種別を示しており、この場合には端末ビーコンフレームであることを示す情報が記述される。送信元ＭＡＣアドレスは自機のＭＡＣアドレスを示す。経過時間情報は、自機の特定位置情報を取得してからの経過時間を示す情報である。本実施形態では、経過時間情報はアクセスポイント２から取得した情報に基づいて特定位置情報を取得した時刻を示す情報（取得時間情報）や、特定位置情報の残存有効時間を示す情報（有効時間情報：カウンタ値）を含むが、取得時間と有効時間情報の何れか１のみを含む構成であってもよい。
【００９０】
図７Ｂは、通信許可フレームＤ２のフレーム構成の一例を示す図である。通信許可フレームＤ２は、図５の（２３）で示すタイミングに送信されるフレームである。もっとも、上述したように、図５の例では位置情報の提供側と受信側が本例とは逆である。
【００９１】
通信許可フレームＤ２は、フレームタイプＦ＿ＴＹＰ、宛先ＭＡＣアドレス、送信元ＭＡＣアドレス、結果情報及び通信情報を含む。フレームタイプＦ＿ＴＹＰには、この場合には通信許可フレームを示す情報が記述される。宛先ＭＡＣアドレスは、通信の許可又は不許可が通知されるゲーム装置１ＢのＭＡＣアドレスを示す。送信元ＭＡＣアドレスは自機のＭＡＣアドレスを示す。結果情報は、他のゲーム装置１Ｂとゲーム装置１Ａとの間の通信の許可又は不許可を示す。通信情報は、他のゲーム装置１Ａとの間の通信を確立するために必要になる情報であり、例えば、通信チャンネルを示す情報等が含まれる。
【００９２】
図７Ｃは、位置情報フレームＤ３のフレーム構成の一例を示す図である。位置情報フレームＤ３は、図５の（２５）で示すタイミングに送信されるフレームである。もっとも、上述したように、図５の例では、位置情報の提供側と受信側が本例とは逆である。
【００９３】
位置情報フレームＤ３は、フレームタイプＦ＿ＴＹＰ、宛先ＭＡＣアドレス、送信元ＭＡＣアドレス、位置情報、アクセスポイント識別情報（以下、「ＡＰ識別情報」とする）及び経過時間情報等を含む。フレームタイプＦ＿ＴＹＰは、この場合には、当該フレームが位置情報フレームであることを示す情報が記述される。宛先ＭＡＣアドレスは、位置情報を送信する宛先となるゲーム装置１ＢのＭＡＣアドレスを示す。送信元ＭＡＣアドレスは、自機のＭＡＣアドレスを示す。位置情報はゲーム装置１Ａが記憶する特定位置情報である。ＡＰ識別情報は、この特定位置情報の提供源であるアクセスポイント２の信頼性ランク（「高信頼性アクセスポイント」か、「低信頼性アクセスポイント」か）を示す情報である。経過時間情報は、上述したように、自機の特定位置情報を取得してからの経過時間を示す情報である。
【００９４】
図６に戻って、受信フレーム記憶領域３２２には、通信要求フレームＤ４及び位置情報要求フレームＤ５が一時的に記憶される。これらのフレームＤ４、Ｄ５は、端末ビーコン送信処理及び位置情報送信処理の実行によって、ゲーム装置１Ａが他のゲーム装置１Ｂから受信するフレームである。以下に、図７Ｄ及び図７Ｅを参照して、通信要求フレームＤ４及び位置情報要求フレームＤ５のフレーム構成の一例を説明する。
【００９５】
図７Ｄは、通信要求フレームＤ４のフレーム構成の一例を示す図である。通信要求フレームＤ４は、図５の（２２）で示すタイミングに受信されるフレームである。もっとも、上述したように、図５の例では、位置情報の提供側と受信側が本例とは逆である。
【００９６】
通信要求フレームＤ４は、フレームタイプＦ＿ＴＹＰ、宛先ＭＡＣアドレス及び送信元ＭＡＣアドレス等を含む。フレームタイプＦ＿ＴＹＰには、この場合には通信要求フレームを示す情報が記述される。宛先ＭＡＣアドレスは、通信が要求されるゲーム装置１のＭＡＣアドレスを示し、この場合には自機（ゲーム装置１Ａ）のＭＡＣアドレスを示す。送信元ＭＡＣアドレスは、通信を要求するゲーム装置１のＭＡＣアドレスを示し、この場合にはゲーム装置１ＢのＭＡＣアドレスを示す。
【００９７】
図７Ｅは、位置情報要求フレームＤ５のフレーム構成の一例を示す図である。位置情報要求フレームＤ５は、図５の（２４）で示すタイミングに受信されるフレームである。もっとも、上述したように、図５の例では、位置情報の提供側と受信側が本例とは逆である。
【００９８】
位置情報要求フレームＤ５は、フレームタイプＦ＿ＴＹＰ、宛先ＭＡＣアドレス及び送信元ＭＡＣアドレス等を含む。フレームタイプＦ＿ＴＹＰには、この場合には位置情報要求フレームを示す情報が記述される。宛先ＭＡＣアドレスは、位置情報の配信が要求されるゲーム装置１のＭＡＣアドレスを示し、この場合には自機（ゲーム装置１Ａ）のＭＡＣアドレスを示す。送信元ＭＡＣアドレスは、位置情報を要求するゲーム装置１のＭＡＣアドレスを示し、この場合にはゲーム装置１ＢのＭＡＣアドレスを示す。
【００９９】
図６に戻って、送信フレーム記憶領域３２３及び受信フレーム記憶領域３２４に記憶されるフレームを説明する。送信フレーム記憶領域３２３は、ゲーム装置１Ａが位置情報要求処理の実行によって他のゲーム装置１Ｂに送信するためのフレームを一時的に記憶するための領域である。受信フレーム記憶領域３２４は、位置情報要求処理を実行によって他のゲーム装置１Ｂから受信したフレームを一時的に記憶するための領域である。
【０１００】
上述したように、ゲーム装置１Ａが他のゲーム装置１Ｂに対して自機の記憶する特定位置情報を送信する側である場合には、送信フレーム記憶領域３２１にはフレームＤ１〜Ｄ３が記憶され、受信フレーム記憶領域３２２にはフレームＤ４、Ｄ５が記憶される。これに対して、ゲーム装置１Ａが、他のゲーム装置１Ｂから自機の記憶する特定位置情報を受信する側である場合には、上述した場合とは逆に、送信フレーム記憶領域３２３には、通信要求フレームＤ４及び位置情報要求フレームＤ５が記憶される。そして、受信記憶領域３２４には、端末ビーコンフレームＤ１、通信許可フレームＤ２及び位置情報フレームＤ３が記憶される。
【０１０１】
また、受信フレーム記憶領域３２５には、アクセスポイント２から受信したＡＰビーコンフレームＤ６が記憶される。
【０１０２】
図７Ｆは、ＡＰビーコンフレームＤ６のフレーム構成の一例を示す図である。ＡＰビーコンフレームＤ６は、フレームタイプＦ＿ＴＹＰ、ＢＳＳＩＤ（Ｂａｓｉｃ  Ｓｅｒｖｉｃｅ  Ｓｅｔ  ＩＤ）、ＥＳＳＩＤ（Ｅｘｔｅｎｄｅｄ  Ｓｅｒｖｉｃｅ  ＩＤ）、セキュリティ情報、ＲＳＳＩ（Ｒｅｃｅｉｖｅｄ  Ｓｉｇｎａｌ  Ｓｔｒｅｎｇtｈ  Ｉｎｄｉｃａｔｉｏｎ）及びチャンネル情報等を有する。フレームタイプＦ＿ＴＹＰには、この場合にはＡＰビーコンフレームを示す情報が記述される。ＢＳＳＩＤは、アクセスポイント２を識別するための固有の識別情報である。ＥＳＳＩＤは、ネットワークを識別するための固有の識別情報であり、この場合には、アクセスポイント２及びゲーム装置１Ａで構成される無線ＬＡＮに固有の識別情報が記述される。セキュリティ情報は、アクセスポイント２及びゲーム装置１Ａ間の通信のセキュリティを担保するための情報である。ＲＳＳＩは、受信する信号の強度をゲーム装置１が測定するための情報である。チャンネル情報は、アクセスポイント２及びゲーム装置１Ａ間の通信に使用するチャンネルを示す情報である。
【０１０３】
上述のように、ＡＰビーコンフレームＤ６は位置情報を含まず、ゲーム装置１Ａは単にＡＰビーコンフレームＤ６を受信するだけでは位置情報を取得することができない。しかしながら、ＡＰビーコンフレームＤ６は、自機に固有の識別情報であるＢＳＳＩＤを含むため、ゲーム装置１Ａは、ＡＰビーコンフレームＤ６に含まれるＢＳＳＩＤで後述する位置情報テーブルＴ１を参照することで位置情報を取得することができる。この位置情報を取得する処理についての詳細は後述する。なお、ＡＰビーコンフレームＤ６の構成は、上述した例に限定されず、位置情報を含んでいてもよい。
【０１０４】
また、ＡＰビーコンフレームＤ６は、ネットワークに固有の識別情報であるＥＳＳＩＤを含み、ゲーム装置１ＡがこのＥＳＳＩＤで後述するＡＰ識別情報テーブルＴ２を参照することでアクセスポイント２のＡＰ識別情報を取得することができる。このＡＰ識別情報を取得する処理についての詳細は後述する。ＡＰ識別情報は、上述したように、アクセスポイント２の信頼性ランク（高信頼性アクセスポイント、低信頼性アクセスポイント）を示す情報である。
【０１０５】
図６に戻って、データ記憶領域３２６に記憶されるデータを説明する。データ記憶領域３２６には、位置データＤ７、特定位置データＤ８、位置情報テーブルＴ１及びＡＰ識別情報テーブルＴ２等が記憶される。
【０１０６】
位置データＤ７は、他のゲーム装置１Ｂやアクセスポイント２から提供された位置情報を含むように生成して記憶される。なお、他のゲーム装置１Ｂやアクセスポイントから複数の位置情報が提供された場合には、複数の位置データＤ７が生成されて記憶される場合がある。データ記憶領域３２６には、所定数だけ位置データＤ７を記憶することができる。以下に図８Ａ、図８Ｂを用いて、位置データＤ７の内容を説明する。
【０１０７】
図８Ａは、アクセスポイント２から提供された位置情報を含む位置データＤ７を示す図である。以下、アクセスポイント２から受信した位置データＤ７をＡＰ位置データＤ７ａと記載する。ＡＰ位置データＤ７ａは、位置情報、ＡＰ識別情報及び経過時間情報（有効時間情報と取得時間情報）を有する。この場合の位置情報は、受信したＡＰビーコンフレームＤ６のＢＳＳＩＤで後述の位置情報テーブルＴ１を検索して取得された位置情報である。ＡＰ識別情報は、受信したＡＰビーコンフレームＤ６のＥＳＳＩＤで後述のＡＰ識別情報テーブルＴ２を検索して取得されたＡＰ識別情報である。ＡＰ位置データＤ７ａの生成方法についての詳細は、図１２を用いて後述する。なお、位置情報、ＡＰ識別情報、経過時間情報、有効時間情報及び取得時間情報の意義については、上述したものと同様である。
【０１０８】
図８Ｂは、他のゲーム装置１Ｂから提供された位置情報を含む位置データＤ７を示す図である。以下、他のゲーム装置１Ｂから提供された位置情報を含む位置データＤ７を端末位置データＤ７ｂと記載する。端末位置データＤ７ｂは、位置情報、ＡＰ識別情報、経過時間情報及び他ゲーム装置由来情報を有する。端末位置データＤ７ｂに含まれる位置情報、ＡＰ識別情報及び経過時間情報は、他のゲーム装置１Ｂから受信した位置情報フレームに含まれた情報と同一のものである。なお、位置情報、ＡＰ識別情報、経過時間情報、有効時間情報及び取得時間情報の意義については、上述したものと同様である。
【０１０９】
他ゲーム装置由来情報は、他のゲーム装置１Ｂから受信した位置情報であることを示す情報である。この情報が位置データＤ７に含まれているかどうかで、ゲーム装置１Ａは位置データＤ７がアクセスポイント２から提供された位置情報を含むＡＰ位置データＤ７aではなく、他のゲーム装置１Ｂから提供された位置情報を含む端末位置データＤ７ｂであると判別することができる。端末位置データＤ７ｂの生成方法についての詳細は、図１２を用いて後述する。
【０１１０】
特定位置データＤ８は、上述した位置データＤ７の中から、自機の現在位置を示す位置情報（特定位置情報）を含む位置データＤ７であると特定されたデータである。１又は複数の位置データＤ７の中から特定位置データＤ８を決定するための位置情報特定処理については詳しくは図１２及び図１３を用いて後述する。なお、特定位置データＤ８は一つだけ記憶可能になっているが、幾つかの過去の特定位置データＤ８をログとして記憶しておいてもよい。
【０１１１】
図６に戻って、位置情報テーブルＴ１及びＡＰ識別情報テーブルＴ２を説明する。図８Ｃは位置情報テーブルＴ１の一例を示す図である。位置情報テーブルＴ１は、図８Ｃで示すように、複数種類のＢＳＳＩＤに対応付けて複数種類の位置情報が登録されたテーブルである。位置情報テーブルＴ１には、ＢＳＳＩＤで識別されるアクセスポイント２の現在位置を示す位置情報がこのＢＳＳＩＤに対応付けて登録される。従って、ＢＳＳＩＤで位置情報テーブルＴ１を検索することで、このＢＳＳＩＤに対応するアクセスポイント２の位置情報を取得することができる。
【０１１２】
なお、位置情報テーブルＴ１に登録される位置情報は、アクセスポイント２に記憶される位置情報と同一である。この位置情報は、例えば、本位置情報提供システム１００のオペレータによって予め登録されるか、ゲーム装置１Ａが予めアクセスポイント２と通信を行うことによって自動的に登録される。
【０１１３】
また、図８ＤはＡＰ識別情報テーブルＴ２の一例を示す図である。ＡＰ識別情報テーブルＴ２は、図８Ｄで示すように、複数種類のＥＳＳＩＤに対応付けて複数種類のＡＰ情報が登録されたテーブルである。ＥＳＳＩＤは、上述したように、ネットワークに固有の識別情報である。ＡＰ識別情報テーブルＴ２には、ＥＳＳＩＤに対応する信頼性ランクを示すＡＰ識別情報が登録される。従って、ＥＳＳＩＤでＡＰ識別情報テーブルＴ２を検索することで、このＥＳＳＩＤに対応するＡＰ識別情報を取得することができる。
【０１１４】
なお、ＡＰ識別情報テーブルＴ２に登録される位置情報は、例えば、本位置情報提供システム１００のオペレータによって予め登録される。また、テーブルＴ１、Ｔ２は、保存用データメモリ３４から読み出されて記憶される。保存用データメモリ３４には、図略のサーバからダウンロードされたり、メモリカード２８から読み出されたりすることでテーブルＴ１、Ｔ２が記憶される。
【０１１５】
以下に、図８Ｃ、図８Ｄを用いてゲーム装置１がアクセスポイント２から位置情報の提供を受けるための処理を説明する。アクセスポイント２は、所定の周期毎にＡＰビーコンフレームＤ６をブロードキャストで送信する。ゲーム装置１は、ＡＰビーコンフレームＤ６の電波到達範囲内にいる場合には、ＡＰビーコンフレームＤ６を受信することができる。ゲーム装置１は、ＡＰビーコンフレームＤ６に含まれるＥＳＳＩＤを参照して、自機に登録されたＥＳＳＩＤと同一であれば、このＡＰビーコンフレームＤ６の指定する位置情報を取得する。
【０１１６】
具体的には、ゲーム装置１は、受信したＡＰビーコンフレームＤ６に含まれるＢＳＳＩＤで位置情報テーブルＴ１を検索し、このＢＳＳＩＤに対応する位置情報を取得することができる。この位置情報はＡＰビーコンフレームＤ６の送信元であるアクセスポイント２の位置を示す情報となる。そして、ゲーム装置１は、受信したＡＰビーコンフレームＤ６に含まれるＥＳＳＩＤでＡＰ情報テーブルＴ２を検索し、このＥＳＳＩＤに対応するＡＰ識別情報を取得する。このＡＰ識別情報は、位置情報テーブルＴ１から取得した位置情報の信頼性のランクを示す情報となる。
【０１１７】
なお、本実施形態では、ＡＰビーコンフレームＤ６に位置情報及びＡＰ識別情報を含めず、ゲーム装置１が記憶するテーブルＴ１、Ｔ２を使用して位置情報を取得する構成であるが、この構成に限定されない。例えば、アクセスポイント２が、ＡＰビーコンフレームＤ６に位置情報やＡＰ識別情報を含めてゲーム装置１Ａに対して送信することで、ゲーム装置１Ａに位置情報及びＡＰ識別情報を提供する構成を採用してもよい。この場合には、ゲーム装置１がテーブルＴ１、Ｔ２を記憶しない。
【０１１８】
なお、ゲーム装置１が、「ＡＰ通信モード」に設定されている場合に限り、アクセスポイント２からＡＰビーコンフレームを受信するための通信を行う。「ＡＰ通信モード」が設定されていると、ゲーム装置１は、自動的かつ継続的にアクセスポイント２を探索して、探索の結果見つかったアクセスポイント２との間で自動的に通信を行い、当該通信が完了した後で自動的に切断を行う。その後、ゲーム装置１はさらに他のアクセスポイント２を探索して、上記と同様な処理を繰り返す。「ＡＰ通信モード」が設定されていると、アプリケーションが実行されていない場合、例えば、ゲーム装置１のＣＰＵ３１がスリープ状態等の省電力状態である場合であっても、上述した通信は行われる。もっとも、ゲーム装置１が「ＡＰ通信モード」に設定されていなくてもＡＰビーコンフレームを受信することができるようにしてもよい。
【０１１９】
次に、図７Ａ〜図７Ｆ、図８Ａ〜図８Ｄ、図９〜図１３を用いて、他のゲーム装置１Ｂからゲーム装置１Ａに位置情報を提供するための処理と、提供された位置情報から自機の現在位置を示す位置情報を特定するための処理（位置情報特定処理）を説明する。
【０１２０】
図９は、他のゲーム装置１Ｂからゲーム装置１Ａに位置情報を提供するための処理の一例を示すフローチャートである。本処理は、ゲーム装置１Ａ、１ＢのＣＰＵ３１によって実行される。以下に、ゲーム装置１ＡのＣＰＵ３１を「ＣＰＵ３１Ａ」と記載し、ゲーム装置１ＢのＣＰＵ３１を「ＣＰＵ３１Ｂ」と記載する。
【０１２１】
まず、ゲーム装置１ＢのＣＰＵ３１Ｂは、端末ビーコン送信処理を実行することで端末ビーコンフレームＤ１をブロードキャストで送信する（Ｓ１、同図の（２１））。この端末ビーコンフレームＤ１には、ゲーム装置１Ｂが記憶する位置情報の経過時間情報が含まれる。
【０１２２】
端末ビーコンフレームＤ１を受信したゲーム装置１ＡのＣＰＵ３１Ａは、位置情報要求処理を実行する（Ｓ２）。この位置情報要求処理では、受信した端末ビーコンフレームＤ１の経過時間情報と自機（ゲーム装置１Ａ）の特定位置情報の経過時間情報とが比較され、他のゲーム装置１Ｂの記憶する位置情報と自機の記憶する位置情報の何れがアクセスポイント２から受信してから新しいかが判断される。そして、他のゲーム装置１Ｂの記憶する位置情報が新しいと判断した場合に、ゲーム装置１ＡのＣＰＵ３１Ａは他のゲーム装置１Ｂとの間に通信を確立するために通信要求を行う（同図の（２２））。この通信要求によって通信が確立した後に、ゲーム装置１ＡのＣＰＵ３１Ａはゲーム装置１Ｂに対して位置情報を要求する（同図の（２４））。
【０１２３】
ゲーム装置１ＢのＣＰＵ３１Ｂは、ゲーム装置１Ａから通信要求があった場合に位置情報送信処理を行う（Ｓ３）。位置情報送信処理では、ゲーム装置１ＢのＣＰＵ３１Ｂはゲーム装置１Ａの通信要求に応えて通信許可（又は不許可）をゲーム装置１Ａに通知する（同図の（２３））。上述したように、この通知を受けたゲーム装置１Ａからは位置情報が要求されるが、ゲーム装置１ＢのＣＰＵ３１Ｂはこの位置情報の要求に応えて位置情報をゲーム装置１Ａに送信する（同図の（２５））。
【０１２４】
ゲーム装置１ＡのＣＰＵ３１Ａは、位置情報特定処理を実行することで、ゲーム装置１Ｂから提供された位置情報やアクセスポイント２から提供された位置情報から、自機の現在位置を示す位置情報を特定する（Ｓ４）。その後、本処理は終了する。
【０１２５】
ここで、図９のフローチャートにおいて、端末ビーコン送信処理（Ｓ１）および位置情報特定処理（Ｓ４）は、所定周期毎に実行される処理であり、位置情報送信処理（Ｓ３）および位置情報要求処理（Ｓ２）については、必要に応じて実行される処理である。図９のフローチャートでは、説明の便宜上、ゲーム装置１Ｂが端末ビーコン送信処理（Ｓ１）を実行した後に位置情報送信処理（Ｓ３）を実行し、更に、位置情報特定処理（Ｓ４）の前に位置情報要求処理（Ｓ２）が実行されている例を示しているが、必ずしも、当該位置情報送信処理（Ｓ３）が端末ビーコン送信処理（Ｓ１）の実行後に常に実行される必要はない。同様に、位置情報要求処理（Ｓ２）についても、位置情報特定処理（Ｓ４）の実行前に必ず実行される必要はない。位置情報送信処理（Ｓ３）は、ゲーム装置１Ａからの通信要求があった場合にのみ実行されればよく、位置情報要求処理（Ｓ２）は、ゲーム装置１Ａがゲーム装置１Ｂからの端末ビーコンフレームを受信した場合にのみ実行されればよい。
【０１２６】
なお、本実施形態において、複数のゲーム装置１の間で位置情報を送受信することができるのは、「すれ違い通信」によってのみである。従って、位置情報を配信するゲーム装置１と位置情報を取得するゲーム装置１との双方が「すれ違い通信モード」に設定されている場合に限って、ゲーム装置１Ａ、ゲーム装置１Ｂが上記ステップＳ１〜Ｓ３で示す処理を実行する。
【０１２７】
以下、図７Ａ、図８Ａ、図８Ｂ及び図１０を用いて、上記端末ビーコン送信処理を説明する。
【０１２８】
図１０は、図９のステップＳ１における端末ビーコン処理の一例を示すフローチャートである。本端末ビーコン処理は、ゲーム装置１ＢのＣＰＵ３１Ｂによって所定周期毎に（例えば、３ｓｅｃ毎に）実行される。
【０１２９】
まず、ＣＰＵ３１Ｂは、データ記憶領域３２６（図６を参照）を参照して、特定位置データＤ８が記憶されているかどうかを判断する（Ｓ１１）。特定位置データＤ８が記憶されていなければ（Ｓ１１でＮＯ）、ＣＰＵ３１Ｂは本サブルーチンの処理を終了し、特定位置データＤ８が記憶されていれば（Ｓ１１でＹＥＳ）、ＣＰＵ３１Ｂは通信範囲に他端末があるかどうかを判断する（Ｓ１２）。この判断は、周囲の電波強度を測定することで行われる。
【０１３０】
通信範囲に他端末がないと判断した場合には（Ｓ１２でＮＯ）、ＣＰＵ３１Ｂは本サブルーチンの処理を終了する。通信範囲に他端末があると判断した場合には（Ｓ１２でＹＥＳ）、ＣＰＵ３１Ｂは、自機の記憶する特定位置データＤ８を参照し（Ｓ１３）、この特定位置データの経過時間情報を取得する（Ｓ１４）。そして、ＣＰＵ３１Ｂは図７Ａで示す端末ビーコンフレームＤ１を生成する（Ｓ１５）。端末ビーコンフレームＤ１の送信元ＭＡＣアドレスには自機のＭＡＣアドレスが記述される。なお、ＭＡＣアドレスは無線通信モジュール３７に記憶されている。また、端末ビーコンフレームＤ１の経過時間情報には、ステップＳ１４で読み出した経過時間情報が記述される。
【０１３１】
ＣＰＵ３１Ｂは、生成した端末ビーコンフレームＤ１をブロードキャストで送信する（Ｓ１６）。この後、ＣＰＵ３１Ｂは、本サブルーチンの処理を終了する。
【０１３２】
以下に、図７Ａ〜図７Ｅ、図８Ａ、図８Ｂ及び図１１Ａを用いて位置情報要求処理を説明する。図１１Ａは、図９のステップＳ２における位置情報要求処理の一例を示すフローチャートである。本位置情報要求処理は、ゲーム装置１ＡのＣＰＵ３１Ａによって所定周期毎（例えば、３ｓｅｃ毎）に実行される。
【０１３３】
まず、ＣＰＵ３１Ａは、端末ビーコンフレームＤ１を受信したかどうかを判断する（Ｓ２１）。この判断は、例えば、受信フレーム記憶領域３２４（図６を参照）に端末ビーコンフレームＤ１が記憶されているかどうかでなされる。端末ビーコンフレームＤ１を受信しなかったと判断した場合には（Ｓ２１でＮＯ）、ＣＰＵ３１Ａは本サブルーチンの処理を終了させる。端末ビーコンフレームＤ１を受信したと判断した場合には（Ｓ２１でＹＥＳ）、ＣＰＵ３１Ａは、データ記憶領域３２６（図６を参照）に記憶される特定位置データＤ８を参照し、このデータの経過時間情報を取得する（Ｓ２２）。
【０１３４】
ＣＰＵ３１Ａは、読み出した経過時間情報と端末ビーコンフレームＤ１に含まれる経過時間情報を比較する（Ｓ２３）。例えば、ＣＰＵ３１Ａは、両経過時間情報に含まれる有効時間情報、すなわち、カウンタ値を比較する。他の例として、ＣＰＵ３１Ａは、両経過時間情報に含まれる取得時間情報を比較してもよい。
【０１３５】
両経過情報を比較した結果、自機の記憶する特定位置データの方が他のゲーム装置１Ｂの記憶する特定位置データよりも取得してから新しくなければ（Ｓ２４でＹＥＳ）、ＣＰＵ３１Ａは、ステップＳ２５の処理を実行する。例えば、端末ビーコンフレームＤ１に含まれるカウンタ値よりも自機の記憶する特定位置データに含まれるカウンタ値の方が大きければ、ステップＳ２５の処理を実行する。他の例では、端末ビーコンフレームＤ１に含まれる取得時間情報よりも自機の記憶する特定位置データに含まれる取得時間情報の方が新しくなければ、ステップＳ２５の処理を実行する。一方、自機の記憶する特定位置データの方が他のゲーム装置１Ｂの記憶する特定位置データよりも取得してから新しい、又は同じであれば（Ｓ２４でＮＯ）、ＣＰＵ３１Ａは本サブルーチンを終了させる。
【０１３６】
ステップＳ２５では、ＣＰＵ３１Ａは、図７Ｄに示す通信要求フレームＤ４を生成して、端末ビーコンフレームＤ１の送信元のゲーム装置１Ｂに送信する。この通信要求フレームＤ４の送信元ＭＡＣアドレスには、自機のＭＡＣアドレスが記述され、宛先ＭＡＣアドレスには、端末ビーコンフレームＤ１に含まれる送信元ＭＡＣアドレスが記述される。
【０１３７】
詳しくは後述するが、通信要求フレームＤ４を受信したゲーム装置１Ｂは、通信要求フレームＤ４に応えて通信許可フレームＤ２をゲーム装置１Ａに宛てて送信する。
【０１３８】
ＣＰＵ３１Ａは、通信許可フレームＤ２を受信したかどうかを受信するまで所定周期毎に繰り返し判断する（Ｓ２６）。この判断は、受信フレーム記憶領域３２４（図６を参照）に通信許可フレームＤ２が記憶されているかどうかで行われる。ＣＰＵ３１Ａは、受信した通信許可フレームＤ２に含まれる結果情報を参照し、ゲーム装置１Ｂとの間の通信が許可されているかどうかを判断する（Ｓ２７）。
【０１３９】
ゲーム装置１Ｂとの間の通信が許可されていない場合には（Ｓ２７でＮＯ）、ＣＰＵ３１Ａは本サブルーチンを終了させる。ゲーム装置１Ｂとの間の通信が許可されている場合には（Ｓ２７でＹＥＳ）、ＣＰＵ３１Ａは通信許可フレームＤ２の送信元であるゲーム装置１Ｂを通信相手として登録し、このゲーム装置１Ｂとの接続を確立する（Ｓ２８）。そして、ＣＰＵ３１Ａは、図７Ｅで示す位置情報要求フレームＤ５を生成してゲーム装置１Ｂに送信する（Ｓ２９）。位置情報要求フレームの宛先ＭＡＣアドレスには、通信相手となったゲーム装置１ＢのＭＡＣアドレスが記述され、送信元ＭＡＣアドレスには自機のＭＡＣアドレスが記述される。
【０１４０】
詳しくは後述するが、位置情報要求フレームＤ５を受信したゲーム装置１Ｂは、位置情報要求フレームＤ５に応えて位置情報フレームＤ３をゲーム装置１Ａに宛てて送信する。
【０１４１】
ＣＰＵ３１Ａは、位置情報フレームＤ３を受信したかどうかを受信するまで所定周期毎に繰り返し判断する（Ｓ３０）。この判断は、受信フレーム記憶領域３２４（図６を参照）に位置情報フレームＤ３が記憶されているかどうかで行われる。位置情報フレームＤ３を受信した後に、ＣＰＵ３１Ａは、ゲーム装置１Ｂとの間のコネクションを開放するための処理を行う（Ｓ３１）。この後、ＣＰＵ３１Ａは、本サブルーチンの処理を終了する。
【０１４２】
以下、図７Ａ〜図７Ｅ、図８Ａ、図８Ｂ及び図１１Ｂを用いて位置情報送信処理を説明する。図１１Ｂは、図９のステップＳ３における位置情報送信処理の一例を示すフローチャートである。本位置情報送信処理は、通信要求フレームＤ４を受信したときにゲーム装置１ＢのＣＰＵ３１Ｂによって実行される。この通信要求フレームＤ４は上記ステップＳ２５によってゲーム装置１Ａから送信される。
【０１４３】
まず、ＣＰＵ３１Ｂは、ゲーム装置１Ａとの間の通信を許可するか否かを判断する。そして、ＣＰＵ３１Ｂは、この判断結果を示す結果情報を含めた通信許可フレームＤ２（図７Ｂを参照）を生成し、通信要求フレームＤ４の送信元であるゲーム装置１Ａに対して送信する（Ｓ３２）。通信許可フレームＤ２の宛先ＭＡＣアドレスには通信要求フレームＤ４の送信元であるゲーム装置１ＡのＭＡＣアドレスが記述される。送信元ＭＡＣアドレスには自機のＭＡＣアドレスが記述される。
【０１４４】
ゲーム装置１Ａとの間の通信を許可しない場合には（Ｓ３３でＮＯ）、ＣＰＵ３１Ｂは本サブルーチンの処理を終了する。ゲーム装置１Ａとの間の通信を許可する場合には（Ｓ３３でＹＥＳ）、ＣＰＵ３１Ｂは通信要求フレームＤ４の送信元のゲーム装置１Ａを通信相手として登録し、通信を確立する（Ｓ３４）。上述したように、通信許可フレームＤ２を受信したゲーム装置１Ａは、上記ステップＳ２９において位置情報要求フレームＤ５をゲーム装置１Ｂに宛てて送信する。ＣＰＵ３１Ｂは、位置情報要求フレームＤ５を受信したかどうかを受信するまで所定周期毎に繰り返し判断する（Ｓ３５）。この判断は、受信フレーム記憶領域３２２に（図６を参照）位置情報要求フレームＤ５が記憶されているかどうかで行われる。
位置情報要求フレームＤ５を受信した場合に（Ｓ３５でＹＥＳ）、ＣＰＵ３１Ｂは、データ記憶領域３２６（図６を参照）を参照して、図８Ａ、図８Ｂで示すような位置データＤ７を読み出す（Ｓ３６）。ＣＰＵ３１Ｂは、読み出した位置データＤ７に含まれる位置情報、ＡＰ識別情報及び経過時間情報を含めて図７Ｃで示す位置情報フレームＤ３を生成し、ゲーム装置１Ａに対して送信する（Ｓ３７）。位置情報フレームＤ３の宛先ＭＡＣアドレスは、ゲーム装置１ＡのＭＡＣアドレスであり、送信元ＭＡＣアドレスは自機（ゲーム装置１Ｂ）のＭＡＣアドレスである。なお、位置情報フレームＤ３には位置データＤ７に含まれる経過時間情報が含まれるため、経過時間情報に含まれるカウンタ値が、ゲーム装置１Ｂからゲーム装置１Ａに引き継がれることになる。
【０１４５】
この後、ＣＰＵ３１Ｂは、ゲーム装置１Ａとの間でコネクションを開放するための処理を行う（Ｓ３８）。
【０１４６】
以下、図８Ａ〜図８Ｄ、図１２及び図１３を用いて位置情報特定処理を説明する。図１２は、図９のステップＳ４における位置情報特定処理の一例を示すフローチャート（その１）である。図１３は、図９のステップＳ４における位置情報特定処理の一例を示すフローチャート（その２）である。本位置情報特定処理は、ゲーム装置１ＡのＣＰＵ３１Ａによって所定周期毎（例えば、３ｓｅｃ毎）に実行される。
【０１４７】
図１２を参照して、まず、ＣＰＵ３１Ａは、位置情報フレームＤ３かＡＰビーコンフレームＤ６を受信したかどうかを判断する（Ｓ４１）。位置情報フレームＤ３の受信があったかどうかの判断は、受信フレーム記憶領域３２４（図６を参照）に位置情報フレームＤ３が記憶されているかで行われる。ＡＰビーコンフレームＤ６の受信があったかどうかの判断は、受信フレーム記憶領域３２５（図６を参照）にＡＰビーコンフレームＤ６が記憶されているかどうかで行われる。
【０１４８】
位置情報フレームＤ３かＡＰビーコンフレームＤ６を受信していないと判断した場合には（Ｓ４１でＮＯ）、ＣＰＵ３１ＡはステップＳ５１の処理を実行する。位置情報フレームＤ３かＡＰビーコンフレームＤ６を受信したと判断した場合には（Ｓ４１でＹＥＳ）、ＣＰＵ３１Ａは、受信したフレームＤ３、Ｄ６の送信元の種別を判断する（Ｓ４２）。この送信元の種別とは、高信頼性アクセスポイント２Ａ、低信頼性アクセスポイント２Ｂ、他のゲーム装置１Ｂの何れかの種別である。
【０１４９】
位置情報フレームＤ３を受信した場合には、送信元の種別は他のゲーム装置１Ｂであると識別される。ＡＰビーコンフレームＤ６を受信した場合には、このＡＰビーコンフレームＤ６を送信したアクセスポイント２が高信頼性アクセスポイント２Ａか低信頼性アクセスポイント２Ｂかを識別する。この識別は次のような方法で行う。ＣＰＵ３１Ａは、受信したＡＰビーコンフレームＤ６に含まれるＥＳＳＩＤで図８Ｄに示すＡＰ識別テーブルＴ２を検索する。この結果、ＥＳＳＩＤに対応するＡＰ識別情報が「高信頼性アクセスポイント」を示す場合には、ＡＰビーコンフレームＤ６の送信元の種別が高信頼性アクセスポイント２Ａとされる。一方、ＥＳＳＩＤに対応するＡＰ識別情報が「低信頼性アクセスポイント」を示す場合には、ＡＰビーコンフレームＤ６の送信元の種別が低信頼性アクセスポイント２Ｂとされる。
【０１５０】
次に、ＣＰＵ３１ＡはフレームＤ３、Ｄ６の送信元の種別が高信頼性アクセスポイント２Ａであるかどうかを判断する（Ｓ４３）。フレームＤ３、Ｄ６の送信元の種別が高信頼性アクセスポイント２Ａであると判断した場合には（Ｓ４３でＹＥＳ）、ＣＰＵ３１Ａは図８Ａで示す位置データＤ７（ＡＰ位置データＤ７ａ）を生成してデータ記憶領域３２６（図６を参照）に記憶させる（Ｓ４４）。なお、データ記憶領域３２６に空きがない場合には、既に記憶されている位置データＤ７のうち最もカウンタ値の大きい位置データＤ７すなわち最も古い位置データＤ７を削除して、新たに生成した位置データＤ７を記憶すればよい。
【０１５１】
ＡＰ位置データＤ７ａの生成方法を詳細に述べると、まず、ＣＰＵ３１ＡはＡＰビーコンフレームＤ６に含まれるＢＳＳＩＤで位置情報テーブルＴ１（図８Ｃを参照）を検索し、このＢＳＳＩＤに対応する位置情報を取得する。更に、ＣＰＵ３１Ａは、ＡＰビーコンフレームＤ６に含まれるＥＳＳＩＤでＡＰ識別情報テーブルＴ２（図８Ｄを参照）を検索し、このＥＳＳＩＤに対応するＡＰ識別情報を取得する。そして、ＣＰＵ３１Ａは、取得した位置情報及びＡＰ識別情報を含めてＡＰ位置データＤ７ａを生成する。
【０１５２】
なお、ＡＰ位置データＤ７ａは経過時間情報も含めて生成されるが、この経過時間情報は有効時間情報と取得時間情報からなる。有効時間情報は、カウンタ値であり後述するステップＳ５９の実行毎に１ずつ加算される。従って、カウンタ値が大きい程、位置情報をアクセスポイント２から取得してから時間が経っており、有効時間が残り少ないことを示す。また、取得時間情報は、アクセスポイント２から位置情報を取得した時間、すなわちＡＰビーコンフレームＤ６から位置情報を取得した時間を示す。ＣＰＵ３１Ａは、カウンタ値を初期値（０）にするとともに、取得時間情報を現在時刻にしてＡＰ位置データＤ７ａを生成する。
【０１５３】
次に、ＣＰＵ３１Ａは、データ記憶領域３２６を参照して他ゲーム装置１Ｂから取得した位置情報（端末位置データＤ７ｂに含まれる）又は低信頼性アクセスポイント２Ｂから取得した位置情報（ＡＰ位置データＤ７ａに含まれる）が記憶されているかどうかを判断する（Ｓ４５）。他のゲーム装置１Ｂから取得した位置情報又は低信頼アクセスポイント２Ｂから取得した位置情報が記憶されていないと判断した場合には（Ｓ４５でＮＯ）、ＣＰＵ３１ＡはステップＳ５１に処理を進める。
【０１５４】
一方、他のゲーム装置１Ｂから取得した位置情報又は低信頼アクセスポイント２Ｂから取得した位置情報が記憶されていると判断した場合には（Ｓ４５でＹＥＳ）、ＣＰＵ３１Ａはこれらの位置情報を含む位置データＤ７をデータ記憶領域３２６から削除する（Ｓ４６）。この理由は、高信頼性アクセスポイント２Ａから位置情報を取得することができた場合には、低信頼性アクセスポイント２Ｂから取得した位置情報や他のゲーム装置１Ｂから取得した位置情報、すなわち、信頼性の低い位置情報を不要であるためである。なお、本実施形態においては、高信頼性アクセスポイント２Ａから提供された位置情報のデータ記憶領域３２６からの削除を行わないが、このデータを削除してもよい。これによって、ステップＳ４４で生成されたＡＰ位置データＤ７ａの位置情報よりも古い位置情報をデータ記憶領域３２６からの削除することができる。ステップＳ４６の実行後、ＣＰＵ３１ＡはステップＳ５１に処理を進める。
【０１５５】
以下に、ステップＳ４３でＮＯと判断された場合、すなわち、フレームＤ３、Ｄ６の送信元の種別が高信頼性アクセスポイント２Ａでないと判断した場合について説明する。
【０１５６】
この場合には、ＣＰＵ３１ＡはフレームＤ３、Ｄ６の送信元の種別が他のゲーム装置１Ｂであるかどうかを判断する（Ｓ４７）。フレームＤ３、Ｄ６の送信元の種別が他のゲーム装置１Ｂであると判断した場合（Ｓ４７でＹＥＳ）、ＣＰＵ３１Ａは図８Ｂで示す位置データＤ７（端末位置データＤ７ｂ）を生成し（Ｓ４８）、データ記憶領域３２６（図６を参照）に記憶させる。なお、データ記憶領域３２６に空きがない場合についての処理は、ステップＳ４４において説明した方法と同様であるので説明を省略する。
【０１５７】
端末位置データＤ７ｂの生成方法を詳細に述べると、まず、ＣＰＵ３１Ａは、位置情報フレームに含まれる位置情報、ＡＰ識別情報及び経過時間情報を含めて端末位置データＤ７ｂを生成する。また、この端末位置データＤ７ｂは他ゲーム装置由来情報も含めて生成される。ステップＳ４８の実行後、ＣＰＵ３１ＡはステップＳ５１に処理を進める。
【０１５８】
以下に、ステップＳ４７でＮＯと判断された場合、すなわち、フレームＤ３、Ｄ６の送信元の種別が他のゲーム装置１Ｂでないと判断した場合について説明する。
【０１５９】
この場合には、ＣＰＵ３１ＡはフレームＤ３、Ｄ６の送信元の種別が低信頼性アクセスポイント２Ｂであるかどうかを判断する（Ｓ４９）。フレームＤ３、Ｄ６の送信元の種別が低信頼性アクセスポイント２Ｂであると判断した場合には（Ｓ４９でＹＥＳ）、ＣＰＵ３１Ａは位置データＤ７（ＡＰ位置データＤ７ａ）を生成してデータ記憶領域３２６（図６を参照）に記憶させる（Ｓ５０）。このＡＰ位置データＤ７ａの生成方法については、ステップＳ４４において説明した方法と同様であるので説明を省略する。この後、ＣＰＵ３１ＡはステップＳ５１に処理を進める。なお、データ記憶領域３２６に空きがない場合の処理についても、ステップＳ４４において説明した方法と同様であるので説明を省略する。
【０１６０】
一方、フレームＤ３、Ｄ６の送信元の種別が低信頼性アクセスポイント２Ｂでないと判断した場合には（Ｓ４９でＮＯ）、ＣＰＵ３１Ａは位置情報を記憶せずにステップＳ５１に処理を進める。なお、この場合は、例えば、ＡＰ識別情報テーブルＴ２にＥＳＳＩＤが登録されていないフレームＤ３、Ｄ６を受信した場合等である。
【０１６１】
図８Ａ〜図８Ｄ及び図１３を参照して、ステップＳ５１以降の位置情報特定処理を説明する。ステップＳ４１〜Ｓ５０までの処理は、フレームＤ３、Ｄ７に基づいて位置情報を取得してデータ記憶領域３２６に記憶させるための処理であるが、ステップＳ５１〜Ｓ５８までの処理は、記憶されている位置情報の何れかを自機の現在位置を示す位置情報であるとして特定するための処理である。
【０１６２】
ステップＳ５１では、ＣＰＵ３１Ａは、データ記憶領域３２６を参照し、高信頼性アクセスポイント２Ａから取得された位置情報を含む位置データＤ７が記憶されているかを判断する。この判断は、例えば位置データＤ７に含まれるＡＰ識別情報が「高信頼性アクセスポイント」の信頼性ランクを示すかどうかで行われる。
【０１６３】
高信頼性アクセスポイント２Ａから取得された位置情報を含む位置データＤ７が記憶されている場合には（Ｓ５１でＹＥＳ）、ＣＰＵ３１Ａは、この位置データＤ７を自機の現在位置を示す特定位置データＤ８としてデータ記憶領域３２６に記憶されている特定位置データＤ８を更新する（Ｓ５２）。なお、高信頼性アクセスポイント２Ａから取得された位置情報を含む位置データＤ７が複数記憶されている場合には、ＣＰＵ３１Ａは、これらの複数の位置データＤ７に含まれる有効時間情報（カウンタ値）を参照し、このカウンタ値が最も小さい位置データＤ７すなわち最も新しい位置データＤ７を選択して特定位置データＤ８と決定する。この後、ＣＰＵ３１Ａは、続くステップＳ５９に処理を進める。
【０１６４】
一方、高信頼性アクセスポイント２Ａから取得された位置情報を含む位置データＤ７が記憶されていない場合には（Ｓ５１でＮＯ）、ＣＰＵ３１Ａは、データ記憶領域３２６を参照し、他のゲーム装置１Ｂから取得された位置情報を含む位置データＤ７（端末位置データＤ７ｂ）が記憶されているかを判断する（Ｓ５３）。この判断は、例えば位置データＤ７に他のゲーム装置由来情報（図８Ｂを参照）が含まれるかどうかで行われる。端末位置データＤ７ｂが記憶されている場合には（Ｓ５３でＹＥＳ）、この端末位置データＤ７ｂであって、同じアクセスポイント２を提供源（由来）とする位置情報を含む端末位置データＤ７ｂが所定数以上（例えば複数）記憶されているかどうかをＣＰＵ３１Ａは判断する（Ｓ５４）。
【０１６５】
端末位置データＤ７ｂはゲーム装置１Ｂから受信した位置情報を含むが、この位置情報を最初にゲーム装置１Ｂに提供するのはアクセスポイント２である。位置情報は、最初にアクセスポイント２から他のゲーム装置１Ｂに提供され、このゲーム装置１Ｂから更に別のゲーム装置１Ｂを経由して若しくは直接にゲーム装置１Ａに配信される。この最初に提供した（提供源となる）アクセスポイント２が同一である位置情報が所定数以上記憶されているかどうかがステップＳ５４で判断されるのである。この判断は、同一のＡＰ識別情報と位置情報を含む端末位置データＤ７ｂがデータ記憶領域３２６に所定数以上記憶されているかどうかで行われる。提供源となるアクセスポイント２が同一であれば、位置データに含まれるＡＰ識別情報と位置情報は同一となるはずだからである。
【０１６６】
なお、本実施形態では、ステップＳ５４で、同一のＡＰ識別情報と位置情報を含む端末位置データＤ７ｂが所定数以上記憶されているかを判断しているが、同一のＡＰ識別情報については判断せず、同一の位置情報を含むかどうかのみを判断してもよい。
【０１６７】
同じアクセスポイント２を提供源とする位置情報を含む端末位置データＤ７ｂが所定数以上記憶されていると判断した場合には（Ｓ５４でＹＥＳ）、ＣＰＵ３１Ａは、これらの端末位置データＤ７ｂの何れかを自機の現在位置を示す位置情報として特定し、この端末位置データＤ７ｂを特定位置データＤ８としてデータ記憶領域３２６に記憶されている特定位置データＤ８を更新する（Ｓ５５）。なお、同じアクセスポイント２を提供源とする位置情報を含む端末位置データＤ７ｂは複数記憶されているが、ＣＰＵ３１Ａは、これらの複数の端末位置データＤ７ｂに含まれる有効時間情報（カウンタ値）を参照し、このカウンタ値が最も小さい端末位置データＤ７ｂを選択して特定位置データＤ８と決定する。この後、ＣＰＵ３１Ａは、続くステップＳ５９に処理を進める。
【０１６８】
次に、端末位置データＤ７ｂが記憶されていないと判断された場合（Ｓ５３でＮＯ）、及び同じアクセスポイント２を提供源とする位置情報を含む端末位置データＤ７ｂが所定数以上記憶されていないと判断した場合（Ｓ５４でＮＯ）の処理を説明する。この場合には、ＣＰＵ３１ＡはステップＳ５６を実行する。
【０１６９】
ステップＳ５６では、ＣＰＵ３１Ａは、データ記憶領域３２６を参照し、低信頼性アクセスポイント２Ｂから提供された位置情報を含む位置データＤ７が記憶されているかを判断する（Ｓ５６）。低信頼性アクセスポイント２Ｂから提供された位置情報を含む位置データＤ７が記憶されていないと判断した場合には（Ｓ５６でＮＯ）、ＣＰＵ３１Ａは続くステップＳ５９の処理を進める。一方、低信頼性アクセスポイント２Ｂから提供された位置情報を含む位置データＤ７が記憶されていると判断した場合には（Ｓ５６でＹＥＳ）、この位置データＤ７であって、かつ同じアクセスポイント２から提供された位置情報を含む位置データＤ７が所定数以上（例えば複数）記憶されているかどうかをＣＰＵ３１Ａは判断する（Ｓ５７）。なお、同一の位置情報が含まれているかどうかで、同じアクセスポイント２から提供された位置情報を含む位置データＤ７であるかどうかが判断される。
【０１７０】
同じアクセスポイント２から受信した位置情報を含む位置データＤ７が所定数以上（例えば複数）記憶されていると判断した場合には（Ｓ５７でＹＥＳ）、ＣＰＵ３１Ａはこれらの位置データＤ７のうち何れかを自機の現在位置を示す特定位置データＤ８としてデータ記憶領域３２６に記憶されている特定位置データＤ８を更新する（Ｓ５８）。なお、同じアクセスポイント２を提供源とする位置情報を含む位置データＤ７が複数記憶されている場合、ＣＰＵ３１Ａは、これらの複数の位置データＤ７に含まれる有効時間情報（カウンタ値）を参照し、このカウンタ値が最も小さい位置データＤ７を選択して特定位置データＤ８と決定する。この後、ＣＰＵ３１Ａは、続くステップＳ５９に処理を進める。
【０１７１】
なお、低信頼性アクセスポイント２Ｂから取得された位置情報を含む位置データＤ７が記憶されていないと判断された場合（Ｓ５６でＮＯ）、及び同じアクセスポイント２を提供源とする位置情報を含む位置データＤ７が所定数以上記憶されていないと判断された場合（Ｓ５７でＮＯ）には、ＣＰＵ３１Ａは特定位置データＤ８を更新するための処理を行わずステップＳ５９を実行する。
【０１７２】
上述したように、本実施形態では、上記ステップＳ５１〜Ｓ５８によって、信頼性が高い（誤っている可能性が低い）と推定される位置データＤ７を優先的に使用して特定位置データＤ８を決定することができ、自機の現在位置を示す特定位置情報を正確性の高いものとすることができる。なお、本実施形態では、信頼性の高さで設定された優先順位は、高信頼性アクセスポイントから提供された位置情報、他のゲーム装置１Ｂから提供された位置情報、低信頼性アクセスポイントの位置情報の順になる。
【０１７３】
また、他のゲーム装置１Ｂから取得した位置情報や、低信頼性アクセスポイント２Ｂから取得した位置情報を用いて特定位置情報を決定する場合には、同じアクセスポイント２を提供源とする複数の位置情報を用いて位置情報が特定される。これによって、高信頼性アクセスポイント２Ａから取得した位置情報よりも信頼性が高くない位置情報を使用した場合であっても、自機の現在位置を示す特定位置情報を正確性の高いものとすることができる。なお、上述したように、本実施形態では、同じアクセスポイント２を提供源とする複数の位置情報を用いて位置情報を特定することができない状態であれば、特定位置情報の特定が行われないことになる。
【０１７４】
次に、ステップＳ５９の処理を説明する。この処理は、位置情報をアクセスポイント２から取得してからの新しさを管理するための処理である。ステップＳ５９では、ＣＰＵ３１Ａは、データ記憶領域３２６に記憶されている全ての位置データＤ７及び特定位置データＤ８の有効期間情報（カウンタ値）に所定値（例えば１）を加算する。これによって、ステップＳ５９を実行する毎にカウンタ値が所定値だけ増加していくことになり、カウンタ値の大きさで位置情報の有効時間を管理することができる。カウンタ値が大きくなる程、位置情報はアクセスポイント２から取得してから古いものとなる。
【０１７５】
この後、ＣＰＵ３１Ａは、データ記憶領域３２６に記憶されている全ての位置データＤ７のカウンタ値を参照し、カウンタ値が一定値（例えば、６００）になった位置データＤ７を消去（無効化）する（Ｓ６０）。これによって、取得してからの経過時間が長くなり、有効時間が残り少なくなった位置データＤ７を破棄することができ、古い位置データＤ７を使用して特定位置データＤ８を更新することで不正確な現在位置を示す位置情報を特定してしまうことが防止される。ゲーム装置１Ａは携帯型の装置でありユーザに携帯されて移動するため、取得してからの経過時間が長くなった位置情報はゲーム装置１Ａの現在位置とは異なる位置を示す可能性が高いと推定されるからである。
【０１７６】
この後、ＣＰＵ３１Ａは本サブルーチンの処理を終了する。なお、図９〜図１３は、本ゲーム装置１Ａが、他のゲーム装置１Ｂから位置情報を取得し、この取得した位置情報やアクセスポイント２から提供された位置情報から自機の現在位置を示す特定位置情報を決定する場合についての処理を示すが、ゲーム装置１Ａが他のゲーム装置１Ｂに位置情報を配信する場合には、ゲーム装置１Ａはゲーム装置１Ｂの処理として説明した処理（端末ビーコン送信処理及び位置情報送信処理）を実行することになる。
【０１７７】
上述したように、本実施形態では、ゲーム装置１Ａがアクセスポイント２の通信範囲外にある場合にも、他のゲーム装置１Ｂとの無線通信によってゲーム装置１Ａに位置情報を提供することができる。これによって、位置情報の提供を受けることができる範囲を、ゲーム装置１Ａがアクセスポイント２の電波到達圏内に位置する場合といった限られた範囲だけでなく、他のゲーム装置１Ｂとの通信可能圏内に位置する範囲まで広げることができる。また、ゲーム装置１Ａが通信可能な他のゲーム装置１Ｂの台数は装置の普及にともなって増加するため、装置の普及にともなってゲーム装置１Ａが位置情報の提供を受けることができる範囲を更に広げることができる。
【０１７８】
また、他のゲーム装置１Ｂは、このゲーム装置１Ｂのユーザの移動にともなって移動し、固定的に配置されるものではない。このため、ゲーム装置１Ａが位置情報を取得することができる領域は流動的に変わることになり、ゲーム装置１Ａに位置情報を提供することができる状況を変化に富んだものとすることができる。
【０１７９】
（第２の実施形態）
以下に、図１２及び図１４を用いて本発明の第２の実施形態にかかる位置情報提供システムを説明する。第２の実施形態にかかる位置情報提供システムを第１の実施形態にかかる位置情報提供システム１００と区別するために、位置情報提供システム１００Ａと記載する。位置情報提供システム１００Ａでは、位置情報特定処理のみが第１の実施形態と異なり、その他については第１の実施形態と同様である。このため、以下に第２の実施形態にかかる位置情報特定処理についてのみ説明し、その他の事項については説明を省略する。
【０１８０】
第２の実施形態の位置情報特定処理においては、他のゲーム装置１Ｂから取得した位置情報について、この位置情報の提供源となるアクセスポイント２の信頼性のランク（高信頼性アクセスポイント、低信頼性アクセスポイント）に応じて優先順位が設けられることが特徴である。この優先順位を加味すると、第２の実施形態での位置情報の優先順位は、次のようになる。
（ｉ）高信頼性アクセスポイント２Ａから提供された位置情報
（ii）他のゲーム装置１Ｂから取得した位置情報であって、高信頼性アクセスポイント２Ａが提供源である位置情報
（iii）低信頼性アクセスポイント２Ｂから提供された位置情報
（iv）他のゲーム装置１Ｂから取得した位置情報であって、低信頼性アクセスポイント２Ｂが提供源である位置情報
【０１８１】
以下に、第２の実施形態にかかる位置情報特定処理を説明する。第２の実施形態にかかる位置情報特定処理では、ステップＳ４１〜Ｓ５０までについては図１２を用いて第１の実施形態において説明した処理と同一であるため説明を省略する。続くステップＳ５１以降の処理について図１４を参照して説明する。
【０１８２】
図１４は、第２の実施形態にかかる位置情報特定処理を示すフローチャートである。本フローチャートにおいて、第１の実施形態と同一の処理を実行するステップについては同一の符号を付し、異なった処理を実行するステップについては異なった符号を付す。そして、第１の実施形態と異なる処理についてのみ説明し、同一の処理については説明を省略する。
【０１８３】
Ｓ５１でＮＯ、すなわち、高信頼性アクセスポイント２Ａから取得された位置情報を含む位置データＤ７が記憶されていない場合には、ゲーム装置１ＡのＣＰＵ３１Ａは、データ記憶領域３２６を参照し、他のゲーム装置１Ｂから取得され、かつ高信頼性アクセスポイント２Ａが提供源である位置情報を含む位置データＤ７（端末位置データＤ７ｂ）が記憶されているかを判断する（Ｓ７１）。
【０１８４】
他のゲーム装置１Ｂから取得され、かつ高信頼性アクセスポイント２Ａが提供源である位置情報を含む位置データＤ７（端末位置データＤ７ｂ）が記憶されている場合には（Ｓ７１でＹＥＳ）、ＣＰＵ３１Ａは、この位置データＤ７を特定位置データＤ８としてデータ記憶領域３２６に記憶されている特定位置データＤ８を更新する（Ｓ７２）。なお、他のゲーム装置１Ｂから取得され、かつ高信頼性アクセスポイント２Ａが提供源である位置情報を含む端末位置データＤ７ｂが複数記憶されている場合には、ＣＰＵ３１Ａは、これらの複数の端末位置データＤ７ｂに含まれる有効時間情報（カウンタ値）を参照し、このカウンタ値が最も小さいすなわち新しい端末位置データＤ７ｂを選択して特定位置データＤ８と決定する。この後、ＣＰＵ３１Ａは、続くステップＳ５９を実行する。
【０１８５】
一方、他のゲーム装置１Ｂから取得され、かつ高信頼性アクセスポイント２Ａが提供源である位置情報を含む位置データＤ７（端末位置データＤ７ｂ）が記憶されていない場合には（Ｓ７１でＮＯ）、ＣＰＵ３１Ａは低信頼性アクセスポイント２Ｂから提供された位置情報を含む位置データＤ７が記憶されているかを判断する（Ｓ７３）。低信頼性アクセスポイント２Ｂから提供された位置情報を含む位置データＤ７が記憶されている場合には（Ｓ７３でＹＥＳ）、ＣＰＵ３１Ａは、この位置データＤ７を特定位置データＤ８としてデータ記憶領域３２６に記憶されている特定位置データＤ８を更新する（Ｓ７４）。なお、低信頼性アクセスポイント２Ｂから提供された位置情報を含む端末位置データＤ７ｂが複数記憶されている場合の処理については、ステップＳ７２において上述した処理と同様である。この後、ＣＰＵ３１Ａは、続くステップＳ５９を実行する。
【０１８６】
また、低信頼性アクセスポイント２Ｂから取得された位置情報を含む位置データＤ７が記憶されていない場合には（Ｓ７３でＮＯ）、ＣＰＵ３１Ａは、他のゲーム装置１Ｂから取得され、かつ低信頼性アクセスポイント２Ｂが提供源である位置情報を含む位置データＤ７（端末位置データＤ７ｂ）が記憶されているかどうかを判断する（Ｓ７５）。他のゲーム装置１Ｂから取得され、かつ低信頼性アクセスポイント２Ｂが提供源である位置情報を含む端末位置データＤ７ｂが記憶されている場合には（Ｓ７５でＹＥＳ）、ＣＰＵ３１Ａは、この位置データＤ７を特定位置データＤ８としてデータ記憶領域３２６に記憶されている特定位置データＤ８を更新する（Ｓ７６）。なお、他のゲーム装置１Ｂから取得され、かつ低信頼性アクセスポイント２Ｂが提供源である位置情報を含む端末位置データＤ７ｂが複数記憶されている場合の処理については、ステップＳ７２において上述した処理と同様である。この後、ＣＰＵ３１Ａは、続くステップＳ５９を実行する。
【０１８７】
他のゲーム装置１Ｂから取得され、かつ低信頼性アクセスポイント２Ｂが提供源である位置情報を含む位置データＤ７（端末位置データＤ７ｂ）が記憶されていない場合には（Ｓ７５でＮＯ）、ＣＰＵ３１Ａは特定位置データＤ８を更新するための処理を行わずステップＳ５９を実行する。
【０１８８】
上述したように、第２の実施形態では、他のゲーム装置１Ｂから取得した位置情報について、この位置情報の提供源となるアクセスポイント２の信頼性のランク（「高信頼性アクセスポイント」、「低信頼性アクセスポイント」）に応じて優先順位が設けられているため、他のゲーム装置１Ｂから取得した位置情報の中でもより信頼性の高い位置情報を用いて自機の現在位置を示す特定位置情報の決定を行うことができる。
【０１８９】
（第３の実施形態）
以下に、図１２、図１３及び図１５を用いて本発明の第３の実施形態にかかる位置情報提供システムを説明する。第３の実施形態にかかる位置情報提供システムを第１の実施形態にかかる位置情報提供システム１００と区別するために、位置情報提供システム１００Ｂと記載する。位置情報提供システム１００Ｂでは、位置情報特定処理のみが第１の実施形態と異なり、その他については第１の実施形態と同様である。このため、以下に第３の実施形態にかかる位置情報特定処理についてのみ説明し、その他の事項については説明を省略する。
【０１９０】
第１の実施形態の位置情報特定処理では、図１３で示すステップＳ５４において、同じアクセスポイント２を提供源とする位置情報を含む端末位置データＤ７ｂが所定数以上記憶されているが判断される。第３の実施形態は、一定期間内に他のゲーム装置１Ｂから位置情報を取得することができた回数に応じてステップＳ５４の判断で用いる所定数を通常設定から通常設定より多い特別設定に変更することを特徴とする。この特別設定への変更は、ステップＳ５４の判断で用いる所定数を多くし、より信頼性高く位置情報を特定するために行われる。
【０１９１】
以下に、第３の実施形態にかかる位置情報特定処理を説明する。第３の実施形態にかかる位置情報特定処理では、ステップＳ４１〜Ｓ５０までについては図１２を用いて第１の実施形態において説明した処理と同一であるため説明を省略する。続くステップＳ５１以降の処理について図１５を参照して説明する。
【０１９２】
図１５は、第３の実施形態にかかる位置情報特定処理を示すフローチャートである。本フローチャートにおいて、第１の実施形態と同一の処理を実行するステップについては同一の符号を付し、異なった処理を実行するステップについては異なった符号を付す。そして、第１の実施形態と異なる処理についてのみ説明し、同一の処理については説明を省略する。
【０１９３】
ステップＳ５３でＹＥＳと判断された場合、すなわち、他のゲーム装置１Ｂから取得された位置情報を含む位置データＤ７（端末位置データＤ７ｂ）が記憶されている場合には（Ｓ５３でＹＥＳ）、ＣＰＵ３１Ａは端末位置データＤ７ｂの記憶数が閾値以上であるかを判断する（Ｓ８１）。端末位置データＤ７ｂの記憶数が閾値以上である場合には（Ｓ８１でＹＥＳ）、ＣＰＵ３１Ａは、ステップＳ５４の判断で使用する所定数を通常設定（例えば、２つ）から特別設定（例えば、３つ）に変更する（Ｓ８２）。例えば、ＣＰＵ３１Ａは、２種類の所定数の値をデータ記憶領域３２６に記憶し、このうち大きい方の値で所定数の設定を変更する。なお、所定数の設定が既に特別設定となっている場合には、所定数の設定を変更する処理は行われない。この後、ＣＰＵ３１Ａは続くステップＳ５４に処理を進める。
【０１９４】
他のゲーム装置１Ｂから取得した位置情報を含む端末位置データＤ７ｂの記憶数が閾値より小さい場合には（Ｓ８１でＮＯ）、ＣＰＵ３１Ａは、ステップＳ５４の判断で使用する所定数を通常設定に変更する（Ｓ８３）。例えば、ＣＰＵ３１Ａは、複数種類（例えば、２種類）データ記憶領域３２６に記憶された所定数の値のうち、小さい方の値で所定数を設定する。なお、所定数の設定が既に通常設定となっている場合には、所定数の設定を変更する処理は行われない。この後、ＣＰＵ３１Ａは続くステップＳ５４に処理を進める。
【０１９５】
上述したように、第３の実施形態では、ゲーム装置１Ａが記憶する端末位置データＤ７ｂの数によってステップＳ５４の判断で使用される所定数の設定が変更される。より具体的には端末位置データＤ７ｂの記憶数が閾値より小さいと所定数が通常設定とされ、閾値以上に多いと所定数が特別設定にされる。このため、端末位置データＤ７ｂの記憶数が閾値より小さい場合よりも閾値以上に多い場合の方が、多い数の端末位置データＤ７ｂが記憶されていなければステップＳ５４でＹＥＳと判断されないことになる。この理由を次に記載する。同じアクセスポイント２を提供源とする端末位置データＤ７ｂが多く記憶されている程、これらの端末位置データＤ７ｂの示す位置情報は信頼性が高いと推定される。したがって、第３の実施形態では、端末位置データＤ７ｂの記憶数がある程度多い場合（閾値以上に多い場合）には、ステップＳ５４の判断で使用する所定数を通常設定よりも多い特別設定として、より信頼性の高い位置情報の特定を行うことができるようにしている。
【０１９６】
一方、端末位置データＤ７ｂの記憶数が閾値より小さい場合には、ステップＳ５４の判断で使用する所定数をあまり多くすると位置情報の特定を行うことができなくなってしまう。このため、この場合の所定数は通常設定とされる。
【０１９７】
なお、第３の実施形態では、ステップＳ８１の判断で使用される閾値は１つであるが、複数種類の閾値を使用して、複数種類の値の中からステップＳ５４の判断で使用される所定数の設定を変更してもよい。また、ステップＳ５７の判断で使用される所定数については可変ではないが、上述したステップＳ８１〜Ｓ８３と同様の処理を実行することで可変にしてもよい。
【０１９８】
なお、第３の実施形態では、ステップＳ８１によって、端末位置データＤ７ｂの記憶数が閾値以上であるかを判断しているが、このことは、一定期間内に他のゲーム装置１Ｂから位置情報を取得することができた回数を判断するための一方法である。データ記憶領域３２６に記憶されている位置データＤ７はそのカウンタ値が所定値以上になると消去されるため（Ｓ６０）、位置データＤ７の記憶数は一定期間内に他のゲーム装置１Ｂから位置情報を取得することができた回数に相当するのである。もっとも、他の方法を使用して、一定期間内に他のゲーム装置１Ｂから位置情報を取得することができた回数を判断してもよい。
【０１９９】
（第４の実施形態）
以下に図７Ｆ、図８Ｃ、図８Ｄ及び図１６を使用して、本発明の第４の実施形態にかかる位置情報提供システムを説明する。第４の実施形態にかかる位置情報提供システムを第１の実施形態にかかる位置情報提供システム１００と区別するために、位置情報提供システム１００Ｃと記載する。
【０２００】
図１６は、第４の実施形態にかかる位置情報提供システム１００Ｃの構成を示す図である。位置情報提供システム１００Ｃは、複数のゲーム装置１と複数のアクセスポイント２の他に、サーバ３を有する。位置情報提供システム１００Ｃでは、ゲーム装置１とアクセスポイント２の間、及びゲーム装置１とサーバ３の間では、ＩＥＥＥ８０２．１１の無線ＬＡＮ規格に則った無線通信を行うことができる。また、ゲーム装置１Ａ、１Ｂは互いに所定の通信方式に従って無線通信を行うことができる。
【０２０１】
第４の実施形態の特徴を次に述べる。ゲーム装置１Ａは、図７Ｆで示すＡＰビーコンフレームＤ６を取得すると、このＡＰビーコンフレームＤ６に含まれるＥＳＳＩＤとＢＳＳＩＤを含む問合せ情報を生成して、サーバ３に送信する。サーバ３は、図８Ｃ、図８Ｄに示すテーブルＴ１、Ｔ２を記憶する。なお、第４の実施形態では、ゲーム装置１はテーブルＴ１、Ｔ２を記憶しない。サーバ３は、受信した問い合わせ情報に含まれるＥＳＳＩＤでＡＰ識別情報テーブルＴ２を検索するとともに、ＢＳＳＩＤで位置情報テーブルＴ１を検索する。これらの検索によって、ＡＰ識別情報と位置情報を取得すると、サーバは、これらのＡＰ識別情報と位置情報を含むフレームを生成してゲーム装置１Ａに送信する。ゲーム装置１Ａは、サーバから受信したフレームに含まれる情報を使用して位置データＤ７を生成する。その他の位置情報提供システム１００Ｃの構成及びこのシステム１００Ｃで実行される処理については第１の実施形態と同様であるため、説明を省略する。
【０２０２】
以下、図１７を用いて、上記サーバ３の構成を説明する。図１７は、第４の実施形態にかかるサーバ３の内部構成を示すブロック図である。
【０２０３】
サーバ３は、操作部６０、通信部６１、ＲＯＭ６２、ＨＤＤ６３、ＲＡＭ６４及びＣＰＵ６５を有し、これらの間はバス６６で互いに通信可能に接続されている。
【０２０４】
操作部６０は、本サーバ３の管理者からの操作を受け付ける機能を有する。通信部６１は、例えばＩＥＥＥ８０２．１１ｂ／ｇの規格に準拠した方式により、無線ＬＡＮに接続する機能を有する。ＲＯＭ６２は、このサーバ３本体を起動するとともに基本的な機能を実現するためのシステムプログラムが記憶されている。ＨＤＤ６３は、本サーバ３にゲーム装置１Ａとの間の通信を行わせる通信プログラムを含むプログラム、及びこのプログラムの実行に必要なデータが記憶されている。このデータには、図８Ｃで示す位置情報テーブルＴ１及び図８Ｄで示すＡＰ識別情報テーブルＴ２が含まれる。ＲＡＭ６４は、ＣＰＵ６５の作業領域として機能し、ＨＤＤ６３から読み出されたテーブルＴ１、Ｔ２を記憶する。
【０２０５】
ＣＰＵ６５は、ゲーム装置１Ａからの問い合わせに応じてアクセスポイント２の位置情報をゲーム装置１Ａに送信する上記処理を実行する。
【０２０６】
上述したように、第４の実施形態では、サーバ３がテーブルＴ１、Ｔ２を記憶しており、サーバ３に問い合わせを行うことでゲーム装置１Ａは位置情報を取得することができる。このため、第４の実施形態は、ゲーム装置１ＡがテーブルＴ１、Ｔ２を記憶する場合に比較して、テーブルＴ１、Ｔ２の更新を容易に行うことができるという利点がある。
【０２０７】
次に、第１〜第４の実施形態の変形例を以下に記載する。
【０２０８】
（１）第１〜第４の実施形態では、信頼性の高さで設定された優先順位は、高信頼性アクセスポイント２Ａから提供された位置情報が、他のゲーム装置１Ｂから提供された位置情報、低信頼性アクセスポイント２Ｂの位置情報よりも常に高いが、この構成に限定されない。高信頼性アクセスポイント２Ａから提供されてからの経過時間が所定値よりも短い場合（すなわち所定の経過時間よりも新しい場合）にのみ優先順位を高くしてもよい。この方法としては例えば次のようにすればよい。図１３〜図１５で示す処理において、ステップＳ５１でＹＥＳと判断された場合、すなわち高信頼性アクセスポイント２Ａから取得された位置情報を含む位置データＤ７が記憶されている場合に、この位置データＤ７が高信頼性アクセスポイント２Ａから提供されてからの経過時間が所定値よりも短いかどうかが判断される。この判断は経過時間情報を用いて行われる。そして、この判断でＹＥＳの場合にのみ、続くステップＳ５２が実行されてこの位置データＤ７が自機の現在位置を示す特定位置データＤ８とされる。一方、この判断でＮＯの場合には、この位置データＤ７は特定位置データＤ８とされず、ステップＳ５３又はＳ７１が実行される。
なお、他のゲーム装置１Ｂから提供された位置情報についても同様に、この位置情報の経過時間情報を加味して低信頼性アクセスポイント２Ｂとの間の優先順位が設定されてもよい。
【０２０９】
（２）第１及び第３の実施形態では、位置情報特定処理のステップＳ５４、Ｓ５７において、位置情報が完全に同一である位置データＤ７の記憶数を判断しているが、位置情報が完全に一致していなくても近似していればよい。例えば、位置情報が緯度・経度情報である場合には、両位置情報の示す緯度・経度が所定値以内の誤差しかない場合には近似していると判断される。この場合には、特定位置情報となり得る位置情報が複数種類存在するが、例えば、このうちカウンタ値が最も小さいすなわち新しい位置データＤ７を選択して特定位置データ８とすればよい。なお、この変形例では、提供源となるアクセスポイント２の同一性は考慮しないため、ＡＰ識別情報が同一かどうかの判断は行わなくてもよい。
【０２１０】
（３）第１〜第４の実施形態では、他のゲーム装置１Ｂがゲーム装置１Ａに対して位置情報を送信する際に、他のゲーム装置１Ｂでカウントしていたカウンタ値が他のゲーム装置１Ａに引き継がれるがこの構成に限定されない。すなわち、位置情報フレームＤ３（図７Ｃを参照）に含めてカウンタ値が送信されるが、カウンタ値は含めない構成であってもよい。この変形例では、ゲーム装置１Ａがゲーム装置１Ｂから位置情報を取得したときから、新たにカウントがなされる。
【０２１１】
（４）第１〜第４の実施形態では、ゲーム装置１Ａ、１Ｂがすれ違い通信モードに設定されている場合に限って、ゲーム装置１Ａ、１Ｂ間で位置情報の送受信が行われていたが、この構成に限定されない。すなわち、ゲーム装置１Ａ、１Ｂの電源がオンされている状態であれば、あるいは電源がオンされている状態であって所定の条件を満たす場合に位置情報の送受信を行うことができる構成であってもよい。また、ユーザが所定の操作を行った場合に、ゲーム装置１Ａ、１Ｂ間で位置情報の送受信を行う構成であってもよい。
【０２１２】
（５）第１〜第４の実施形態は、本発明の携帯端末装置をゲーム装置１に適用したものであるが、本発明はゲーム装置に限定されない。例えば、携帯電話機、簡易型携帯電話機（ＰＨＳ）、携帯情報端末（ＰＤＡ）等にも本発明の適用は可能である。
【０２１３】
（６）なお、ゲーム装置１Ａがアクセスポイント２から位置情報の提供を受ける構成でなくてもよく、固定的に配置される他の固定局（例えば、据え置き型ゲーム装置や、パーソナルコンピュータ等）から位置情報の提供を受ける構成であってもよい。また、他のゲーム装置１Ｂとの間のみで位置情報の提供を行う構成であってもよい。
【産業上の利用可能性】
【０２１４】
本発明のシステムは、アクセスポイントの電波到達範囲内に携帯端末装置が位置しなくても携帯端末装置に位置情報を提供することができ、携帯端末装置がアクセスポイントと他の携帯端末装置との間で通信を行うシステムにおいて有用である。
【符号の説明】
【０２１５】
１                  ゲーム装置
１Ａ                ゲーム装置
１Ｂ                ゲーム装置
２（２Ａ、２Ｂ）    アクセスポイント
３１                ＣＰＵ
３２                メインメモリ
３７                無線通信モジュール
３８                ローカル通信モジュール
５１                通信部
５４                ＲＡＭ
【図１】
0005574718.tif 000002
【図２】
0005574718.tif 000003
【図３】
0005574718.tif 000004
【図４】
0005574718.tif 000005
【図５】
0005574718.tif 000006
【図６】
0005574718.tif 000007
【図７Ａ】
0005574718.tif 000008
【図７Ｂ】
0005574718.tif 000009
【図７Ｃ】
0005574718.tif 000010
【図７Ｄ】
0005574718.tif 000011
【図７Ｅ】
0005574718.tif 000012
【図７Ｆ】
0005574718.tif 000013
【図８Ａ】
0005574718.tif 000014
【図８Ｂ】
0005574718.tif 000015
【図８Ｃ】
0005574718.tif 000016
【図８Ｄ】
0005574718.tif 000017
【図９】
0005574718.tif 000018
【図１０】
0005574718.tif 000019
【図１１Ａ】
0005574718.tif 000020
【図１１Ｂ】
0005574718.tif 000021
【図１２】
0005574718.tif 000022
【図１３】
0005574718.tif 000023
【図１４】
0005574718.tif 000024
【図１５】
0005574718.tif 000025
【図１６】
0005574718.tif 000026
【図１７】
0005574718.tif 000027