(57)【要約】【課題】相互発見の動作時間を、時刻の精度に基づき限定することで、少ない電力で相互発見機能を実現可能とする。また、時間帯や位置に基づき相互発見機能の動作を抑制し、プライバシーにも配慮可能とする。【解決手段】計時機能およびその想定誤差に応じて、相互発見の動作時間や起動間隔を調整する。計時機能の想定誤差が大きくなっている場合は、他の機器の信号を受信し損ねることの無いよう、相互発見動作の動作時間を長くする。また、想定誤差が所定の値以上に大きくなった場合は、相互発見動作の起動間隔をランダムに変動させることで相互発見の確率を上げる。【選択図】図１
2009231866.tif 000002
【特許請求の範囲】
【請求項１】
無線通信機能を有して、互いの機器を相互に発見可能な相互発見装置において、
現在時刻を計時する計時手段と、
間欠的に動作して相手の機器を発見する相互発見手段と、
前記相互発見手段の動作を制御する相互発見動作制御手段と、
を有し、
前記相互発見動作制御手段は、前記計時手段が出力する現在時刻に含まれる想定誤差の大きさに基づき、前記相互発見手段の動作開始時刻および動作時間を調整することを特徴とする相互発見装置。
【請求項２】
前記相互発見動作制御手段は、前記相互発見手段の休止時間を現在時刻に含まれる想定誤差が０である場合と比較して、少なくとも想定誤差の時間だけ短くなるよう調整し、かつ相互発見手段の動作時間を少なくとも上記想定誤差の２倍は長くなるよう調整することを特徴とする請求項１に記載の相互発見装置。
【請求項３】
前記相互発見動作制御手段は、現在時刻に含まれる想定誤差が所定の誤差以上になった場合に、前記相互発見手段の休止時間をランダムになるよう決定することを特徴とする請求項１に記載の相互発見装置。
【請求項４】
入力手段と記憶手段とを有し、
前記相互発見動作制御手段は、前記入力手段から入力される前記相互発見手段の動作を抑制する時間情報もしくは位置情報を前記記憶手段に格納し、
前記時間情報もしくは位置情報、または双方の情報に基づいて、前記相互発見手段の動作を抑制することを特徴とする請求項１に記載の相互発見装置。
【請求項５】
位置情報取得手段を有し、
前記相互発見動作制御手段は、前記位置情報取得手段から得られる現在地情報を前記記憶手段に格納し、
前記位置情報と前記現在地情報とに基づいて、前記相互発見手段の動作を抑制することを特徴とする請求項４に記載の相互発見装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、無線通信により相互に発見可能な情報機器に関するものである。
【背景技術】
【０００２】
無線機器同士が相互に通信を行い、データの送受を行うことで情報を共有したり、一方の無線機器の情報内容を他方の無線機器が取得したりすることができる。そのような無線機器を用いた相互コミュニケーション装置は、近年知られているものである。
【０００３】
このように、無線機器同士が、相互に相手を発見することを相互発見動作という。相互発見動作は、他無線機器が通信可能範囲内に存在すること発見し、発見した無線機器と情報をやり取りし、無線機器間に共通する属性があることを互いに認識することも含む。
属性とは、その無線機器の所有者が属する組織やコミュニティであったり、所有者の趣味や欲求であったり、所有者の出身地や身体的特徴（例えば花粉症であるなど）であったり、相互発見の利用目的に応じて任意に定めることができる。このような相互発見動作を利用すれば、互いに共通性を持つ人との出会いを促すことが可能である。
【０００４】
無線機器同士が相互に発見するには、まずは一方が発信した情報を他方が受信する必要がある。すなわち、情報の発信側、受信側の双方が、同時に動作可能になっている瞬間が必要である。このため、相互発見可能なシステムでは、以下の２つのうちいずれかの状態となっている。
【０００５】
第１の状態は、確実に相互発見可能であるように、無線機器のいずれかが常に受信可能な状態（以下「受信待機状態」と称する）となっている状態である。
無線機器のいずれかが常に受信待機状態であれば、送信側は適当に間欠動作して、起動したときだけ信号を送出すればよい。
このようにすることで、受信側が常に受信待機状態であるので、送信側の信号送出頻度が低くても、信号を受信することができる。
【０００６】
第２の状態は、無線機器の一方が非常に短い間隔で標識情報を発信しつづける状態である。
信号を受信する側の無線機器は、適当に間欠動作し、起動したら標識情報が発信される間隔よりわずかでも長い時間だけ受信を試みればよい。
このようにすることで、受信側が常に動作しているのに比較して、大幅な省電力化とすることができる。
【０００７】
ＩＥＥＥ８０２．１１で規定される無線ＬＡＮ（ローカルエリアネットワーク）は、第２の状態の一例である。基地局は、常に稼働中であると想定され、基地局が短い１秒間隔でビーコンパケットと呼ばれる標識情報を発信している。移動局（携帯情報機器）は、ビーコンパケットが送出される間隔よりわずかでも長い時間だけ受信可能となっていれば、周囲に基地局があるかどうか（すなわちビーコンパケットが送出されているか否か）を判定できる。
【０００８】
非特許文献１には、上述の無線ＬＡＮのビーコンパケットを受信することで、基地局との近接を検出する装置が記載されている。
非特許文献１に記載の情報機器は、ビーコンパケットが基地局から短い間隔で連続的に発信されていることを前提とし、間欠動作することで省電力化を実現している。すなわち、数分に１回の割合で、数秒間だけ起動すれば、基地局からのビーコンパケット送出の有無を判定できるため、常に動作しているのに比較し大幅な省電力化を実現している。
【０００９】
このように、無線機器を用いて相互に情報を送受するには、一方の無線装置が常に受信待機状態となって情報の到来を待つか、信号を受信する側の無線機器が間欠動作し、情報の到来に合わせて受信を試みる必要がある。こうした状況では、常に無線機器の低消費電力化という問題がついて回るため、その問題を解決するため多くの提案をみるものである（例えば、特許文献１、特許文献２参照。）。
【００１０】
次に、特許文献１に示した従来技術を説明する。図１４は、特許文献１に示した従来技術を説明しやすいようにその主旨を変更しない程度に書き直した図である。図１４において、１４０１は送信バッファ、１４０２はパラメータ計算部、１４０３はビーコン生成部である。
【００１１】
特許文献１に示した従来技術は、ＩＥＥＥ８０２．１１で規定される無線ＬＡＮ技術を用いることを前提としている。この無線ＬＡＮの基地局は、前述のようにビーコンパケットを送出し続けており、ビーコンパケットには、他の装置に向けて送出される情報が存在するか否かを示す情報を含めることが許されている。図１４は、ビーコンパケットを送出する基地局側装置の一部の構成を示している。
【００１２】
他の装置に向けて送出される情報は、送信バッファ１４０１に蓄積されている。送信バッファ１４０１に蓄積された情報は、受信側である移動局からの要求により、送信部から送出される。
パラメータ計算部１４０２は、送信バッファ１４０１の内容を調べ、受信側の移動局ごとに受信を実行すべき頻度を表すパラメータを計算する。
計算されたパラメータは、ビーコン生成部１４０３に渡され、ビーコンパケットの一部として、送信部を経由して移動局の装置に向け送出される。
【００１３】
移動局側の装置は、基地局から指定された頻度で起動すればよいため、頻繁に起動してビーコンパケットを受信する必要がなくなり、消費電力を抑えられる。
【００１４】
次に、特許文献２に示した従来技術を説明する。図１５は、特許文献２に示した従来技術を説明しやすいようにその主旨を変更しない程度に書き直した図である。図１５も基地局側装置の一部の構成を示している。図１５において、１５０１はキャリアセンス部、１５０２はスリープ時間設定部、１５０３はフレーム出力部、１５０４はスリープタイマ、１５０５は電源制御部、１５０６は電源供給部である。
【００１５】
特許文献２に示した従来技術も、ＩＥＥＥ８０２．１１で規定される無線ＬＡＮ技術を用いることを前提としている。特許文献２に示した従来技術は、キャリアセンス部１５０１により無線ＬＡＮ上で授受されるデータの有無およびデータ授受の頻度を調べ、それに基づきスリープ時間設定部１５０２がスリープする時間を決定する。
スリープする時間とは、基地局側の装置が動作を休止する時間である。決定された休止時間は、フレーム出力部１５０３によりビーコンパケットの一部に入れられ、移動局側の装置に伝達される。このビーコンパケットを受信した移動局側の装置は、通知された休止時間内に無線ＬＡＮ上にデータを送出することはない。
【００１６】
休止時間を含むビーコンパケットを送出した後、休止時間はスリープタイマ１５０４に渡される。また、電源制御部１５０５は、電源供給部１５０６からの電力供給を抑制して基地局側装置を休止状態とする。スリープタイマ１５０４は、渡された時間が経過したら、それを電源制御部１５０５に通知する。
電源制御部１５０５は、電源供給部１５０６からの電力供給を再開し、基地局側装置の動作を再開する。基地局は無線ＬＡＮ上で授受されるデータが少ない時に、休止時間を長
く設定することができるため、消費電力を抑えられる。
【００１７】
すなわち、特許文献１および特許文献２には、無線ＬＡＮにおいて、各装置が通信のために起動する間隔を、装置間で送受信されるデータの量に応じて調整するという考えが記載されている。
【００１８】
【非特許文献１】暦本純一、味八木崇，「ＷＨＥＮ−ｂｅｃｏｍｅｓ−ＷＨＥＲＥ：ＷｉＦｉセルフロギングによる継続的位置履歴取得とその応用」，情報処理学会，インタラクション２００７論文集，２００７年３月１５日，ｐ．２２３−２３０
【特許文献１】特開２００７−９６８９８号公報（第６頁、数１）
【特許文献２】特開２００４−３３６４０１号公報（第１９頁、図６）
【発明の開示】
【発明が解決しようとする課題】
【００１９】
解決しようとする問題点は、確実な相互発見を可能とするためには、無線機器のいずれかが常に受信待機状態にあるか、無線機器のいずれかが短い間隔で標識信号を送出し続けなければならないため、そのような無線機器の省電力化が困難である点である。これらの方式でも、無線機器のいずれかが固定局であり、電灯線などの電源に接続されている場合は問題はない。
しかし、相互発見が必要な無線機器の両方が移動機器であり、限られた電源容量で動作する場合には、大きな問題となる。
【００２０】
非特許文献１に記載の技術では、相互発見可能な無線機器の一方は固定局であるため、移動局の省電力化にのみ配慮している。また、特許文献１または特許文献２に記載の技術では、相互に通信が確立した後の省電力化に配慮するものであり、相互発見段階での省電力化には配慮されていない。
【００２１】
さらに、相互発見が可能な無線機器では、プライバシーに関する配慮も必要である。例えば、自宅の近くでは相互発見機能は動作して欲しくない、夜間や早朝の時間帯には動作して欲しくない、といった事情が考えられる。そのような動作抑制に対応した相互発見可能な無線機器は存在しない。
【課題を解決するための手段】
【００２２】
上記課題を解決するため、本発明の相互発見装置は、以下の構成を採用するものである。
【００２３】
無線通信機能を有して、互いの機器を相互に発見可能な相互発見装置において、
現在時刻を計時する計時手段と、間欠的に動作して相手の機器を発見する相互発見手段と、相互発見手段の動作を制御する相互発見動作制御手段と、を有し、
相互発見動作制御手段は、計時手段が出力する現在時刻に含まれる想定誤差の大きさに基づき、相互発見手段の動作開始時刻および動作時間を調整することを特徴とする。
【００２４】
相互発見動作制御手段は、相互発見手段の休止時間を現在時刻に含まれる想定誤差が０である場合と比較して、少なくとも想定誤差の時間だけ短くなるよう調整し、相互発見手段の動作時間を少なくとも上記想定誤差の２倍は長くなるよう調整することを特徴とする。
【００２５】
相互発見動作制御手段は、現在時刻に含まれる想定誤差が所定の誤差以上になった場合に、相互発見手段の休止時間をランダムになるよう決定することを特徴とする。
【００２６】
入力手段と記憶手段とを有し、相互発見動作制御手段は、入力手段から入力される相互発見手段の動作を抑制する時間情報もしくは位置情報を記憶手段に格納し、時間情報もしくは位置情報、または双方の情報に基づいて、相互発見手段の動作を抑制することを特徴とする。
【００２７】
位置情報取得手段を有し、相互発見動作制御手段は、位置情報取得手段から得られる現在地情報を記憶手段に格納し、位置情報と現在地情報とに基づいて、相互発見手段の動作を抑制することを特徴とする。
【発明の効果】
【００２８】
本発明の相互発見装置によれば、機器は自身の計時機能の示す時刻と想定誤差に応じて、他の機器との近接を検出するために必要最小限の時間帯だけ動作する。常に動作し続けることと比較し、大幅に動作時間を短くすることが可能であり、省電力化できるという効果がある。
また、相互発見動作を抑制することもできる。時間帯および位置を指定できるため、望ましくない時間や場所で相互発見動作が働き、プライバシーを損なうことを防止できる。
【発明を実施するための最良の形態】
【００２９】
本発明の相互発見装置は、近接した機器同士が確実に互いを発見可能とするため、相互発見動作の起動タイミングと動作時間を、機器の持つ計時機能が示す時刻と、その時刻に含まれる想定誤差の大きさによって調整する相互発見動作制御手段を持つ。
【００３０】
相互発見が必要な機器同士で、それぞれの計時機能が示す時刻が一致していれば、あらかじめ決められた時刻に相互発見動作を開始すれば良い。しかしながら、計時機能が示す時刻には誤差が含まれるため、互いの想定する時刻が一致することを期待するのは適切ではない。
【００３１】
本発明では、相互発見動作制御手段が、計時機能が示す時刻の想定誤差に応じて、相互発見動作の起動タイミングを調整し、さらに動作している時間の長さも調整する。具体的には、時刻の想定誤差分だけ、相互発見動作の起動タイミングを早め、想定誤差の２倍分だけ動作時間を長くする。この方式では、想定誤差が大きくなると、機器の動作時間が長くなり、消費電力が大きくなってしまう。したがって、想定誤差が所定の値以上になった場合には、起動タイミングをランダムに変動させ、動作時間は一定の長さに固定する。これにより、想定誤差が所定の値より大きい場合でも、０でない確率で相互発見できる可能性がある。
【００３２】
また、プライバシーに配慮するための手段として、相互発見動作を抑制する時間帯、および相互発見動作を抑制する位置を指定する機能を設けている。
【００３３】
以下、本発明の相互発見装置を図面を基にして詳述する。なお、図面にあっては、同一の構成には同一の番号を付与することとし、その説明は省略する。また、説明にあっては、発明に関係のない部分は省略する。
【００３４】
［全体構成の説明：図１、図２］
まず、本発明の相互発見装置の構成を説明する。図１は、本発明の相互発見装置を説明する全体構成図である。図２は、サービス記憶手段の内容を説明する図である。
図１において、１０１は相互発見装置、１０２はパーソナルコンピュータ（以下「ＰＣ」と略）、１０３は携帯電話、１０４はインターネット、１０５はセンターサービス、１１１は実行制御手段、１１２は外部接続手段、１１３は計時手段、１１４は自動時刻合せ手段、１１５は位置情報取得手段、１１６は位置情報記憶手段、１１７は受信手段、１１
８は送信手段、１１９は近接情報記憶手段、１２０はプログラム記憶手段、１２１はＮＧ時間帯記憶手段、１２２はＮＧ位置記憶手段、１２３はサービス記憶手段、１２４は出力手段、１２５は入力手段、１５１は相互発見動作制御手段、１５２は相互発見手段である。
【００３５】
図１に示す相互発見装置１０１は、情報処理装置の一種であり、相互発見装置１０１の内部に存在する手段のうち、実行制御手段１１１、相互発見動作制御手段１５１、相互発見手段１５２は、ソフトウェアとして実現されているものとする。ソフトウェアは、プログラム記憶手段１２０に記録されているプログラムが、適宜読み込まれて実行されるものとする。
相互発見動作制御手段１５１の動作は、後に図５、図６、図７のフロー図を用いて説明する。相互発見手段１５２の動作は、後に図９のシーケンス図、図１０、図１１、図１２、図１３のフロー図を用いて説明する。
【００３６】
また、位置情報記録手段１１６、近接情報記憶手段１１９、プログラム記憶手段１２０、ＮＧ時間帯記憶手段１２２、ＮＧ位置記憶手段１２２、サービス記憶手段１２３は、情報処理装置が持つメモリ装置の領域として実現されているものとする。
また、外部接続手段１１２、計時手段１１３、自動時刻合せ手段１１４、位置情報取得手段１１５、受信手段１１７、送信手段１１８、出力手段１２４、入力手段１２５は、それぞれ対応するハードウェアとして実現されているものとする。
【００３７】
図１に示すように、相互発見装置１０１は、装置全体の動作を実行する実行制御手段１１１を有する。実行制御手段１１１は、外部接続手段１１２を介して、ＰＣ１０２もしくは携帯電話１０３と通信可能である。また、ＰＣ１０２および携帯電話１０３は、インターネット１０４を介して、センターサービス１０５と通信可能である。
したがって、相互発見装置１０１は、ＰＣ１０２もしくは携帯電話１０３、またはセンターサービス１０５が保持する情報を参照またはダウンロード可能であり、逆に相互発見装置１０１が持つ情報を、ＰＣ１０２もしくは携帯電話１０３、またはセンターサービス１０５にアップロードすることも可能である。
【００３８】
実行制御手段１１１は、その内部に相互発見動作制御手段１５１と相互発見手段１５２とを有する。相互発見動作制御手段１５１の処理内容は、図５を用いて後に詳しく説明する。また、相互発見手段１５２の処理内容は、図１０を用いて後に詳しく説明する。
【００３９】
相互発見装置１０１は、時刻を知るための手段である計時手段１１３を有する。計時手段１１３は、自動時刻合せ手段１１４により、正確さを保つように時刻修正される。自動時刻合せ手段１１４は、標準電波を受信して時刻修正する公知の技術を用いることができる。また、自動時刻合せ手段１１４は、公知の技術であるＧＰＳ（グローバルポジショニングシステム）を用いることもできる。さらに、携帯電話の基地局が発する時刻情報を用いることができる。本発明の実施形態では、いずれの方式を用いても良い。
【００４０】
計時手段１１３は、現在時刻を保持する以外に、その現在時刻の想定誤差を保持する。
想定誤差とは、自身が持つ時刻が、正確な時刻からどれだけずれていそうかを表す数値である。例えば、自動時刻合せ手段１１４が標準電波を用いる方式であり、１日１回、午前０時に時刻合わせをすると仮定する。計時機能本来の精度で、１日で１秒ずれる可能性があるものとすると、Ｎ時（すなわち時刻合わせからＮ時間後）に計時手段１１３が示す時刻には、最大でＮ÷２４秒の誤差が存在すると想定できる。このように計算される数値が、想定誤差である。想定誤差は、頻繁に自動時刻合わせできれば小さく保てる。逆に、電波の受信状態が悪い場合など、自動時刻合わせできる間隔が長くなれば、想定誤差は大きくなる。
【００４１】
相互発見装置１０１は、位置情報取得手段１１５を有する。位置情報取得手段１１５は、公知の技術であるＧＰＳを用いることができる。また、携帯電話の基地局が発する電波強度を利用することもできる。さらに、無線通信規格であるＩＥＥＥ８０２．１１に準拠した通信機器のビーコンパケットを利用することもできる。本発明の実施形態では、いずれの方式を用いても良い。
位置情報取得手段１１５で得られた位置情報は、位置情報記憶手段１１６に記録される。
【００４２】
相互発見装置１０１は、他の相互発見装置との近接を検出するための通信手段である受信手段１１７および送信手段１１８も有する。本発明の実施形態では、近接を検出するために無線通信が用いられる。近接検出の結果は、近接情報記憶手段１１９に記録される。
【００４３】
相互発見装置１０１は、プログラム記憶手段１２０を有する。プログラム記憶手段１２０には、実行制御手段１１１が実行する動作が記録されている。プログラム記憶手段１２０の内容は、相互発見装置１０１が製造される過程で書き込まれても良いし、後に外部接続手段１１２を介して、ＰＣ１０２もしくは携帯電話１０３、またはサービスセンタ１０５からダウンロードされても良い。
【００４４】
相互発見装置１０１は、近接検出動作を抑制する時間帯を指定するためのＮＧ時間帯記憶手段１２１を有する。ＮＧ時間帯記憶手段１２１に記録される時間帯は、後に述べるように利用者により指定される。
同じく相互発見装置１０１は、近接検出動作を抑制する場所を指定するためのＮＧ位置記憶手段１２２も有する。ＮＧ位置記憶手段１２２に記録される位置は、後に述べるように利用者により指定される。
【００４５】
相互発見装置１０１は、サービス記憶手段１２３を有する。サービス記憶手段１２３には、サービスを特定するためのサービスＩＤと、サービスの内容を表すスクリプトが、組になって記録される。この記録内容は、相互発見装置１０１の製造過程で書き込まれても良いし、後に外部接続手段１１２を介して、ＰＣ１０２もしくは携帯電話１０３、またはサービスセンタ１０５からダウンロードされても良い。
【００４６】
［サービスＩＤおよびスクリプトの説明：図２］
この様子を図２を用いて説明する。図２はサービスＩＤおよびスクリプトを説明するための図である。図２において、２０１はサービスＩＤ、２０２はスクリプト、２０３，２０４はスクリプトの行である。図２（ａ）に示すように、サービスＩＤ２０１とスクリプト２０２の組を、複数個記録可能である。すなわち、１つの相互発見装置１０１で、複数のサービスに対応可能である。
図２（ｂ）は、サービスＩＤに対応するスクリプトの一例である。この例では、１行目２０３で「○○コミュニティの仲間発見！」という文字列を出力手段１２４に表示し、２行目２０４で相互発見装置１０１が持つ発光ダイオード（以下「ＬＥＤ」と略、これも出力手段１２４である）を指定したパターンで点滅させ続けることを指示している。
【００４７】
図１に示す相互発見装置１０１は、利用者に情報を提示する出力手段１２４、利用者の操作を受け付ける入力手段１２５を有する。出力手段１２４は、液晶表示装置などを用いるディスプレイ、ＬＥＤなどの光の点滅で状態を表示する手段を含んでいる。入力手段１２５は、スイッチやボタンなどで構成する。
【００４８】
［概観および操作の説明：図３、図４］
次に、相互発見装置１０１の概観および操作を図を用いて説明する。図３は、本発明の相互発見装置の外観を説明する図である。図４は、ユーザインタフェースを説明する図で
ある。
図３に示すように、図１に示す出力手段１２４は、この例では液晶表示装置（以下「ＬＣＤ」と略）３０１、ＬＥＤ３０２である。また、入力手段１２５は、メニューボタン３０３、キャンセルボタン３０４、ＯＫボタン３０５、上ボタン３０６、下ボタン３０７、左ボタン３０８、右ボタン３０９である。
【００４９】
次に、図４を用いて利用者の操作を説明する。図４（ａ）〜図４（ｉ）は、相互発見装置１０１のＬＣＤ３０１の表示内容を表している。図４（ａ）は、平常動作時のＬＣＤ３０１の表示内容である。この例では、時刻表示４１１が表示されており、図示の例では１２時３４分と表示されている。
【００５０】
この図４（ａ）の状態で利用者がメニューボタン３０３を押すと、ＬＣＤ３０１の表示内容は、図４（ｂ）のようになり、操作内容を選択するメニューが表示される。メニューの項目を上下に移動するためには、利用者は上ボタン３０６または下ボタン３０７を使用する。メニュー表示中は、キャンセルボタン３０４を押すことで、何時でも直前の画面の状態に戻れる。
【００５１】
近接検出を抑制するためには、画面が図４（ｂ）の状態でメニューの近接検出停止項目４２１を選択する。選択したい項目、この場合は近接検出停止項目４２１を反転表示にし、ＯＫボタン３０５を押せばよい。近接検出停止項目４２１が選択されると、ＬＣＤ３０１の表示内容は図４（ｃ）に示す状態となる。利用者に近接検出動作が抑制されていることを伝える、近接検出停止メッセージ４３１が表示される。
【００５２】
この状態で、利用者がメニューボタン３０３を押すと、ＬＣＤ３０１の表示内容は、図４（ｄ）に示す状態となる。利用者が、近接検出再開項目４４１を選択すると、近接検出動作が再開され、ＬＣＤ３０１の表示内容は初期の図４（ａ）の状態に戻る。
【００５３】
近接検出を抑制すべき位置を記録するには、通常状態の図４（ａ）の状態でメニューボタン３０３を押してメニューを表示させ、図４（ｅ）のようにＮＧ位置記録モード項目４５１を選択する。
【００５４】
近接検出を抑制すべき位置を記録する処理を、「ＮＧ位置記録動作」と呼ぶ。ＮＧ位置記録モード項目４５１が選択されると、ＬＣＤ３０１の表示内容は図４（ｆ）に示す状態となり、ＮＧ位置記録動作中であることを利用者に伝えるためのＮＧ位置記録メッセージ４６１が表示される。
【００５５】
ＮＧ位置記録動作で記録された位置を「ＮＧ位置」と呼ぶ。ＮＧ位置は、ＮＧ位置記憶手段１２２に記録される。ＮＧ位置記録動作を終了したい場合は、メニューボタン３０３を押して図４（ｇ）に示すメニューを表示し、ＮＧ位置記録解除項目４７１を選択する。ＮＧ位置記録動作が終了し、ＬＣＤ３０１の表示内容は初期の図４（ａ）の状態に戻る。
【００５６】
近接検出を抑制すべき時間帯を指定するには、通常状態の図４（ａ）の状態でメニューボタン３０３を押してメニューを表示させ、図４（ｈ）のようにＮＧ時間帯編集項目４８１を選択する。
ＬＣＤ３０１の表示内容は、図４（ｉ）のようになり、時間帯を編集可能な状態となる。利用者は、右ボタン３０９または左ボタン３０８を用いて、反転表示箇所４９１を編集したい数字の場所に移動させる。目的の場所が反転表示されたら、そこにある数値を、上ボタン３０６または下ボタン３０７を用いて変更する。
【００５７】
本発明の実施形態では、図４（ｉ）に示すように、近接検出を抑制すべき時間帯は３つ
まで指定可能である。時間帯の指定が終了したら、利用者はＯＫボタン３０５を押す。設定した時間帯がＮＧ時間帯記憶手段１２１に記録され、ＬＣＤ３０１の表示内容は初期の図４（ａ）の状態に戻る。
【００５８】
［実行制御手段１１１の処理の説明：図５〜図１３］
次に、図５から図１３の図を用いて、相互発見装置１０１の実行制御手段１１１が実行する相互発見動作制御手段１５１の処理を説明する。
図５は、本発明の相互発見装置の近接検出動作を説明するフロー図である。図６は、終了時刻決定の処理を説明するフロー図である。図７は、休止時間決定の処理を説明するフロー図である。図８は、装置間で送受信されるパケットのデータ形式を説明する図である。
図９は、処理シーケンスを説明する図である。図１０は、相互発見動作の処理を説明するフロー図である。図１１は、時刻修正の処理を説明するフロー図である。
図１２は、相互発見動作の一部であるマスタ動作の処理を説明するフロー図である。図１３は、相互発見動作の一部であるスレーブ動作の処理を説明するフロー図である。
【００５９】
図５において、５０１〜５１４は動作ステップである。相互発見動作制御手段１５１は、予定された時刻に起動される。起動される間隔は、図５のフロー図のステップ５１３で決定され、設定される。
【００６０】
相互発見動作制御手段１５１は、ステップ５０１で実行を開始し、ステップ５０２で計時手段１１３から現在時刻を取得する。次に、ステップ５０３で位置情報取得手段１１５から現在の位置情報を取得し、ステップ５０４で位置情報を位置情報記憶手段１１６に記録する。
【００６１】
ステップ５０５では、ステップ５０３で取得した現在の位置情報と、ＮＧ位置記憶手段１２２に記録されているＮＧ位置が照合され、現在の位置がＮＧ位置に相当すると判断されれば、ステップ５１３に進む。ステップ５１３以降の処理は後に説明する。
【００６２】
現在の位置が、ＮＧ位置でなければ、ステップ５０６に進む。ステップ５０６では、その時点での動作が、ＮＧ位置記録動作でないかが調べられる。ＮＧ位置記録動作中であれば、ステップ５０７に進み、現在の位置をＮＧ位置としてＮＧ位置記憶手段１２２に記録し、ステップ５１３に進む。
【００６３】
ステップ５０６においてＮＧ位置記録動作中でないと判定されれば、ステップ５０８に進む。ステップ５０８では、現在の時刻とＮＧ時間帯記憶手段１２１の内容が比較され、現在がＮＧ時間帯に相当するか否かが判定される。ＮＧ時間帯と判定されれば、ステップ５１３へ進む。ＮＧ時間帯でなければ、ステップ５０９に進む。
【００６４】
ステップ５０９では、処理を終了すべき時刻が決定される。この決定処理の内容は、後に図６のフロー図を用いて説明する。ステップ５０９で終了時刻が決定されたら、ステップ５１０に進む。ステップ５１０では、その時点での現在時刻を、計時手段１１３から取得する。
【００６５】
ステップ５１１では、ステップ５１０で取得した現在時刻と、ステップ５０９で決定した終了時刻とが比較される。現在時刻が終了時刻よりも後であれば、終了と判定してステップ５１３へ進む。ステップ５１１の比較処理において、現在時刻が終了時刻より前であれば、ステップ５１２へ進み相互発見動作を実施する。
ステップ５１２の相互発見動作については、後に図８以降を用いて説明する。図８で説明されるステップ５１２の処理が、図１における相互発見手段１５２の処理内容である。
【００６６】
ステップ５１２の相互発見動作が終了したら、再びステップ５１０に戻り、その時点での現在時刻を計時手段１１３から取得する。ステップ現在時刻が、ステップ５０９で決定した終了時刻と比較される。ステップ５１１の比較処理において、現在時刻が終了時刻を過ぎていればステップ５１３へ進むのは、前述したとおりである。
【００６７】
ステップ５１３では、次に近接検出処理を起動するまでの休止時間が決定される。休止時間決定の決定については、後に図７を用いて説明する。休止時間が決定されると、ステップ５１４に進んで、近接検出処理は終了である。ステップ５１３で決定された時間が経過すると、再び相互発見動作制御手段１５１が起動され、ステップ５０１から実行される。
【００６８】
以上で、相互発見動作制御手段１５１の概略を説明した。次に、相互発見動作制御手段１５１の細部を説明する。
【００６９】
まずは、図６を用いて図５のステップ５０９に相当する終了時刻決定処理を説明する。図５に示す処理は、相互発見動作制御手段１５１が実行するものであり、図６に示す処理も、同じく相互発見動作制御手段１５１が実行するものである。図６において、６０１〜６０６は動作ステップである。
図６に示すように、ステップ６０１で実行を開始すると、ステップ６０２に進み、計時手段１１３から現在時刻と想定誤差とを取得する。次にステップ６０３に進み、ステップ６０２で、取得した想定誤差が所定の誤差より小さいか否かが判定される。本発明の実施形態では、所定の誤差を１０秒とする。
【００７０】
想定誤差が所定の誤差である１０秒より少なければ、ステップ６０４に進み終了時刻を計算によって決定する。式１が、この際に用いられる計算式である。
【００７１】
終了時間＝現在時刻＋一定時間＋（想定誤差×２）  ：式１
【００７２】
式１において、現在時刻および想定誤差は、ステップ６０２で計時手段１１４から取得したものである。一定時間とは、近接検出を最低限実行する時間であり、本発明の実施形態では、５秒とする。すなわち、本発明の実施形態では、計時手段１１３の想定誤差がゼロである場合でも、最低限５秒間は相互発見手段１５２を実行するものとする。想定誤差を２倍したものを加える理由は、図７を用いて休止時間決定の処理を説明した後に説明する。
【００７３】
ステップ６０３において、取得した想定誤差が所定の誤差（１０秒）より大きいと判定された場合はステップ６０５に進む。ステップ６０５では、式２を用いて終了時刻が計算される。
【００７４】
終了時間＝現在時刻＋一定時間＋（所定の誤差×２）  ：式２
【００７５】
式２における一定時間とは、式１における一定時間と同じであり、本発明の実施形態では５秒とする。また、式２における所定の誤差とは、ステップ６０３での判定に用いた所定の誤差であり、本発明の実施形態では１０秒である。したがって、本発明の実施形態では、ステップ６０５での終了時刻決定では、現在時刻に２５秒を加えたものが終了時刻となる。ステップ６０４またはステップ６０５で終了時刻が決定されたら、ステップ６０６に進んで処理は終了である。
【００７６】
次に、図７を用いて図５のステップ５１３に相当する休止時間決定処理を説明する。図
７に示す処理も、図６に示した処理と同様に、相互発見動作制御手段１５１が実行する処理である。図７において、７０１〜６７６は動作ステップである。
ステップ７０１で実行を開始すると、ステップ７０２に進んで計時手段１１３から現在時刻および想定誤差を取得する。ステップ７０３では、ステップ７０２で取得した想定誤差が、所定の誤差と比較される。所定の誤差は、図６での説明と同じく本発明の実施形態では１０秒とする。想定誤差が所定の誤差（１０秒）より小さければ、ステップ７０４に進み、式３を用いて休止時間が計算される。
【００７７】
休止時間＝次の目標時刻−想定誤差−現在時刻  ：式３
【００７８】
式３において、次の目標時刻とは、次に相互発見動作制御手段１５１を起動すべき時刻である。本発明の実施形態では、１分毎に近接検出処理を実行することとする。すなわち、秒の数字が０となる時点で近接検出処理を実行することとする。例えば、現在時刻が１２時３４分１０秒であれば、次の目標時刻は１２時３５分００秒である。式３において、想定誤差と現在時刻は、ともにステップ７０２で計時手段１１３から取得したものである。
【００７９】
ここで、計時手段１１３から取得した現在時刻が１２時３４分１０秒であり、想定誤差が８秒であったとする。想定誤差が８秒であるため、計時手段１１３が１２時３５分００秒になった瞬間は、正確な時刻では１２時３４分５２秒から１２時３５分０８秒の間のどこかと推定できる。したがって、正確な時刻で１２時３５分００秒の瞬間に、相互発見動作制御手段１５１を起動しておくためには、計時手段１１３の示す時刻が１２時３４分５２秒になった時点で処理を起動しなくてはならない。これが、式３において想定誤差を減算している理由である。すなわち、計時手段１１３が示す時刻より、少なくとも想定誤差の分だけ、早く処理を始めなければならない。
【００８０】
また、計時手段１１３が１２時３４分５２秒を示した瞬間は、想定誤差が８秒と仮定すると、正確な時刻では１２時３４分４４秒から１２時３５分００秒の間のどこかである。
したがって、計時手段１１３が１２時３４分５２秒を示した瞬間から処理を始めて、正確な現在時刻で１２時３５分００秒から始まる５秒間の処理に対応するためには、動作時間は５秒間に１６秒を加えねばならない。この１６秒は、想定誤差の２倍である。これが、式１において想定誤差の２倍を加算している理由である。すなわち、相互発見の動作時間は、所定の時間（本発明の実施形態では５秒）に、少なくとも想定誤差の２倍を加えた時間より長くなくてはならない。
【００８１】
図７の説明に戻る。ステップ７０３で、想定誤差が所定の誤差以上と判定された場合は、ステップ７０５に進む。ステップ７０５では、計算式ではなく、ランダムな時間を休止時間とする。本発明の実施形態では、計時手段１１３の想定誤差が小さい場合には、１分（６０秒）毎に相互発見動作制御手段１５１を起動するので、ランダムな時間の範囲は、それと離れない適当な範囲とする。例えば、本発明の実施形態では、４０秒から８０秒の間のランダムな時間とする。ステップ７０４またはステップ７０５で休止時間が決定されたら、ステップ７０６に進んで処理は終了である。
【００８２】
計時手段１１３が示す時刻が、所定の誤差以上に合致していない装置同士の場合、お互いに式３で計算される時間だけ休止すると、永遠に互いを発見できない。想定誤差が所定の誤差以上の場合に、ステップ７０５でランダムな時間だけ休止するようにしておけば、ゼロでは無い確率で相互発見動作制御手段１５１の動作時間が重なり、互いを発見できる可能性が生じる。これが、ステップ７０５において休止時間をランダムな時間とする理由である。
【００８３】
次に、図５におけるステップ５１２の相互発見動作について説明する。このステップ５１２の処理が、図１における相互発見動作１５２の処理にあたる。
【００８４】
まずは、図８を用いて、装置間で送受信される情報の形式について説明する。図８（ａ）は、最初に送出されるビーコンパケットの形式を示している。ビーコンパケットは、ビーコン開始マーカで始まり、ビーコン終了マーカで終わる。受信側は、いずれかのマーカ部分だけでも受信できれば、そのパケットがビーコンパケットであると判別できる。
【００８５】
ビーコン開始マーカの次は、発信者ＩＤである。発信者ＩＤは、装置の識別に使用される番号であり、装置ごとに一意に定まっている。
次に、時刻と想定誤差が送出される。これは、計時手段１１３から取得できるものである。
【００８６】
次に、送出されるサービスＩＤの数と、その個数分のサービスＩＤが送出される。ここで送出されるサービスＩＤは、サービス記憶手段１２３に記録されているものである。サービス記憶手段１２３には、図２（ａ）に示したように、サービスＩＤとスクリプトが記録されているが、送出されるのはサービスＩＤの個数と、サービスＩＤの部分だけである（スクリプトは送出されない。）。
【００８７】
次にチェックデータが送出される。チェックデータとは、受信した内容が、送信側が送出した内容と合っているかを確かめるためのデータである。パケット全体のハッシュ値などが、チェックデータとして用いられる。チェックデータの後には、前述のビーコン終了マーカが続く。なお、ビーコンパケットを送出した装置を、マスタ装置と呼ぶことにする。
【００８８】
図８（ｂ）は、ＡＣＫパケットの形式を示している。ＡＣＫパケットは、ビーコンパケットを受信した装置が、それに返事をするためのパケットである。ＡＣＫパケットは、ＡＣＫ開始マーカで始まり、ＡＣＫ終了マーカで終わる。
ＡＣＫ開始マーカの直後には、発信者ＩＤが続く。発信者ＩＤは上述したとおり、装置を識別するための番号である。
次に、宛先ＩＤが送出される。宛先ＩＤは、ＡＣＫパケットの送り先であり、マスタ装置を表すＩＤとなる。宛先ＩＤの後には、時刻と想定誤差が続く。さらに、チェックデータとＡＣＫ終了マーカと続く。
【００８９】
図８（ｃ）は、指名パケットの形式を示す。指名パケットは、ＡＣＫパケットを受け取った装置、すなわち最初にビーコンパケットを送信したマスタ装置が発信するパケットである。指名パケットは、マスタが送信したい相手を指定するために送出するパケットである。
【００９０】
指名パケットは、指名開始マーカで始まり、発信者ＩＤ、宛先ＩＤ、チェックデータと並び、指名終了マーカで終わる。宛先ＩＤが、マスタが選んだ通信相手である。ＡＣＫパケットの送信者がこの通信相手になる。なお、宛先ＩＤで指定された装置を、スレーブ装置と呼ぶことにする。
【００９１】
図８（ｄ）は、ＮＡＫパケットの形式を示す。ＮＡＫパケットは、パケットが正常に受け取れなかったことを示すパケットである。ＮＡＫ開始マーカ、発信者ＩＤ、チェックデータ、ＮＡＫ終了マーカの順にデータを送出する。ＮＡＫパケットは、再送を要求するときに送出される。
【００９２】
図８（ｅ）は、サービスパケットの形式を示す。サービスパケットは、スレーブ装置か
らマスタ装置に向けて、スレーブ装置が対応するサービスを通知するために送出される。
サービス開始マーカ、発信者ＩＤ、宛先ＩＤ、送出サービスＩＤ数、サービスＩＤの並び、チェックデータ、サービス終了マーカの順で送出される。
【００９３】
図８（ｆ）は、コマンドパケットの形式を示す。コマンドパケットは、マスタからスレーブに向けて、処理するサービスを通知するために送出されるパケットである。コマンド開始マーカ、発信者ＩＤ、宛先ＩＤ、サービスＩＤ、チェックデータ、コマンド終了マーカの順でデータが送出される。なお、サービスＩＤが０であるコマンドパケットは、終了を表すものとする。
【００９４】
以上のパケットがやり取りされる様子を、図９のシーケンス図に示す。図９において、９０１〜９０７は処理シーケンスである。
ただし、ＮＡＫパケットは、図９のシーケンス図が示す処理では使用されない。この図で示す状態は、通信可能範囲内で近接状態にある装置が２機のみであり、通信誤りが起きない場合の処理である。
図９に示す処理シーケンスは、相互発見手段１５２の処理により実現される。それについては、図１０、図１２、図１３を用いて後述する。
【００９５】
一方の相互発見装置（「装置Ａ」とする）からビーコンパケットが送出（シーケンス９０１）されると、もう一方の相互発見装置（「装置Ｂ」とする）がそのビーコンパケットを受信し、ＡＣＫパケットを送出する（シーケンス９０２）。
装置Ａは、それに答えて指名パケットを送出する（シーケンス９０３）。これで、装置Ａがマスタ装置、装置Ｂがスレーブ装置となる。装置Ｂは、指名パケットに答えて、自身の対応するサービスを通知するサービスパケットを送出する（シーケンス９０４）。
装置Ａは、自身と装置Ｂが共通に対応するサービスを抽出し、そのサービスＩＤをシーケンスコマンドパケットで送出する（シーケンス９０５）。
【００９６】
装置Ａと装置Ｂは、それぞれサービスＩＤに対応する処理を実行し、装置Ｂは処理が終わるとＡＣＫパケットを送出する（シーケンス９０６）。コマンドパケットとＡＣＫパケットのやり取りは、装置Ａと装置Ｂとで共通して対応するサービスの数だけ続く。共通するサービスがなくなると、装置Ａは終了を表すコマンドパケット、すなわちサービスＩＤが０であるコマンドパケットを送出し（シーケンス９０７）、装置Ａも装置Ｂも近接検出動作を終了する。
【００９７】
次に、図１０を用いて、図５におけるステップ５１２に相当する相互発見動作のフローを説明する。この処理が、図１における相互発見手段１５２の処理である。図１０において、１００１〜１０１１は動作ステップである。
【００９８】
ステップ１００１で処理を開始すると、ステップ１００２に進み所定の時間だけパケット受信を試みる。受信には、受信手段１１７を用いる。ここで言う所定の時間とは、他にパケットを送出中の機器が無いかを確認するために必要な時間であり、本発明の実施形態では１０ミリ秒とする。
ステップ１００２の処理では、所定の時間が経過しても、他の機器からのパケットを受信できなければ、ステップ１００３に進み、さらにステップ１００４に進む。すなわち、他に信号を送出している機器が無いので、自らがマスタ装置として信号を送出しようとする。
ステップ１００４のマスタ動作およびステップ１００５以降の動作については、後に図１２を用いて詳細に説明する。
【００９９】
ステップ１００２の処理中に、所定の時間内に他の機器からのパケットを受信し始めた
場合、そのパケットを終わりまで受信してからステップ１００３に進む。この場合、ステップ１００３では受信ありと判定され、ステップ１００６に進む。
【０１００】
ステップ１００６では、前のステップで受信したパケットが、ビーコンパケットであるかどうかを判定する。ビーコンパケットであるかどうかは、前述のようにパケットの最初と最後についているマーカを見れば判別できる。ビーコンパケットには、マスタ装置の対応するサービスの情報などが含まれる。ステップ１００６で、パケットがビーコンパケットで無いと判定されれば、ステップ１０１１に進み、相互発見動作は終了である。この終了は、図５のステップ５１２の終了を意味し、ステップ５１０へと進む。
【０１０１】
ステップ１００６で、受信したパケットがビーコンパケットであると判定した場合は、ステップ１００７に進む。
ステップ１００７では、受信したビーコンパケットが完全であったかが判定される。完全でない場合とは、ビーコンパケットを途中から受信した場合や、他機器の送出する信号との混信で情報を正常に受信できなかった場合などである。受信したビーコンパケットが完全でなかった場合は、ステップ１００８に進みＮＡＫパケットを送出し、ステップ１０１１へと進み処理を終了する。
【０１０２】
ステップ１００７で受信したビーコンパケットが完全であったと判定された場合、ステップ１００９に進み、時刻修正を試みる。時刻修正については、図１１を用いて後に説明する。
さらにステップ１０１０へ進み、スレーブ動作を実行する。スレーブ動作については、図１３を用いて後に説明する。ステップ１０１０でのスレーブ動作が終了すると、ステップ１０１１へと進み処理を終了する。この終了は、前述のように図５のステップ５１２の終了を意味し、ステップ５１０へと進む。
【０１０３】
次に、図１１を用いて、図１０におけるステップ１００９に相当する時刻修正動作を説明する。図１１に示す処理は、図１０に示す処理の一部、または後に図１２に示す処理の一部であり、相互発見手段１５２が実行するものである。図１１において、１１０１〜１１０５は動作ステップである。
ステップ１１０１で動作を開始すると、ステップ１１０２へ進みパケット内に記録されている時刻と想定誤差を取得する。パケットがビーコンパケットである場合には、図８（ａ）に示したように、３番目の項目が時刻であり、４番目の項目が想定誤差である。
また、パケットがＡＣＫパケットである場合には、図８（ｂ）に示したように、４番目の項目が時刻であり、５番目の項目が想定誤差である。
次のステップ１１０３では、パケットに書かれていた想定誤差が、自身の計時手段１１３の想定誤差と比較される。パケットで送られてきた時刻の想定誤差が、自身の計時手段１１３の想定誤差より小さいと判定された場合は、ステップ１１０４に進み、自身の計時手段１１３が保持する時刻と想定誤差を、パケットに書かれていた時刻と想定誤差で置き換える。時刻および想定誤差の修正が済めば、ステップ１１０５に進み処理は終了である。
【０１０４】
次に、図１２を用いて、図１０のステップ１００４に相当するマスタ動作のフローを説明する。図１２に示す処理も、図１０に示す処理と同様に、相互発見手段１５２により実行される処理である。図１２において、１２０１〜１２２７は動作ステップである。
ステップ１２０１で動作を開始後、ステップ１２０２でランダムな時間だけ受信を試みる。これは、通信可能範囲に他の装置が存在する場合の衝突を回避するためである。
自装置の時刻と、他装置の時刻とがある誤差以下で一致している場合、まったく同一の動作をすると、同時にビーコンパケットを送出することとなり、混信して処理が進められない。ステップ１２０２でランダムな時間受信を試みることにすれば、時刻が一致してい
る装置同士でも、ビーコンパケット送出タイミングが重なる確率は低くなる。
【０１０５】
ステップ１２０２において、受信を試みている最中に他装置からのパケットを受信し始めた場合は、そのパケットを受信し終わってからステップ１２０３に進む。この場合は、ステップ１２０３では受信ありと判定され、ステップ１２０４に進む。
【０１０６】
ステップ１２０４では、呼び出し元、すなわち図１０におけるステップ１００４に“１”を返す。この実行経路は、自分がマスタ装置となりマスタ動作を開始しようと試みたが、他の機器が先にマスタ動作を開始したため、自分はマスタ動作をあきらめる、という処理である。
呼び出し元に返す値である“１”は、他の装置からのパケットを受信したため、マスタ動作をあきらめたことを示す。
【０１０７】
ここで、図１０のステップ１００４に戻って、動作を説明する。ステップ１００４で呼び出し先から帰ってきた値が“１”であった場合、ステップ１００５の判定で、ステップ１００６に進む。すなわち、他の装置からのパケットを受信したので、それがビーコンパケットであるかどうかを判定する。以下の処理は、図１０の説明で述べた通りである。
【０１０８】
図１２のステップ１２０２で、他の装置からのパケットを受信しなかった場合、ステップ１２０３で受信ありとは判定されず、ステップ１２０５に進む。
ステップ１２０５では、ビーコンパケットを送出する。ビーコンパケットの送出には、送信手段１１８が用いられる。
次に、ステップ１２０６に進み、他の装置からのＡＣＫパケットの受信を試みる。ステップ１２０６で何も受信できなかった場合、ステップ１２０７で受信ありとは判定されず、ステップ１２０８に進む。ステップ１２０８では、呼び出し元に“０”を返す。
ここで呼び出し元に返す“０”は、処理が正常に終了したことを示している。この実行経路を通る場合は、通信可能な範囲に他の装置が存在しないと考えられるので、マスタ動作は終了してよい。
【０１０９】
ステップ１２０６で何かしら受信した場合は、ステップ１２０７で受信ありと判定され、ステップ１２０９へ進む。
ステップ１２０９では、受信したものが完全なＡＣＫパケットであるかが検査される。完全なＡＣＫパケットでない場合とは、他の装置が受信時の誤りなどを検出しＮＡＫパケットを送出した場合、あるいは他の複数の装置が同時にＡＣＫパケットを送出して混信により正常な受信ができなかった場合などである。ステップ１２０９で完全なＡＣＫパケットでないと判定された場合は、ステップ１２１０に進む。
【０１１０】
ステップ１２１０では、現在時刻と図５のステップ５０９で決定された終了時刻とが比較され、現在時刻が終了時刻を過ぎていれば、ステップ１２１１に進んで呼び出し元に“−１”を返す。
ここで呼び出し元に返す“−１”は、処理が正常に終了しなかったことを示す値である。
まだ終了時刻前であれば、ステップ１２１２に進みＮＡＫパケットを送出し、ステップ１２０６に戻って再びＡＣＫパケットの受信を試みる。
【０１１１】
ステップ１２０９でＡＣＫパケットを完全な形で受信できたと判定された場合、ステップ１２１３に進んで時刻修正を試みる。時刻修正処理は、先に図１１を用いて説明したとおりである。
【０１１２】
次に、ステップ１２１４に進み、指名パケットを送出する。指名パケットは、図８（ｂ
）で説明したような形式である。３番目の項目の宛先ＩＤには、ＡＣＫパケットの送信者ＩＤを設定する。
次に、ステップ１２１５に進み、他の装置からのサービスパケットの受信を試みる。ステップ１２１５において、サービスパケットが届かない、あるいはサービスパケットが完全な形で受け取れなかった場合、ステップ１２１６で完全でないと判定され、ステップ１２１７に進む。
ステップ１２１７では、処理が正常に終了しなかったことを示す“−１”を呼び出し元に返す。
【０１１３】
ステップ１２１５で完全なサービスパケットを受信した場合、ステップ１２１６で完全であると判定され、ステップ１２１８に進む。
ステップ１２１８では、受信したサービスパケットに書かれていたサービスＩＤと、自身がサービス記憶手段１２３で保持するサービスＩＤとを比較し、両者に共通するサービスＩＤを抽出する。この共通のサービスＩＤは、以降の処理で順次処理される。
【０１１４】
次のステップ１２１９では、未処理の共通サービスＩＤが残っているかが判定される。未処理のサービスＩＤがあれば、ステップ１２２０に進み、そのサービスＩＤがコマンドパケットに入れて送出される。
さらにステップ１２２１では、自身のサービス記憶手段１２３に格納されている、そのサービスＩＤに対応するスクリプトを実行する。スクリプトとは、図２（ｂ）に示した例のようなものである。
【０１１５】
スクリプトの実行が終了したら、ステップ１２２２に進み、他の装置からのＡＣＫパケットの受信を試みる。ＡＣＫパケットを受信できなければ、ステップ１２２３の判定によりステップ１２２４に進み、“−１”を呼び出し元に返す。
ステップ１２２２でＡＣＫパケットを受信できれば、ステップ１２２３の判定により、ステップ１２１９に進み、未処理の共通サービスＩＤが残っているか再び検査される。
【０１１６】
ステップ１２１９で共通するサービスＩＤが残っていないと判定されれば、ステップ１２２５に進み終了を示すコマンドパケットを送出する。コマンドパケットで終了を表すには、図８（ｆ）の説明で述べたように、サービスＩＤに“０”を設定すればよい。
次に、ステップ１２２６に進み、近接情報を近接情報記憶手段１１９に記録する。近接情報とは、近接した時刻と、相手の装置を識別するＩＤ、自身と共通して対応するサービスＩＤの並びを組にしたものである。次はステップ１２２７に進み、正常終了を表す“０”を呼び出し元に返す。
【０１１７】
以上で、マスタ動作の説明は終了である。次に、図１３を用いて、マスタ動作と対をなすスレーブ動作を説明する。図１３において、１３０１〜１３２５は動作ステップである。
スレーブ動作は、図１０におけるステップ１０１０に相当する。スレーブ動作は、図１０のステップ１００２または図１２のステップ１２０２において、完全なビーコンパケットを受信できた場合に呼び出される。なお、図１０に示す処理および図１２に示す処理と同様に、図１３に示す処理も相互発見手段１５２により実現される。
【０１１８】
ステップ１３０１で動作を開始すると、ステップ１３０２で受信しているビーコンパケットの送信者が、すでに近接検出を終えている相手であるかが判定される。ビーコンパケットの送信者ＩＤで、近接情報記憶手段１１９に記録されている情報を検索する。送信者ＩＤが近接情報記録手段１１９に記録されていなければ、その送信者ＩＤを持つ装置とは初めての近接である。
また、送信者ＩＤが近接情報記録手段１１９に記録されている場合でも、その記録の時
刻と現在時刻が大きく異なれば、再検出とはみなさない。本発明の実施形態では、前回の近接情報の記録から、４時間以上経過していれば、再検出とはみなさないこととする。ステップ１３０２で再検出と判定されれば、ステップ１３０３に進みスレーブ動作は終了である。
【０１１９】
ステップ１３０２で、再検出と判定されなかった場合は、ステップ１３０４に進む。ステップ１３０４では、ビーコンパケットの送信者（すなわちマスタ装置）と自身とで、共通のサービスに対応しているかを判定する。マスタ装置の対応するサービスＩＤは、ビーコンパケットに含まれている。また、自身の対応するサービスＩＤは、サービス記憶手段１２３に記録されている。
ステップ１３０５では、共通するサービスＩＤがあるかどうかが判定される。共通なしと判定されれば、ステップ１３０６に進み処理を終了する。
【０１２０】
マスタ装置と自身とが共通のサービスに対応している場合、ステップ１３０７に進み、ＡＣＫパケットを送出する。ＡＣＫパケットの宛先ＩＤには、ビーコンパケットの送信者のＩＤを設定する。また、ＡＣＫパケットには、自身の計時手段１１３から取得した時刻と想定誤差との情報も入れる。
【０１２１】
ステップ１３０７でＡＣＫパケットを送出した後には、ステップ１３０８へ進み指名パケットの受信を試みる。ステップ１３０８で受信したパケットがＮＡＫパケットであった場合、ステップ１３０９の判定によりステップ１３１０に進む。
１３１０では、現在時刻と図５のステップ５０９で決定した終了時刻とが比較され、現在時刻が終了時刻より後であれば、ステップ１３１１に進み処理を終了する。
【０１２２】
まだ終了時刻の前であった場合は、ステップ１３１２に進んでランダムな時間だけ受信を試みる。マスタ装置がＮＡＫパケットを送出するのは、自身が送出したＡＣＫパケットを正常に受信できなかった場合である。
この場合は、通信可能範囲内に自身とマスタ装置以外にも装置が存在し、その装置もＡＣＫパケットを送出したため混信が起こったことが示唆される。したがって、他の装置とＡＣＫパケットを送出するタイミングをずらすために、ステップ１３１２でランダムな時間だけ受信を試みるものとする。
【０１２３】
ステップ１３１２で受信を試みている最中に、何らかのパケットを受信した場合は、ステップ１３１３の判定によりステップ１３１４に進み処理を終了する。すなわち、他の機器が先にＡＣＫパケットの送出を始めたと想定されるので、自身はＡＣＫパケットを送出することを断念する。
ステップ１３１２で受信を試みている間に、他の機器からの信号を受信しなかった場合は、ステップ１３０７に戻り再びＡＣＫパケットを送出する。
【０１２４】
ステップ１３０８で受信したパケットが、ＮＡＫパケットで無かった場合、ステップ１３１５に進みそのパケットが自分宛の指名パケットであるかが検査される。指名パケットが自分宛であるかどうかは、図８（ｃ）に示した指名パケットの３番目の項目である宛先ＩＤが、自身のＩＤと一致するかどうかで判定できる。
自分宛の指名パケットで無かった場合、ステップ１３１６に進み処理を終了する。一方、自分宛の指名パケットであった場合は、ステップ１３１７に進みサービスパケットを送出する。サービスパケットの内容は、図８（ｅ）に示したとおりである。
【０１２５】
ステップ１３１８では、マスタ機器からのコマンドパケットの受信を試み、ステップ１３１９では、そのパケットが自分宛のコマンドパケットであるかが検査される。自分宛のコマンドパケットでない場合は、ステップ１３２０に進み処理を終了する。一方、自分宛
のコマンドパケットであった場合は、ステップ１３２１に進み、終了コマンドであるかどうか、すなわちコマンドパケットに含まれるサービスＩＤが０であるかどうかが調べられる。
終了コマンドでかった場合は、ステップ１３２２に進みサービスＩＤに対応するスクリプトを実行する。スクリプトは、自身のサービス記憶手段１２３に記録されているものを参照する。スクリプト実行が終了したら、ステップ１３２３に進みＡＣＫパケットを送出し、ステップ１３１８に戻る。
【０１２６】
ステップ１３２１で、受信したコマンドパケットが終了コマンドであると判定された場合は、ステップ１３２４に進み近接情報が近接情報記憶手段１１９に記録される。近接情報とは、図１２のステップ１２２６で述べたように、近接した時刻と、相手の装置を識別するＩＤ、自身と共通して対応するサービスＩＤの並びを組にしたものである。さらにステップ１３２５に進み処理を終了する。
【０１２７】
以上で、本発明の実施形態を説明した。
なお、本発明の実施形態では、ＮＧ位置記憶手段１２２の内容は、装置自身の位置情報取得手段１１５で取得し、図５のステップ５０７で記録されるものとしたが、ＰＣ１０２もしくは携帯電話１０３、またはセンターサービス１０５からダウンロードする構成でもよい。
【産業上の利用可能性】
【０１２８】
本発明の相互発見装置は、相互発見のために必要な動作時間帯を最小限に限定することができる。このため、消費電力を抑えなくてはいけない携帯型の通信機器に好適である。
【図面の簡単な説明】
【０１２９】
【図１】本発明の相互発見装置を説明する全体構成図である。
【図２】本発明の相互発見装置のサービス記憶手段の内容を説明する図である。
【図３】本発明の相互発見装置の外観を説明する図である。
【図４】本発明の相互発見装置のユーザインタフェースを説明する図である。
【図５】本発明の相互発見装置の近接検出動作を説明するフロー図である。
【図６】本発明の相互発見装置の終了時刻決定の処理を説明するフロー図である。
【図７】本発明の相互発見装置の休止時間決定の処理を説明するフロー図である。
【図８】装置間で送受信されるパケットのデータ形式を説明する図である。
【図９】本発明の相互発見装置同士の処理シーケンスを説明する図である。
【図１０】本発明の相互発見装置の相互発見動作の処理を説明するフロー図である。
【図１１】本発明の相互発見装置の時刻修正の処理を説明するフロー図である。
【図１２】本発明の相互発見装置の相互発見動作の一部であるマスタ動作の処理を説明するフロー図である。
【図１３】本発明の相互発見装置の相互発見動作の一部であるスレーブ動作の処理を説明するフロー図である。
【図１４】特許文献１に示した従来技術を説明するための図である。
【図１５】特許文献２に示した従来技術を説明するための図である。
【符号の説明】
【０１３０】
１０１  相互発見装置
１０２  パーソナルコンピュータ
１０３  携帯電話
１０４  インターネット
１０５  センターサービス
１１１  実行制御手段
１１２  外部接続手段
１１３  計時手段
１１４  自動時刻合せ手段
１１５  位置情報取得手段
１１６  位置情報記憶手段
１１７  受信手段
１１８  送信手段
１１９  近接情報記憶手段
１２０  プログラム記憶手段
１２１  ＮＧ時間帯記憶手段
１２２  ＮＧ位置記憶手段
１２３  サービス記憶手段
１２４  出力手段
１２５  入力手段
１５１  相互発見動作制御手段
１５２  相互発見手段
【図１】
2009231866.tif 000003
【図２】
2009231866.tif 000004
【図３】
2009231866.tif 000005
【図４】
2009231866.tif 000006
【図５】
2009231866.tif 000007
【図６】
2009231866.tif 000008
【図７】
2009231866.tif 000009
【図８】
2009231866.tif 000010
【図９】
2009231866.tif 000011
【図１０】
2009231866.tif 000012
【図１１】
2009231866.tif 000013
【図１２】
2009231866.tif 000014
【図１３】
2009231866.tif 000015
【図１４】
2009231866.tif 000016
【図１５】
2009231866.tif 000017