(57)【特許請求の範囲】
【請求項１】
移動通信装置の位置情報を検知する位置検知手段と；
上記移動通信装置が相手を呼び出す強さを示すレベルと、通信装置が相手を呼び出す強さを示すレベルとを割り当てるレベル割当手段と；
上記移動通信装置の相手を呼び出す強さを示すレベルを参照する参照手段と；
上記検知された位置情報と、上記参照された移動通信装置のレベルと上記通信装置のレベルとの差とに基づいて、上記移動通信装置と上記通信装置との通信を許可するかどうかを制御する制御手段と；
を有することを特徴とする通信システム。
【請求項２】
請求項１において、
上記通信装置によって要求された通信が、特別な通信であることを示す緊急度を割り当てる緊急度割当手段を有し、
上記制御手段は、上記割り当てられた緊急度に応じて、制御することを特徴とする通信システム。
【請求項３】
請求項１において、
他の通信装置によって要求された通信を許可するかどうかの指示を、上記移動通信装置から受ける受信手段を有し、
上記制御手段は、上記指示に応じて、制御することを特徴とする通信システム。
【請求項４】
請求項１において、
上記位置検知手段によって検知された位置情報に基づいて、上記移動通信装置と上記通信装置との距離を計算する計算手段を有し、
上記制御手段は、上記計算結果に応じて、制御することを特徴とする通信システム。
【請求項５】
請求項１において、
上記位置検知手段は、上記制御手段によって通信が許可されるまでの間、検知することを特徴とする通信システム。
【請求項６】
移動通信装置と通信可能な通信制御装置であって、
上記移動通信装置が相手を呼び出す強さを示すレベルと、上記通信装置が相手を呼び出す強さを示すレベルとを割り当てるレベル割当手段と；
上記移動通信装置との通信要求を、通信装置から受信する受信手段と；
上記移動通信装置の位置を検知する位置検知装置から、上記移動通信装置の位置情報を取得する取得手段と；
上記移動通信装置の相手を呼び出す強さを示すレベルを記憶装置から参照する参照手段と；
上記取得された位置情報と、上記参照された移動通信装置のレベルと通信装置のレベルとの差とに基づいて、上記通信装置と上記移動通信装置との通信を許可するかどうかを制御する制御手段と；
を有することを特徴とする通信制御装置。
【請求項７】
移動通信装置と通信可能な通信制御装置を制御するための制御方法であって、
上記移動通信装置が相手を呼び出す強さを示すレベルと、上記通信装置が相手を呼び出す強さを示すレベルとを割り当てるレベル割当ステップと；
上記移動通信装置との通信要求を、通信装置から受信するステップと；
上記移動通信装置の位置を検知する位置検知装置から、上記移動通信装置の位置情報を取得するステップと；
上記移動通信装置の相手を呼び出す強さを示すレベルを記憶装置から参照する参照ステップと；
上記取得された位置情報に応じて、上記通信装置と上記移動通信装置との通信を許可するかどうかを制御するステップと；
を有することを特徴とする制御方法。
【請求項８】
移動通信装置と通信可能な通信制御装置を制御するための制御方法を、コンピュータに実行させるためのプログラムをコンピュータ読み出し可能に記憶した記憶媒体であって、
上記移動通信装置が相手を呼び出す強さを示すレベルと、上記通信装置が相手を呼び出す強さを示すレベルとを割り当てるレベル割当ステップと；
上記移動通信装置との通信要求を、通信装置から受信するステップと；
上記移動通信装置の位置を検知する位置検知装置から、上記移動通信装置の位置情報を取得するステップと；
上記取得された位置情報と、上記参照された移動通信装置のレベルと通信装置のレベルとの差とに基づいて、上記通信装置と上記移動通信装置との通信を許可するかどうかを制御するステップと；
をコンピュータに実行させるプログラムを記憶したコンピュータ読取可能な記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、移動通信装置の位置情報を用いて呼び出しや通知動作を行うことが可能な通信システム、通信制御装置、その制御方法および記憶媒体に関するものである。
【０００２】
【従来の技術】
一般にコンタクトを取りたい相手に直接会いに行く場合には、予め電話をして待っていてもらったり、待ち合わせをしたり、居場所を予想して行ったりすることが考えられる。それには、相手の所在が分かることが重要である。
【０００３】
また、従来より、コンタクトをとりたい相手を呼び出す手段としては、電話やポケットぺージャ等、様々なものが提供されている。これらのコンタクト手段は、相手の所在や忙しさに依らない一方的な呼出手段である。
【０００４】
また、相手の所在を判定するシステムとして、従来より赤外線を用いた位置センサシステム（例えば、オリベッティ社のアクティブ・バッジ・システム等）が製品として存在する。これは、それぞれ赤外線の発信と受信を行うセンサとバッジ（ネームタグ）とを有して構成されるものであり、センサは、卓上、部屋の壁や天井、廊下の壁や天井等、様々な場所に配置され、バッジは各人が胸につけるようになっている。
【０００５】
そして、このシステムは、定期的にバッジからバッジのＩＤを赤外線を用いて送信し、その赤外線を受信したセンサがシステムに対して受信したバッジＩＤを送信する。このようにして、バッジ（バッジを付けた人）がどのセンサに反応したかによって、バッジ（バッジを付けた人）の位置を検出する。さらに、このシステムは検出した位置情報をもとに、画面上にバッジ（バッジを付けた人）の所在を表示する機能を備えている。
【０００６】
また、人を呼び出す方法として、バッジに付属するスピーカから音を出す（これは、いわゆるポケットページャの機能である）ことができるようになっている。
【０００７】
【発明が解決しようとする課題】
しかしながら、相手がその場所にいるかどうかが分からない状態で会いに行ったり、電話をかけたりすると、相手がいなかったり、忙しかったりしてコンタクトをとれないことが多い。このコンタクトの失敗は、作業の効率低下を引き起こすという問題がある。また、近くに来たら会うということもあるが、自分も移動することを考えると、なかなか会う機会に恵まれないことがある。また、近くに会いたい相手がいたとしても、気付かないこともある。
【０００８】
そこで本発明は、上記の課題を解決するために提案されたもので、位置センサシステムから得られる人の所在情報をもとに、相手が呼び出し可能かどうかを判定して、無駄な呼び出しを減らし、呼び出し相手の作業に極力割り込みをかけないで呼び出しを行うことができるコンタクト支援システムを提供することを目的とする。
【０００９】
さらに、お互いの所在を考慮して、出会うきっかけを提供し、お互いの移動距離を最小限にすることのできるコンタクト支援システムを提供することを目的とする。
【００１０】
さらに、上記２つの目的を同時に実現することによって、お互いの移動距離が少なく、適切に相手の状態を考慮した呼び出しを行うことのできるコンタクト支援システムを提供することを目的とする。
【００１１】
【課題を解決するための手段】
本発明は、移動通信装置の位置情報を検知する位置検知手段と、上記移動通信装置が相手を呼び出す強さを示すレベルと、通信装置が相手を呼び出す強さを示すレベルとを割り当てるレベル割当手段と、上記移動通信装置の相手を呼び出す強さを示すレベルを参照する参照手段と、上記検知された位置情報と、上記参照された移動通信装置のレベルと上記通信装置のレベルとの差とに基づいて、上記移動通信装置と上記通信装置との通信を許可するかどうかを制御する制御手段とを有することを特徴とする通信システムである。
【００１２】
また、本発明は、移動通信装置と通信可能な通信制御装置であって、上記移動通信装置が相手を呼び出す強さを示すレベルと、上記通信装置が相手を呼び出す強さを示すレベルとを割り当てるレベル割当手段と、上記移動通信装置との通信要求を、通信装置から受信する受信手段と、上記移動通信装置の位置を検知する位置検知装置から、上記移動通信装置の位置情報を取得する取得手段と、上記移動通信装置の相手を呼び出す強さを示すレベルを記憶装置から参照する参照手段と、上記取得された位置情報と、上記参照された移動通信装置のレベルと通信装置のレベルとの差とに基づいて、上記通信装置と上記移動通信装置との通信を許可するかどうかを制御する制御手段とを有することを特徴とする通信制御装置である。
【００１３】
さらに、本発明は、移動通信装置と通信可能な通信制御装置を制御するための制御方法であって、上記移動通信装置が相手を呼び出す強さを示すレベルと、上記通信装置が相手を呼び出す強さを示すレベルとを割り当てるレベル割当ステップと、上記移動通信装置との通信要求を、通信装置から受信するステップと、上記移動通信装置の位置を検知する位置検知装置から、上記移動通信装置の位置情報を取得するステップと、上記移動通信装置の相手を呼び出す強さを示すレベルを記憶装置から参照する参照ステップと、上記取得された位置情報に応じて、上記通信装置と上記移動通信装置との通信を許可するかどうかを制御するステップとを有することを特徴とする制御方法。
【００１４】
そして、本発明は、移動通信装置と通信可能な通信制御装置を制御するための制御方法を、コンピュータに実行させるためのプログラムをコンピュータ読み出し可能に記憶した記憶媒体であって、上記移動通信装置が相手を呼び出す強さを示すレベルと、上記通信装置が相手を呼び出す強さを示すレベルとを割り当てるレベル割当ステップと、上記移動通信装置との通信要求を、通信装置から受信するステップと、上記移動通信装置の位置を検知する位置検知装置から、上記移動通信装置の位置情報を取得するステップと、上記取得された位置情報と、上記参照された移動通信装置のレベルと通信装置のレベルとの差とに基づいて、上記通信装置と上記移動通信装置との通信を許可するかどうかを制御するステップとをコンピュータに実行させるプログラムを記憶したコンピュータ読取可能な記憶媒体。
【００１６】
【発明の実施の形態および実施例】
図１は、本発明の実施例に係るコンタクトシステムの構成を示すブロック図であり、図２は、このコンタクト支援システムとセンサシステムとの関係を示すブロック図である。
【００１７】
本実施例のコンタクト支援システム１００は、図１に示すように、コマンド解析部１と、コマンド作成部２と、通信部３と、表示部４と、呼び出し判定部５と、データベースアクセス部６と、外部記憶装置（判定のための情報）７と、メモリ８とから構成されている。
【００１８】
また、本実施例のコンタクト支援システム１００は、図２に示すように、センサシステム１０２および位置情報データベース１０１とネットワークを介して接続されているものとする。センサシステム１０２は、図３に示すように、様々な場所に配置されたセンサ３０２と、人が付けるタグ（バッジ）３０１によって、タグ３０１とセンサ３０２の位置関係を位置情報データベース１０１のデータを更新することによって管理する。
【００１９】
すなわち、タグ３０１はタグ毎に異なるＩＤ（Identification）を赤外線等を用いて周期的に送信するようにし、センサ３０２はセンサの範囲内にタグ３０２が存在する場合、その信号を受信する。そして、センサ３０２は自身のＩＤと信号を受信したタグ３０１のＩＤを位置情報データベース１０１に送信する。位置情報データベース１０１では、これらの情報からタグ３０１が位置するセンサ３０２の位置を管理する。そして、本実施例のコンタクト支援システム１００は、位置情報データベース１０１のデータを参照して、人の所在情報を得て、それを呼び出し可否の判定に利用する。
【００２０】
また、センサシステム１０２におけるタグ（バッジ）にスピーカが内蔵されており、コマンドによって所望のタグのスピーカから音を出すことができるものとする。この音によって相手を呼び出すものとする。なお、この音による呼び出し部分は、ＰＢＸ（Private Branch Exchange ）を利用した電話呼び出しやポケットページャ呼び出しでも構わない。
【００２１】
図１において、コマンド解析部１は、キーボードやマウス等の入力デバイスと接続されており、入力されたコマンドを解析する。コマンド作成部２は、センサシステム１０２に対して、スピーカから音を出すように指示するコマンドを作成する。
【００２２】
通信部３は、ネットワークと接続しており、位置情報データベース１０１やセンサシステム１０２と通信を行う。表示部４は、ディスプレイと接続しており、出力内容を表示する。呼び出し判定部５は、相手の位置情報等をもとにして呼び出し可能かどうかの判定を行う。
【００２３】
データベースアクセス部６は、位置情報データベース１０１からデータを参照する。外部記憶装置（判定のための情報）７は、本システムを利用するユーザや場所に関する情報を格納するためのものである。メモリ８は、本システムが一時的にデータを退避するために使用する。
【００２４】
なお、以上のコマンド解析部１、コマンド作成部２、および呼び出し判定部５等は、本実施例のシステムに設けられるマイクロコンピユータ（図示せず）の機能の一部として設けられている。また、以下に示す各フローチャートの動作は、このマイクロコンピュータ内のメモリに格納された制御プログラムによって実行されるものである。そして、このようなマイクロコンピュータの制御プログラムは、例えばハードディスク、フロッピディスク、ＣＤＲＯＭ等の各種記憶媒体に予め格納されたものを、本実施例のシステムリーダ（図示せず）にセットし、マイクロコンピュータに読み取らせるようにすることも可能である。
【００２５】
以下、本実施例のシステムの動作を図４、図５のフローチャートを用いて説明する。
【００２６】
図４は、本実施例のシステムの開始から終了までの動作において、入力デバイスからコマンド入力があった場合の各処理の流れを示すフローチャートである。本実施例のシステムを起動すると、まず、ステップＳ１において、システム内部で使用する変数の初期化を行う。そして、ステップＳ２において、入力デバイスからのコマンド入力があると、コマンド解析部１は入力されたコマンドの解析を行う。
【００２７】
次に、ステップＳ３において、入力されたコマンドが呼び出し相手の指定であるかどうかの検査を行う。この結果が相手の指定であった場合には、ステップＳ４において、呼び出し相手のユーザＩＤの検索を行う。なお、ユーザが相手を指定する場合には相手の名前によって指定を行い、その名前からユーザＩＤを検索するようにする。
【００２８】
また、この検索に必要な情報は、外部記憶装置７に格納されており、図６に示すような形式になっている。ユーザ名、ユーザＩＤ、レベルの３つ組のリストとして構成されている。レベルは、そのユーザが他人を呼び出す場合における強さを表しており、値が大きいほど、他人を呼び出す力が大きい。本実施例では、このレベルは、０から１０までの整数値としている。検索した結果、得られたユーザＩＤは、メモリ８に格納される。
【００２９】
なお、レベルの数値を決める方法には、会社内の上下関係やセールスマンと顧客の関係等、いろいろと考えられる。
【００３０】
ステップＳ３で、呼び出し相手の指定でなかった場合、ステップＳ５において、入力コマンドが緊急度を指定するものかどうかを検査する。この結果が緊急度指定であった場合には、ステップＳ６において、指定された緊急度をメモリ８に格納する。本実施例では、この緊急度は０から１０までの整数値とし、指定されない場合の初期値は０とする。
【００３１】
この緊急度を大きくすることによって、例えば、部下から上司への呼び出しが可能となる。
【００３２】
ステップＳ４またはステップＳ６が終了すると、ステップＳ２に戻る。
【００３３】
また、ステップＳ５で、緊急度指定でなかった場合、ステップＳ７において、入力コマンドが呼び出しの実行を要求するものであるかどうかを検査する。この結果が呼び出し実行の要求であった場合には、ステップＳ８において、コマンド作成部２により、データベースアクセス部６が位置情報データベース１０１に対して発行する位置情報データ要求コマンドを作成する。そして、ステップＳ９において、データベースアクセス部６が通信部３を介して、ステップＳ８で作成したコマンドを位置情報データベース１０１に対して送信する。
【００３４】
次に、ステップＳ１０において、通信部３は、位置情報データベース１０１からの位置情報データの受信待ちを行う。なお、通信部３が位置情報データベース１０１からの位置情報データを受信したときの処理は図５により後述する。
【００３５】
ステップＳ７で、呼び出し実行の要求でなかった場合、入力されたコマンドは終了コマンドであるので、本実施例のシステムは終了する。
【００３６】
図５は、本実施例のシステムが位置情報データベース１０１から位置情報データを受信したときの処理を示すフローチャートである。
【００３７】
図５において、通信部３が位置情報データを受信すると、ステップＳ２０において、データベースアクセス部６が受信したデータの解析を行う。この解析の結果得られた位置情報データは、メモリ８に格納される。なお、位置情報データベース１０１から得られる位置情報は、呼び出し相手のタグ３０１が位置するセンサ３０２のセンサＩＤである。
【００３８】
そして、ステップＳ２１において、呼び出し判定部５が呼び出し可能性の度合いを示す呼び出し判定数を計算する。このとき用いる式を図８に示す。図８において、ユーザｍが呼び出し側であり、ユーザｎが呼び出される側である。各ユーザのレベルは、図６に示す外部記憶装置７に格納されたテーブルをもとに参照される。
【００３９】
呼び出す相手のユーザＩＤは、図４のステップＳ４でメモリ８に格納されているので、そのユーザＩＤからテーブルを参照する。また、呼び出し側（ユーザｍ）のユーザＩＤは予め設定されていて（システムにログインしたユーザのユーザＩＤ）、そのユーザＩＤからテーブルを参照する。また、緊急度は、図４のステップＳ６でメモリ８に格納された値を用いる。ユーザｎのいる場所のレベルは、ユーザがその場所にいたときの呼び出しにくさを表す数で、本実施例では０から１０までの整数値としている。この値が大きいほど、その場所にいるユーザが呼び出しにくいことを表す。
【００４０】
図８の式により呼び出し判定数が計算されると、ステップＳ２２において、図４で指定したユーザの呼び出しが可能かどうかを検査する。この判定に用いるルールを図９に示す。判定数が０よりも大きかったら呼び出し可能であると判定する。また、０であったら、どちらともいえないと判定し、０よりも小さかったら、呼び出し不可であると判定する。
【００４１】
ステップＳ２２で、判定数が０よりも大きい場合には、ステップＳ２３において、呼び出しを実行する。本実施例では、センサシステム１０２に対して、タグ（バッジ）のスピーカから音を出すためのコマンドを生成し、そのコマンドをセンサシステム１０２に送信する。なお、この呼び出し処理は、ＰＢＸを用いて電話のダイヤルをしてもよいし、ポケットページャを鳴らしてもよい。
【００４２】
ステップＳ２２で、判定数が０であった場合には、表示部４が図１０に示す確認ダイアログ２０をディスプレイに出力する。すなわち、判定ではどちらともいえないので、判断をユーザに任せることになる。ユーザが“はい”のボタン２１もしくは“いいえ”のボタン２２を押すことによって呼び出すかどうかを決定する。なお、いずれかのボタンが押されると、確認ダイアログ２０を消去する。
【００４３】
ステップＳ２５において、呼び出し判定部５は、どちらのボタンが押されたかを検査し、“はい”のボタン２１が押された場合にはステップＳ２３で呼び出しが実行される。また、“いいえ”のボタン２２が押された場合にはステップＳ１に戻る。
【００４４】
ステップＳ２２で、判定数が０より小さい場合には、ステップＳ２６において、呼び出し不可と判定し、図１１に示す警告ダイアログ３０を表示部４がディスプレイに出力する。ユーザが“了解”ボタン３１を押すことによって、警告ダイアログ３０は消去され処理が終了する。
【００４５】
ステップＳ２３、ステップＳ２５、ステップＳ２６の各処理が終了すると、本実施例のシステムの動作は１サイクルし、図４のステップＳ１に戻る。
【００４６】
ここで、ステップＳ２１、およびステップＳ２２における呼び出し判定処理の内容を、図６、図７に示す具体的な数値を用いて説明する。
【００４７】
ここでは、まず、ユーザが会議室１にいるユーザＢを呼び出す場合について計算する。緊急度は１とする。ユーザＡのレベルは１０、ユーザＢのレベルは０、会議室１のレベルは７であるので、判定数は１０−０＋１−７＝４となり、０より大きい。したがって、この場合は呼び出しが実行される。
【００４８】
また、ユーザＣが役員室１にいるユーザＡを呼び出す場合について計算する。緊急度は５とする。ユーザＣのレベルは５、ユーザＡのレベルは１０、役員室１のレベルは１０であるので、判定数は、５−１０＋５−１０＝−１０となり、０より小さい。したがって、この場合は呼び出し不可である。
【００４９】
次に、本実施例のシステムで利用する位置情報データべース１０１とセンサシステム１０２について、その構成と動作を図を用いて詳しく説明する。
【００５０】
図１２は、センサシステム１０２の構成を示すブロック図である。同図において、コンピュータ端末６００は位置情報を収集し、それをネットワークに流すものである。センサ７００は、ＲＳシリアルなどのケーブルによって、コンピュータ端末６００と接続している。また、センサ７００は、本システムを動作させる前に、検出したい場所に複数配置し、それらは全てコンピュータ端末６００と接続する。バッジ８００は、各ユーザが胸などに装着するものである。なお、本実施の形態においては、バッジ８００とセンサ７００の通信に赤外線を用いたシステムを説明する。
【００５１】
センサ７００において、通信部７０２は、コンピュータ端末６００と通信を行うものである。コマンド処理部７０４は、コンピュータ端末６００から送信されたコマンドを受信し、解析するものである。送信部７０６は、コマンド処理部７０４が受信したコマンドを、バッジ８００に向けて送信するものである。赤外線発光部７０８は、電気信号を赤外線光に変換してバッジ８００に向けて発光する。位置情報管理部７１０は、バッジ８００から受信したバッジＩＤとセンサＩＤを組み合わせた位置情報を作成したり、その位置情報を通信部７０２から送信したりする。
【００５２】
また、受信部７１２は、バッジ８００からのバッジＩＤを受信するものである。赤外線受光部７１４は、バッジ８００から送信される赤外線光を受光し、その内容を電気的な信号に変化し、受信部７１２に送る。ＲＯＭ７１６は、センサ７００の動作を処理するプログラムや各センサ固有のセンサＩＤなどが書き込まれている。ＲＡＭ７１８は、センサ７００の動作処理におけるデータの一時退避領域として使用される。
【００５３】
また、バッジ８００において、赤外線受光部８０２は、センサ７００から発光された赤外線を受光し、その内容を電気的な信号に変換して、受信部８０４に送る。受信部８０４は、センサ７００から送信されたコマンドを受信するものである。コマンド処理部８０６は、受信部８０４が受信したコマンドを解析し実行するものである。音出力部８０８は、コマンド処理部８０６の命令にしたがって音を発する。
【００５４】
また、赤外線発光部８１０は、電気信号を赤外線に変化してセンサ７００に向けて発光する。発信部８１２は、バッジＩＤを赤外線発光部に渡して、センサ７００に向けて送信するものである。ＩＤ管理部８１４は、バッジＩＤをタイマ８１６の動作にしたがって定期的に送信命令を出すものである。ＲＯＭ８１８は、、バッジ８００の動作を処理するプログラムや各バッジ固有のバッジＩＤなどが書き込まれている。ＲＡＭ８２０は、バッジ８００の動作処理におけるデータの一時待避領域として使用される。タイマ８１６は、バッジＩＤを送信する時間間隔を得るために使用する。
【００５５】
また、コンピュータ端末６００は、図１３に示すような構成をしている。同図において、ＣＰＵ６０２は、ＲＯＭ６０６に記憶されているプログラムにしたがって、ＲＡＭ６０８、通信Ｉ／Ｆ（インターフェース）６０４、外部Ｉ／Ｆ（インターフェース）６１０の各種制御を行う。ＲＯＭ６０６には、外部Ｉ／Ｆ６１０から受信する位置情報の処理や、ＣＰＵ６０２の処理を実行するための各種プログラムを格納している。また、ＣＰＵ６０２の制御で実行されるセンサシステム１０２を実行するプログラムがＲＯＭ６０６に格納されている。通信Ｉ／Ｆ６０４は、ネットワークと接続し、システムが取得した位置情報を要求に応じてネットワークに送出する。外部Ｉ／Ｆ６１０は、複数のセンサ７００と接続し、センサ７００からの位置情報を受信する。
【００５６】
次に、センサシステム１０２の各部における動作をフローチャートを用いて説明する。
【００５７】
図１４は、バッジ８００のバッジＩＤを定期的に送信する動作処理を示すフローチャートである。
【００５８】
同図において、まず、ステップＳ１４０１において、ＩＤ管理部８１４がタイマ８１６を初期化する。タイマ８１６の初期化とは、時刻変数ｔを０にすることである。その後、タイマ８１６は、ｔを定期的にインクリメント（例えば、１秒毎に１加算する）する。
【００５９】
そして、ステップＳ１４０２において、タイマ８１６は、ｔをインクリメントする度に、ｔが設定されたＴに達したかどうかを検査する。設定されたＴは、ＲＯＭ８１８に記憶されており、その値をＲＡＭ８２０に読み出して、ｔと比較する。
【００６０】
ここで、ｔがＴに達していない場合は、ステップＳ１４０２を繰り返して検査を行う。また、ｔがＴに達した場合は、ステップＳ１４０３において、ＩＤ管理部８１４がバッジＩＤの送信命令を送信部８１２に発行し、その命令を受けた送信部８１２は、赤外線発光部８１０を介してバッジＩＤを赤外線光にして発光する。バッジＩＤは、ＲＯＭ８１８に記憶されており、その値をＲＡＭ８２０に読み出すことによって参照される。
【００６１】
図１５は、バッジ８００のセンサ７００からのコマンドを受信したときの動作処理を示すフローチャートである。
【００６２】
同図において、まず、ステップＳ１５０１において、赤外線受光部８０２が赤外線光を受光すると、受信部８０４がコマンドを受信する。次にＳ１５０２において、コマンド処理部８０６は、受信したコマンドがアラーム要求かどうかを検査する。
【００６３】
この検査の結果、アラーム要求であった場合には、ステップＳ１５０３において、コマンド処理部８０６が音出力命令を音出力部８０８に発光し、音出力部８０８が音を出力する。
【００６４】
この処理が終了すると、次のコマンドを待つためにステップＳ１５０１に戻る。また、ステップＳ１５０１に戻る。また、ステップＳ１５０２で、コマンドがアラーム要求でなかった場合は、そのコマンドは無効であるのでステップＳ１５０１に戻る。
【００６５】
図１６は、センサ７００の動作処理を示すフローチャートである。
【００６６】
同図において、まず、ステップＳ１６０１において、センサ７００の初期化を行う。ＲＡＭ７１８のクリアなどである。次に、ステップＳ１６０２において、バッジ８００からのバッジＩＤを受信したかどうかの検査を行う。
【００６７】
バッジＩＤの受信は、次のようにして行われる。バッジ８００が発光した赤外線光を赤外線受光部７１４が受光し、その内容を電気信号に変換して、受信部７１２に伝えられる。バッジＩＤを受信した受信部７１２はＲＡＭ７１８にバッジＩＤを格納することによって、受信が完了する。
【００６８】
そして、ステップＳ１６０３において、位置情報管理部７１０が位置情報を作成する。ここでは、ＲＯＭ７１６に記憶されているセンサＩＤと、受信したバッジＩＤの組になったデータを、センサ７００における位置情報という。その形式を図１７に示す。
【００６９】
図１７におけるヘッダは、コンピュータ端末６００と通信するための情報であり、データの長さやデータのＩＤ番号などが書き込まれる。作成された位置情報は、ステップＳ１６０４において、位置情報管理部７１０が通信部７０２にデータ送信命令を発行し、コンピュータ端末６００に対して位置情報が送信される。送信が終了すると、ステップＳ１６０１からの処理を繰り返す。
【００７０】
また、ステップＳ１６０２で、バッジＩＤの受信でなかった場合は、コンピュータ端末６００からのコマンドであるので、ステップＳ１６０５において、コマンド処理部７０４がコマンドを受信し解析する。そして、ステップＳ１６０６において、受信したコマンドをバッジ８００に送信する。具体的には、コマンド処理部７０４がコマンド送信命令を送信部７０６に発行し、送信部７０６は、赤外線発光部７０８でコマンドを赤外線光に変換して発光する。
【００７１】
図１８は、コンピュータ端末６００の動作処理を示すフローチャートである。同図において、まず、ステップＳ１８０１において、各種初期化を行う。ＲＯＭ６０６から動作処理のためのプログラムをＲＡＭ６０８に読み込んだり、ＲＡＭ６０８の変数領域を初期値に設定するなどである。
【００７２】
次に、ステップＳ１８０２において、センサ７００からの位置情報を外部Ｉ／Ｆ６１０において受信したかどうかを検査する。ここで、位置情報を受信していた場合は、ステップＳ１８０３において、位置情報データベース１０１に送信するための位置情報を作成する。そして、ステップＳ１８０４において、通信Ｉ／Ｆ６０４を介してネットワークへ位置情報を送信する。位置情報送信が終了すると、ステップＳ１８０１からの処理を操り返す。
【００７３】
また、ステップＳ１８０２で位置情報の受信がでなかった場合は、ステップＳ１８０５において、本発明によるシステム１００からのコマンドを受信したかどうかを検査する。具体的には、通信Ｉ／Ｆ６０４がネットワークからコマンドデータを受信したかどうかを検査する。ここで、コマンド受信でなかった場合は、ステップＳ１８０２からの処理を繰り返す。コマンド受信を検出した場合には、ステップＳ１８０６において、センサ７００に送信するためのコマンドを作成し、ステップＳ１８０７において、コマンドを外部Ｉ／Ｆ６１０から送信する。コマンド送信が終了すると、ステップＳ１８０２からの処理を繰り返す。
【００７４】
次に、位置情報データベース１０１の動作について説明する。
【００７５】
図１９は、位置情報データベース１０１の動作処理を示すフローチャートである。同図において、まず、ステップＳ１９０１において、各種初期化を行う。ＲＯＭ９０６から動作処理のためのプログラムをＲＡＭ９０８に読み込んだり、ＲＡＭ９０８の変数領域を初期値に設定するなどである。
【００７６】
次に、ステップＳ１９０２において、本実施例によるシステム１００から位置情報要求コマンドを受信したかどうかを検査する。コマンドが位置情報要求コマンドであった場合には、ステップＳ１９０３において、コマンドにて指定されたユーザの位置情報を作成して、ステップＳ１９０４において、位置情報を送信する。位置情報の送信が終了すると、ステップＳ１９０２へ戻る。
【００７７】
ステップＳ１９０２で、位置情報要求コマンドでなかった場合は、ステップＳ１９０５において、位置センサシステム１０２からの位置情報を受信したかどうかを検査する。位置情報を受信した場合は、ステップＳ１９０６において、位置情報の更新を行う。
【００７８】
本実施例においては、位置情報を図２０に示すような表で管理する。受信した位置情報におけるバッジＩＤに対して、現在どこにいるかを示すセンサＩＤと位置情報を受信した時刻を更新する。時刻はシステム内蔵のクロックより取得する。また、この表は、外部記憶装置（例えばハードディスクドライブ）上に格納されており、位置情報の変更に際しては、外部Ｉ／Ｆ９１０を介してデータの書き込みが行われる。
【００７９】
なお、受信した位置情報におけるバッジＩＤが、初めて現れた時には表に追加される。
【００８０】
次に本発明の第２実施例について説明する。
【００８１】
図２１は、本発明の第２実施例によるコンタクト支援システムの構成を示すブロック図である。これは、図１に示した構成のうち、データベースアクセス部６にタイマ９を接続した構成になっている。
【００８２】
図２２、図２３は、第２の実施例のコンタクト支援システムの動作を示すフローチャートである。
【００８３】
本実施例では、呼び出し判定を行った結果、呼び出し不可と判定した場合に、自動的に相手の所在の変化を待って、呼び出し処理を繰り返すリトライ機能を設けたものである。タイマ９は、システム起動時に設定された時間ごとにデータベースアクセス部６を実行させ、図４のステップＳ８からステップＳ１０で説明した通りの処理を繰り返し実行させる。このため、図２２では、繰り返し実行のための合流端子Ｃが追加されている。
【００８４】
図２３は、呼び出し判定の処理を示している。ここで、上述した図５の処理では、データ解析（ステップＳ２０）の後、呼び出し可能度の計算（ステップＳ２１）の前に、前回のユーザのいた場所との違いを検査するステップＳ３０が、図５の処理に加わっている。
【００８５】
また、呼び出し判定で呼び出し不可と判断した場合には、警告ダイアログを出力する代わりに、ステップＳ３１でタイマ９を起動し、ステップＳ３２で所定時間の計算が行われると、分岐端子Ｃより、図２２のステップＳ８に進む。これにより、呼び出しが失敗した場合には、呼び出し判定処理が繰り返されることになる。そして、この繰り返しのタイミングは、タイマ９に設定された時間ごとに行う。これで、呼び出しが成功するまで、呼び出し判定が繰り返されることになる。
【００８６】
次に本発明の第３実施例について説明する。
【００８７】
図２４は、本発明の第３実施例に係るコンタクト支援システムの構成を示すブロック図である。
【００８８】
図示のように、本実施例のシステム２４００はコマンド解析部２４０１、コマンド作成部２４０２と、通信部２４０３と、表示部２４０２と、距離判定部２４０５と、データベースアクセス部２４０６と、メモリ２４０７と、外部記憶装置（判定のための情報）２４０８と、タイマ２４０９とから構成されている。
【００８９】
ここで、第１実施例のときと同様に、コンタクト支援システム２４００は、図２に示すように、センサシステム１０２、および、位置情報データベース１０１とネットワークを介して接続されているものとする。
【００９０】
センサシステム１０２は、あちこちに配置されたセンサと、人が付けるタグ（バッジ）によって、タグとセンサの位置関係を位置情報データベース１０１のデータを更新することによって管理する。また、センシングの方法としては、赤外線、電波、超音波、磁気を用いたもの、または、それらを組み合わせたもののいずれであってもよい。
【００９１】
コンタクト支援システム２４００は、位置情報データベース１０１のデータを参照して、人の所在情報を得て、それを呼び出し可否の判定に利用する。また、センサシステム１０２におけるタグ（バッジ）にはスピーカが内蔵されており、コマンドによって所望のタグのスピーカから音を出すことができるものとする。そして、この音によって相手が近づいたことを知らせるものとする。なお、この音によるアラーム部分は、ＰＢＸを利用した電話やポケットページャを使用しても実現できる。
【００９２】
図２４において、コマンド解析部２４０１は、キーボードやマウス等の入力デバイスと接続されており、入力されたコマンドを解析する。コマンド作成部２４０２は、センサシステム１０２に対して、スピーカから音を出すように指示するコマンドを作成する。通信部２４０３はネットワークと接続しており、位置情報データベース１０１やセンサシステム１０２と通信を行う。
【００９３】
表示部２４０４は、ディスプレイと接続しており、出力内容を表示する。距離判定部２４０５は、自分と相手の位置情報データをもとにしてお互いの距離を計算し、その距離が指定範囲内かどうかの判定を行う。データベースアクセス部２４０６は、位置情報データベース１０１から位置情報データを参照する。
【００９４】
外部記憶装置（判定のための情報）２４０８は、本実施例のシステムを利用するユーザや場所に関する情報を格納するためのものである。メモリ２４０７は、システムが一時的にデータを待避するための領域として使用する。また、タイマ２４０９は、データベースアクセス部２４０６が定期的に位置情報を参照するように時間管理を行う。
【００９５】
次に、本システムの動作をフローチャートを用いて説明する。
【００９６】
図２５は、本実施例のシステムの開始から終了までの動作において、入力デバイスからコマンド入力があった場合の各処理の流れを示すフローチャートである。
【００９７】
システムを起動すると、まず、ステップＳ２５０１において、システム内部で使用する変数の初期化を行う。そして、ステップＳ２５０２において、入力デバイスからのコマンド入力があると、コマンド解析部２５０１は入力されたコマンドの解析を行う。次に、ステップＳ２５０３において、入力されたコマンドが自分の指定であるかどうかの検査を行う。
【００９８】
本実施例のシステムは、誰もが使用できるシステムであり、自分の名前も指定することを想定している。ただし、システムを立ち上げたユーザのみが使用する場合には、環境変数等によりユーザ名を取得することもできる。
【００９９】
そして、ステップＳ２５０３の結果が自分の指定であった場合には、ステップＳ２５０４において、ユーザＩＤの検索を行う。ユーザが自分を指定するのは、自分の名前によって指定するので、その名前からユーザＩＤを検索する。この検索に必要な情報は、外部記憶装置２４０８に格納されており、ユーザ名とユーザＩＤの組のリスト形式になっている。検索した結果、得られたユーザＩＤは、メモリ２４０７に格納される。
【０１００】
ステップＳ２５０３で、自分の指定でなかった場合には、ステップＳ２５０５において、入力コマンドが相手を指定するものかどうかを検査する。この結果が相手の指定であった場合には、ステップＳ２５０６において、ステップＳ２５０４と同様にユーザＩＤを検索して、その結果をメモリ２４０７に格納する。
【０１０１】
以上のステップＳ２５０４またはステップＳ２５０６が終了するとステップＳ２５０２に戻る。
【０１０２】
また、ステップＳ２５０５で、相手の指定でなかった場合、ステップＳ２５０７において、入力コマンドが自分と相手の距離を検索する要求であるかどうかを検査する。この結果が検索開始の要求であった場合には、ステップＳ２５０８において、タイマ２４０９は初期化処理を行う。タイマ２４０９の初期化とは、時刻変数ｔを０にすることである。
【０１０３】
タイマ２４０９は、ｔを定期的にインクリメントする。そして、タイマ２４０９は、ｔをインクリメントする度に、ｔが設定されたＴに達したかどうかをステップＳ２５０９にて検査する。そして時間がＴに達していた場合には、距離判定のために、分岐端子Ａを介して図２６のステップＳ２６０１へ進む。また、時間がＴに達していない場合はステップＳ２５０９を繰り返す。
【０１０４】
ステップＳ２５０７で、検索開始の要求でなかった場合には、システム終了を要求するコマンドであるので、システムが終了する。
【０１０５】
次に、時間Ｔが経過する度に行う距離判定の処理を図２６を用いて説明する。
【０１０６】
まず、ステップＳ２６０１で、コマンド作成部２４０２が自分および相手の位置情報を位置情報データベース１０１から参照するためのコマンドを作成する。そして、ステップＳ２６０２において、作成した位置情報を参照するためのコマンドを通信部２４０３が位置情報データベース１０１に対して送信する。
【０１０７】
次に、ステップＳ２６０３において、通信部２４０３が位置情報データベース１０１からの位置情報を受信したかどうかの検査を行う。データを受信しない間は、ステップＳ２６０３を繰り返す。そして、ステップＳ２６０３で、位置情報データを受信した場合は、ステップＳ２６０４において、データベースアクセス部２４０６が自分および相手の位置情報を取得する。このとき図２５のステップＳ２５０４およびステップＳ２５０６で取得したユーザＩＤをメモリ２４０７から参照し、各々の位置情報を取得する。取得した位置情報はメモリ２４０７に格納する。
【０１０８】
そして、ステップＳ２６０５において、メモリ２４０７に格納された前回の位置情報と比較して、自分もしくは相手が移動したかどうかを検査する。この結果、自分も相手も移動していない場合は、お互いの距離に変化がないので、距離判定の処理を繰り返すために、分岐端子Ｂより図２５のステップＳ２５０８に戻る。ここで、前回の位置情報において、初回に関しては、初期値と比較する。初期値は図２４のステップＳ２５０１において、メモリ２４０７に格納されているものとする。
【０１０９】
また、ステップＳ２６０５において、自分もしくは相手が移動した場合には、Ｓ２６０６において自分と相手との距離を計算する。
【０１１０】
次に、得られた自分および相手の位置情報から２人の距離を計算する処理について説明する。この方法については、様々考えられるが、本実施例では４つの方法について説明する。
【０１１１】
まず、第１の方法を図２７を用いて説明する。図２７は、タグ（バッジ）を付けた人が存在する場所をブロックに分けている様子を示している。
【０１１２】
図２７において、２７００は分けられたブロックの１つであるＢ１を示す。同様にＢ２、Ｂ３…となる。また、２７０１から２７０３は、タグ（バッジ）の存在位置を示している。すなわち、図２７の例では、ある検査した時間において、タグＴ１がブロックＢ３に、タグＴ２がブロックＢ８に、タグＴ３がブロックＢ１６に、それぞれ存在していることを示している。
【０１１３】
このとき、自分のいるブロックの８近傍のブロックに相手がいる場合に、指定範囲内に相手がいるものとすることができる。ここで、タグＴ２が自分で、タグＴ１が相手の場合、自分のいるブロックＢ８から見て、相手のいるブロックは８近傍にあるので、指定範囲内にいると判断できるのである。
【０１１４】
この処理を図２６で説明すると、ステップＳ２６０６で、自分および相手のいるブロックをステップＳ２６０４で得られた位置情報をもとに取得し、ステップＳ２６０７において、相手のブロックが自分のブロックの８近傍であるかどうかの検査を行う。この結果、８近傍でなかった場合は、検査を繰り返すために分岐端子Ｂより図２５のステップＳ２５０８に戻る。
【０１１５】
ステップＳ２６０７で、相手が８近傍のブロックにいた場合は、ステップＳ２６０８において、コマンド作成部２４０２が相手が近づいたことを知らせるためのコマンドを作成し、ステップＳ２６０９において、通信部２４０３がコマンドをセンサシステム１０２に送信する。本実施例では、タグ（バッジ）にスピーカが内蔵されており、センサシステム１０２にコマンドを送ることによって音を鳴らすこととしている。
【０１１６】
次に、ステップＳ２６０９が終了すると、システム全体を繰り返し実行するために、分岐端子Ｃより図２５のステップＳ２５０１へ戻る。
【０１１７】
次に、第２の距離判定方法について、図２８を用いて説明する。図２８において、２８００は、センサシステム１０２のセンサの有効範囲を示している。この範囲の中心距離をＬ１からＬ６で示している。２８０１、２８０２はタグの存在する位置である。自分をタグＴ１、相手をタグＴ２とすると、タグＴ１が存在するセンサの有効範囲とタグＴ２が存在するセンサの有効範囲の距離はＬ２である。このＬ２が指定された距離より長いか短いかによって指定範囲内に相手がいるかどうかの判定を行うことができる。
【０１１８】
次に、第３の距離判定方法について、図２９を用いて説明する。図２９において、２９００、２９０１はタグ（バッジ）を示す。２９０２は、各タグがセンサによって検知される強度を示す。この円が大きいほど、センサに反応する強度が強いことを表している。言い換えると、この円は、タグが存在する可能性のある範囲を示していることになる。したがって、タグＴ１およびタグＴ２が移動して、ちょうど図２９のように円が接する位置に来たときに、指定範囲内に近づいたと判定することができる。
【０１１９】
次に、第４の距離判定方法について、図３０を用いて説明する。図３０において、３０００、３００１はタグ（バッジ）を示す。位置センサシステムにより、それぞれのタグの位置が、タグＴ１が（ｘ１、ｙ１）、タグＴ２が（ｘ２、ｙ２）で与えられたとすると、２点間の距離の公式により、タグ間の距離が求まる。この距離が指定された距離よりも短い場合に、指定範囲内に近づいたと判定することができる。
【０１２０】
以上説明した各種距離判定方法において、センサの設置位置は、図３１に示すような表で管理されている。この表の内容は、外部記憶装置２４０８に予め記憶してあり、必要に応じて参照することができる。例えば、第２の距離判定方法では、センサ間の距離を、図３１の表の座標データを参照して、２点間の距離の公式を用いて計算することができる。
【０１２１】
また、距離判定において、相手がいる場所に応じて重みを付けることができる。これは、相手が重要な会議に参加している場合に、無条件に（距離判定だけで）アラームすることを避けるためである。図３２に示すような表を参照し、求められた相手との距離に、相手のいる場所に応じた仮想的な距離を加算することによって実現できる。
【０１２２】
例えば、相手との距離が３０で、指定範囲内距離が５０であった場合には、もし、相手が会議室１にいる場合は、加算距離が１０なので、３０＋１０＝４０が相手との距離となり、指定範囲内であると判定できる。もし、相手が役員室１にいる場合は、加算距離が１００なので、３０＋１００＝１３０が相手との距離となり指定範囲内でないと判定する。
【０１２３】
また、距離の計算において、その直線距離ではなく、オフィスのように直線で移動できない場合を考慮することも可能である。例えば、オフィスのレイアウトをデータとして入力しておき、自分から相手への移動の最短経路を求める。この最短経路にそって、図３３に示すような移動負荷表を用いて、移動にかかるコストを計算する。このコストを相手との距離とすれば実現できる。
【０１２４】
次に、本発明の第４実施例について説明する。
【０１２５】
本実施例は、上述の第１実施例と第３実施例を組み合わせた実施例であり、呼び出し判定において、ユーザ間の呼び出し関係と距離の両方を判定に用いるシステムを実現している。
【０１２６】
図３４は、本実施例のシステムの構成を示すブロック図であり、コマンド解析部３４０１と、コマンド作成部３４０２と、通信部３４０３と、表示部３４０４と、呼び出し判定部３４０５と、呼び出し強度計算部３４０６と、距離計算部３４０７と、データベースアクセス部３４０８と、メモリ３４０９と、外部記憶装置（判定のための情報）３４１０と、タイマ３４１１とから構成されている。
【０１２７】
また、本実施例のコンタクト支援システムは、第１実施例、第３実施例の場合と同様に、図２に示すような、センサシステム１０２および、位置情報データベース１０１にネットワークを介して接続されているものとする。
【０１２８】
図３４において、コマンド解析部３４０１は、キーボードやマウス等の入力デバイスと接続されており、入力されたコマンドを解析する。コマンド作成部３４０２は、センサシステム１０２に対して、スピーカから音を出すように指示するコマンドを作成する。
【０１２９】
通信部３４０３は、ネットワークと接続しており、位置情報データベース１０１やセンサシステム１０２と通信を行う。表示部３４０４は、ディスプレイと接続しており、出力内容を表示する。呼び出し判定部３４０５は、呼び出し強度計算部３４０６と距離計算部３４０７の計算結果に基づいて、相手が呼び出し可能かどうかの判定を行う。
【０１３０】
データベースアクセス部３４０８は、位置情報データベース１０１からデータを参照する。外部記憶装置（判定のための情報）３４１０は、本システムを利用するユーザや場所に関する情報を格納するためのものである。メモリ３４０９は、本システムが一時的にデータを待避するために使用する。また、タイマ３４１１は、データベースアクセス部３４０８が定期的に位置情報を参照するように時間管理を行う。
【０１３１】
なお、以上のコマンド解析部３４０１、コマンド解析部３４０２、および呼び出し判定部３４０５等は、本実施例のシステムに設けられるマイクロコンピュータ（図示せず）の機能の一部として設けられている。また、以下に示す各フローチャートの動作は、このマイクロコンピュータ内のメモリに格納された制御プログラムによって実行されるものである。そして、このようなマイクロコンピュータの制御プログラムは、たとえばハードディスク、フロッピーディスク、ＣＤ−ＲＯＭ等の各種記憶媒体に予め格納されたものを、本実施例のシステムのリーダ（図示せず）にセットし、マイクロコンピュータに読み取らせるようにすることも可能である。
【０１３２】
次に、本実施例のシステムの動作をフローチャートを用いて説明する。
【０１３３】
システム全体の大まかな処理の流れは、基本的に第１実施例、第３実施例のときと同じである。ただし、呼び出し判定を行う処理（第１実施例では図５、第３実施例では図２３にて説明した部分）が異なるので、この部分を図３５を用いて詳しく説明する。また、他の部分の処理は第１実施例および第３実施例で説明したことに同じなので省略する。
【０１３４】
図３５は、位置情報データベース１０１から位置情報データを受信して、呼び出しの判定を行う処理を示すフローチャートである。
【０１３５】
通信部３４０３が位置情報データを受信すると、ステップＳ３５００において、データベースアクセス部３４０８が受信したデータの解析を行う。この解析の結果得られた位置情報データは、メモリ３４０９に格納される。位置情報データベースから得られる位置情報はセンサＩＤである。そして、ステップＳ３５０１において、前回の位置情報受信処理においてメモリ３４０９に格納した位置情報データと今回受信した位置情報データを比較して、自分もしくは相手の居場所に変化があったかどうかを検査する。変化していない場合は、ステップＳ３５０６に進む。
【０１３６】
ステップＳ３５０１で、自分もしくは相手が移動したという結果を得た場合は、ステップＳ３５０２において、自分と相手の距離を計算する。計算方法は上述の第３実施例にて説明した方法を用いる。計算した結果は、メモリ３４０９に格納される。
【０１３７】
次に、ステップＳ３５０３において、呼び出し強度計算部３４０６が呼び出し可能性の度合いを示す呼び出し強度を計算する。計算方法は上述の第１実施例にて説明した方法を用いる。計算した結果は、メモリ３４０９に格納される。
【０１３８】
次に、ステップＳ３５０４において、呼び出し判定部３４０５が呼び出し可能かどうかを判定する。本実施例では、この判定を、ステップＳ３５０２で記憶した距離値と、ステップＳ３５０３で記憶した呼び出し強度値の和が指定された値と比較して、大きいか小さいかによって行う。
【０１３９】
ステップＳ３５０４の結果、呼び出し可能と判定した場合には、ステップＳ３５０５において、呼び出しを実行する。本実施例では、センサシステム１０２に対して、タグ（バッジ）のスピーカから音を出すためのコマンドを生成し、そのコマンドをセンサシステム１０２に送信する。呼び出し実行が終了すると、分岐Ｂにて、本実施例のシステムのメインループの先頭に戻る。
【０１４０】
また、ステップＳ３５０４の結果、呼び出し不可と判定した場合には、ステップＳ３５０６において、タイマ３４９１を起動し、ステップＳ３５０７において、所定時間が経過したかを検査する。所定の時間が経過すると、分岐Ｃにて、自分および相手の位置情報要求コマンドの送信から処理をやり直す。こうすることによって、相手が呼び出し可能になるまで判定を繰り返す。
【０１４１】
なお、上述した各実施例のシステムは、ネットワークに接続したコンピュータ端末にプログラムを投入することによっても実現できる。図３６は、コンピュータ端末の構成を示している。
【０１４２】
同図において、ＣＰＵ３６００は、ＲＯＭ３６０１に記憶されているプログラムに従って、ＲＡＭ３６０２、入力デバイス３６０５、ディスプレイ３６０４、ＦＤＤ３６０３の各種制御を行う。ＲＯＭ３６０１には、入力デバイス３６０５から入力されるデータの処理やＣＰＵ３６００の処理を実行するための各種プログラムを格納している。また、ＣＰＵ３６００の制御で実行されるシステムを実行するプログラムがＲＯＭ３６０１に格納されている。
【０１４３】
ＲＡＭ３６０２は、各種プログラムや入力デバイス３６０５から入力されるデータの作業領域および一時待避領域である。ＦＤＤ（フロッピディスクドライブ）３６０３は、ＦＤ（フロッピディスク）（図示せず）を装着し、データの読み書きが可能である。また、装置されたＦＤにプログラムを書き込み、そのプログラムをＲＡＭ３６０２に読み込むことで処理を実行させることもできる。なお、本実施例では、プログラムをＲＯＭ３６０１に記憶して、ＣＰＵ３６００の制御により、ＲＯＭ３６０１からＲＡＭ３６０２に読み込んだ後、前述した処理フローチャートを実行する。
【０１４４】
なお、ＦＤＤ３６０３の代わりにＣＤ−ＲＯＭドライブやＨＤＤ（ハードディスクドライブ）を備え、それぞれのドライブに装着あるいは内蔵されるＣＤ−ＲＯＭやＨＤに上述のプログラムを記憶して、記憶したプログラムを読み出すことで処理を実行することも可能である。
【０１４５】
また、本発明の目的は、前述した実施の形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムを読み出して実行することによっても達成される。
【０１４６】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施の形態を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を実現することになる。プログラムコードを供給するための記憶媒体としては、例えば、フロッピーディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭ等を用いることができる。
【０１４７】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施の形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行い、その処理によって前述した実施の形態の機能が実現される場合も含まれる。
【０１４８】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって前述した実施の形態の機能が実現される場合も含まれる。
【０１４９】
また、本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明した処理フローチャートに対応するプログラムコードを格納することになる。簡単に説明すると、例えば第３実施例では図３７のメモリマップ例に示す各モジュールを記憶媒体に格納することになる。
【０１５０】
すなわち、本実施例では、コマンドおよびユーザ名の入力を受信して解釈する入力工程のコードと、前記入力工程により受信した内容を表示する表示工程のコードと、位置センサシステムと通信を行う通信工程のコードと、位置センサシステムから指定したユーザの位置情報を取得する位置取得工程のコードと、ユーザおよび場所に関する情報メモリに格納する第１の記憶工程のコードと、前記入力工程により受信した情報をメモリに格納する第２の記憶工程のコードと、前記第１の記憶工程により記憶した情報と、前記第２の記憶工程により記憶した情報と、前記位置取得工程で得られた情報とに基づいて、ユーザ間の距離を計算する距離取得工程のコードと、前記距離取得工程により取得した距離情報をもとに、相手が近づいたことを検出する距離判定工程のコードと、相手が近づくまで前記位置取得工程および前記距離判定工程を繰り返すためのリトライ工程のコードと、前記距離判定工程で相手が近いと判定した場合に、それを知らせる通知工程のコード等の各モジュールのプログラムコードを記憶媒体に記憶すればよい。
【０１５１】
【発明の効果】
以上説明したように、本発明によれば、通信装置の所有者が位置する場所や、通信装置の所有者を呼び出す際の緊急度等を考慮した呼び出しを行うことができる。
【０１５２】
また、呼び出す相手の情報と、指定された緊急度の情報と、呼び出す相手の位置情報に基づいて、呼び出しが可能かどうかを判定することができる。また、呼び出しが可能である場合には呼び出しを実行し、呼び出しが不可である場合には、その内容を表示するようにしたので、相手の所在情報を反映した呼び出しを行うことができる。また、呼び出し不可の場合にいる相手に対して無理やり呼び出しをすることを防ぐことができ、呼び出しの割り込みによる作業の効率低下を防ぐことができる。
【０１５３】
また、呼び出し可能性がいずれとも言えないと判定した場合に、ユーザに確認を促すダイアログを出力することにより、より正確な判断のもとに呼び出しを行うことができ、呼び出しの確実さが増し、作業の効率を向上させることができる。
【０１５４】
さらに、呼び出しが不可である場合に、タイマが設定されて時間毎に呼び出し判定処理を繰り返すので、ユーザは毎回呼び出しのための指定を行う必要がなくなり、また、呼び出しが確実に行われるようになるので、作業効率を向上させることができる。
【０１５５】
また、連絡したい相手との距離を考慮した呼び出しを行うことができる。また、連絡したい相手が近くにいることを通知することもできる。また、連絡したい相手との距離情報をもとに相手が近いと判定した場合に、それをユーザに通知するようにしたので、各ユーザ同士で互いの所在を得ることができ、また、互いの距離を知ることができるで相手に会いやすい状態にある機械を適切に得ることができるため、相手に会うという作業の効率を向上させることができる。
【０１５６】
また、呼び出す相手の情報と、指定された緊急度の情報と、呼び出す相手の位置情報に基づいて、呼び出しが可能であるかどうかを判定し、自分と相手の位置情報に基づいて、ユーザ間の距離を計算し、相手と距離が近く、かつ、呼び出し可能であると判定した場合に、呼び出しを実行するようにしたので、確実に近くにいる相手を正確な判断のもとに呼び出すことができ、よりスムーズな呼び出しが可能であるので、作業効率を向上させることができる。
【図面の簡単な説明】
【図１】本発明の第１実施例におけるシステムの構成を示すブロック図である。
【図２】本発明の実施例におけるシステムと、位置情報データベースと、センサシステムとの関係を示したブロック図である。
【図３】本発明の実施例におけるセンサシステムの構成を示すブロック図である。
【図４】本発明の第１実施例におけるシステムの動作を示すフローチャートである。
【図５】本発明の第１実施例におけるシステムの動作を示すフローチャートである。
【図６】本発明の実施例におけるユーザに関する情報の格納形式を示した説明図である。
【図７】本発明の実施例における場所に関する情報の格納形式を示した説明図である。
【図８】本発明の実施例における呼び出し判定に用いる計算式を示す説明図である。
【図９】本発明の実施例における呼び出し判定に用いるルールを示す説明図である。
【図１０】本発明の第１実施例における確認ダイアログの表示を示す説明図である。
【図１１】本発明の第１実施例における警告ダイアログの表示を示す説明図である。
【図１２】本発明の実施例における位置センサシステムの構成を示すブロック図である。
【図１３】本発明の実施例における位置センサシステムの一部を実施するコンピュータ端末のハードウェアを示すブロック図である。
【図１４】本発明の実施例における位置センサシステムのバッジの動作を示すフローチャートである。
【図１５】本発明の実施例における位置センサシステムのバッジの動作を示すフローチャートである。
【図１６】本発明の実施例における位置センサシステムのセンサの動作を示すフローチャートである。
【図１７】本発明の実施例における位置センサシステムと位置情報データベースで交換する位置情報の形式を示す説明図である。
【図１８】本発明の実施例における位置センサシステムのコンピュータ端末上で動作するプログラムの流れを示すフローチャートである。
【図１９】本発明の実施例における位置情報データベースの動作を示すフローチャートである。
【図２０】本発明の実施例における位置情報データベースで管理する位置情報テーブルを示す説明図である。
【図２１】本発明の第２実施例におけるシステムの構成を示すブロック図である。
【図２２】本発明の第２実施例におけるシステムの動作を示すフローチャートである。
【図２３】本発明の第２実施例におけるシステムの動作を示すフローチャートである。
【図２４】本発明の第３実施例におけるシステムの構成を示すブロック図である。
【図２５】本発明の第３実施例におけるシステムの動作を示すフローチャートである。
【図２６】本発明の第３実施例におけるシステムの動作を示すフローチャートである。
【図２７】本発明の実施例における第１の距離測定方法を説明する説明図である。
【図２８】本発明の実施例における第２の距離測定方法を説明する説明図である。
【図２９】本発明の実施例における第３の距離測定方法を説明する説明図である。
【図３０】本発明の実施例における第４の距離測定方法を説明する説明図である。
【図３１】本発明の実施例におけるセンサ位置を管理するためのテーブルを示す説明図である。
【図３２】本発明の実施例における場所毎に対応した加算距離を管理するためのテーブルを示す説明図である。
【図３３】本発明の実施例における場所間の移動にかかるコスト計算に用いるテーブルを示す説明図である。
【図３４】本発明の第４実施例におけるシステムの構成を示すブロック図である。
【図３５】本発明の第４実施例におけるシステムの動作を示すフローチャートである。
【図３６】本発明の実施例を実施するコンピュータ端末のハードウェア構成を示すブロック図である。
【図３７】本発明の実施例を実施するための各モジュールを格納した記憶媒体のメモリマップ例を示す説明図である。
【符号の説明】
１、５１、８１…コマンド解析部、
２、５２、８２…コマンド作成部、
３、５３、８３…通信部、
４、５４、８４…表示部、
５、８５…呼び出し判定部、
６、５６、８８…データベースアクセス部、
７、５８、９０…外部記憶装置（判定のための情報）、
８、５７、８９…メモリ、
９、５９、９１…タイマ、
１００…コンタクト支援システム、
１０１…位置情報データベース、
１０２…位置センサシステム。
【図１】
0003740281.tif 000002
【図２】
0003740281.tif 000003
【図３】
0003740281.tif 000004
【図４】
0003740281.tif 000005
【図５】
0003740281.tif 000006
【図６】
0003740281.tif 000007
【図７】
0003740281.tif 000008
【図８】
0003740281.tif 000009
【図９】
0003740281.tif 000010
【図１０】
0003740281.tif 000011
【図１１】
0003740281.tif 000012
【図１２】
0003740281.tif 000013
【図１３】
0003740281.tif 000014
【図１４】
0003740281.tif 000015
【図１５】
0003740281.tif 000016
【図１６】
0003740281.tif 000017
【図１７】
0003740281.tif 000018
【図１８】
0003740281.tif 000019
【図１９】
0003740281.tif 000020
【図２０】
0003740281.tif 000021
【図２１】
0003740281.tif 000022
【図２２】
0003740281.tif 000023
【図２３】
0003740281.tif 000024
【図２４】
0003740281.tif 000025
【図２５】
0003740281.tif 000026
【図２６】
0003740281.tif 000027
【図２７】
0003740281.tif 000028
【図２８】
0003740281.tif 000029
【図２９】
0003740281.tif 000030
【図３０】
0003740281.tif 000031
【図３１】
0003740281.tif 000032
【図３２】
0003740281.tif 000033
【図３３】
0003740281.tif 000034
【図３４】
0003740281.tif 000035
【図３５】
0003740281.tif 000036
【図３６】
0003740281.tif 000037
【図３７】
0003740281.tif 000038