以下に図面を参照して、開示のデータ転送プログラム、データ転送装置、およびデータ転送方法の実施の形態を詳細に説明する。
図1は、本実施の形態にかかるデータ転送装置101の動作例を示す説明図である。図1で示すシステム100は、複数のデータ転送装置101と、センサ102と、管理装置103とを有する。そして、データ転送装置101は、センサ102から受信した情報を、自身の位置情報を付加して、管理装置103に転送するコンピュータである。また、データ転送装置101は、GPSセンサによって現在位置を特定可能である。また、データ転送装置101同士とセンサ102とは、近距離無線通信を介して直接通信を行う。また、データ転送装置101、基地局、無線AP(Access Point)を介して、管理装置103と無線通信を行う。データ転送装置101同士が行う近距離無線通信と、データ転送装置101とセンサ102とが行う近距離無線通信とは、同一の通信方法でもよいし、異なる通信方法でもよい。
データ転送装置101は、基地局、無線APの間を自由に動き、各データ転送装置101の間で相互関連はない。データ転送装置101は、例えば、スマートフォン、携帯電話、携帯端末である。センサ102は、現在位置を特定する機能を有さず、何らかの情報を信号として発信する装置である。また、本実施の形態において、センサ102は、自由に移動するものであるが、ある場所に固定されたものでもよい。例えば、センサ102は、何らかの位置に関する情報を発信するビーコン端末である。例えば、センサ102がビーコン端末である場合に、ビーコン端末を持つ人がいれば、そのビーコン端末は、その人の位置に関する情報として、そのビーコン端末の識別情報(ID:IDentifier)を発信する。管理装置103は、例えば、DC(Data Center)内のサーバである。
システム100は、例えば、以下に示す4つのサービスを提供することができる。1つ目のサービスは、ある山を登る人達に対して、大人が持つデータ転送装置101に、本実施の形態を行うアプリをインストールし、子供にセンサ102を持たせることにより、山における子供の居場所を監視するサービスである。また、2つ目のサービスは、ある通学路において、通学する子供にセンサ102を持たせ、通学路内の保護者が持つデータ転送装置101に、本実施の形態を行うアプリをインストールすることにより、通学路中における子供の居場所を監視するサービスである。また、3つ目のサービスは、紛失したくない物にセンサ102を付与しておき、前述の物が紛失した際に、前述した物を探す人が持つデータ転送装置101に、本実施の形態を行うアプリをインストールすることにより、前述の物を探すサービスである。また、4つ目のサービスは、工場内において、紛失したくない物にセンサ102を付与しておき、前述の物が紛失した際に、工場内の作業員が持つデータ転送装置101に、本実施の形態を行うアプリをインストールすることにより、前述の物を探すサービスである。
ここで、センサ102のデータを転送する装置が、登録依頼を送信するために、管理装置103と通信することになるが、センサ102のデータを転送する装置から管理装置103までへの通信には通信料がかかるため、通信を極力抑えたいという事情がある。そこで、センサ102のデータを転送する各装置が、管理装置103に対する登録の抑止信号として近距離無線通信を介してブロードキャストし、抑止信号に含まれるIDに基づき、どの装置が管理装置103に登録依頼を送信するかを決定する方法が考えられる。この方法で決定された装置は、他の装置に対して抑止する代わりに、位置情報の登録を担保することになる。
しかしながら、前述の方法では、1つのセンサ102の信号到達範囲内に、センサ102のデータを転送する装置が3つ以上あると、直接信号を送受信することができない位置にある装置同士が重複して登録依頼を管理装置103に送信する場合がある。また、通信量の削減のため、複数のデータを転送する装置のうちのいずれかがセンサ102の情報を転送しようとすると、センサ102から最も近い位置にある装置以外の装置、すなわち、センサから離れた装置が転送することがある。複数のデータを転送する装置のうち、センサに最も近い位置にあるデータ転送装置を判断することができないため、例えば、識別情報によって定められた装置が、センサ102の情報を転送するということが想定される。この場合、センサ102から離れた装置が定められた装置となることがある。この場合、定められた装置は、自身の位置情報を付加して管理装置103に転送するため、センサにより近い装置の位置情報ではなく、センサ102から離れた位置情報を転送することになる。そして、管理装置103は、受信した位置情報をセンサ102の位置情報とみなすため、センサ102から離れた位置情報をセンサ102の位置情報として登録することになる。
そこで、本実施の形態では、センサ102の位置登録の抑止信号を各データ転送装置101が送信し合い、受けた抑止信号の送信元の数となる重複度が最大のデータ転送装置101が、管理装置103に位置情報を登録することについて説明する。
図1を用いて、データ転送装置101の動作例について説明する。図1で示すシステム100は、複数のデータ転送装置101として、データ転送装置101−1〜3を含む。そして、データ転送装置101−1〜3と、センサ102の信号到達範囲を、それぞれ、r−1〜3、r−102とする。センサ102が発する信号の到達範囲と、データ転送装置101の信号の到達範囲との大きさは、同一でもよいし異なってもよいが、本実施の形態では、説明の簡略化のため、同一であるとする。図1では、図の見易さのため、r−102内に網掛けを付与する。
また、図1に示すデータ転送装置101−1〜3と、センサ102は、それぞれ、(x1,y1)、(x2,y2)、(x3,y3)、(x,y)に位置するものとする。そして、図1が示すように、センサ102の位置(x,y)に最も近い位置にあるデータ転送装置101は、(x1,y1)の位置にあるデータ転送装置101となる。従って、図1に示すシステム100では、(x1,y1)が登録されることを目的とする。
図1の(1)で示すように、センサ102は、センサ102のIDを、近距離無線通信を介して送信する。図1の例では、信号到達範囲r−102内にある、データ転送装置101−1〜3が、センサ102のIDを受信する。
センサ102のIDを受信したデータ転送装置101−1〜3は、それぞれ、重複度と、自身の現在位置を示す位置情報とを含めたセンサ情報110−1〜3を記憶する。ここで、重複度とは、抑止信号を自身が受信した際の抑止信号の送信元となるデータ転送装置101の数を示す。従って、重複度は、値が大きい程、重複度に対応する装置が、より多くのデータ転送装置101の信号到達範囲内にあることを示す。また、重複度を、値が小さい程、重複度に対応する装置が、より多くのデータ転送装置101の信号到達範囲内にあることを示すような値としてもよい。また、位置情報は、GPSセンサによって特定された位置を示す情報である。例えば、位置情報は、緯度と経度とを組み合わせた情報である。
抑止信号は、センサ102の位置情報を管理装置103に送信することを送信元とは異なる他のコンピュータに対して抑止する信号である。センサ102のIDを受信した時点ではデータ転送装置101−1〜3は抑止信号を受信していないため、データ転送装置101−1〜3の重複度は、0となる。また、データ転送装置101−1〜3は、それぞれ、自身の重複度と、受信した抑止信号に含まれる他のデータ転送装置101の重複度とを管理する。図1の説明では、センサ情報110に含まれる重複度を、「自身の重複度」と称する。これに対し、受信した抑止信号に含まれる他のデータ転送装置101の重複度については、「他端末の重複度」と称する。
図1の(2)で示すように、データ転送装置101−1〜3は、それぞれ、自身のセンサ情報110に含まれる重複度を含む抑止信号を、データ転送装置101−1〜3のうちの近距離無線通信を介して直接通信可能な位置にあるデータ転送装置101に送信する。図1の例では、データ転送装置101−1は、抑止信号を、データ転送装置101−2、3に送信する。また、データ転送装置101−2、3は、抑止信号を、データ転送装置101−1に送信する。また、抑止信号を送信するタイミングは、どのようなタイミングでもよく、例えば、データ転送装置101−1〜3は、センサ102のIDを初めて受信した時刻を契機として、定期的に抑止信号を送信する。また、データ転送装置101−1〜3は、自身のバッテリ残量に基づいて抑止信号を送信する間隔を変化させてもよい。
抑止信号を受信した場合、データ転送装置101−1〜3は、受信した抑止信号に含まれる重複度を、抑止信号の送信元に対応付けて記憶するとともに、センサ情報110に含まれる重複度を増加させる。具体的には、データ転送装置101−1は、図1の(3)で示すように、データ転送装置101−2から受信した抑止信号に含まれる重複度を、データ転送装置101−2に対応付けて記憶する。データ転送装置101−2に対応付けて記憶した重複度は、他端末の重複度となる。また、データ転送装置101−1は、図1の(4)で示すように、自身の重複度を1増加させる。ここで、データ転送装置101−2からの受信する抑止信号に含まれる重複度について、最初に受信する抑止信号に含まれる重複度は、0である。しかし、データ転送装置101−1から抑止信号を受信することによってデータ転送装置101−2自身の重複度が1増加し、データ転送装置101−2自身の重複度が増加した後に受信する抑止信号に含まれる重複度は、1である。
図1で示すセンサ情報110−1〜3と、データ転送装置101−1〜3が管理する自身以外の重複度の値は、最終的な状態を示す。具体的には、センサ情報110−1に含まれるデータ転送装置101−1自身の重複度は、データ転送装置101−2、3から抑止信号を受信するため、2となる。同様に、センサ情報110−2、3に含まれるデータ転送装置101−2、3自身の重複度は、それぞれ、データ転送装置101−1から抑止信号を受信するため、1となる。
そして、データ転送装置101−1〜3は、自身のセンサ情報110に含まれる重複度が抑止信号の送信元に対応付けられた重複度より大きい場合、センサ情報110に含まれる位置情報を管理装置103に送信する。図1で示すように、自身のセンサ情報110に含まれる重複度が抑止信号の送信元に対応付けられた重複度より大きくなるのは、データ転送装置101−1〜3のうちデータ転送装置101−1だけとなる。ここで、重複度が大きいほど、センサ102の位置に近づくことになるため、重複度が最大のデータ転送装置101が、センサ102の最も近くに位置することになる。また、位置情報を送信するために自身の重複度と他端末の重複度とを比較するタイミングは、どのようなタイミングでもよい。例えば、データ転送装置101−1〜3は、定期的に、または、抑止信号を所定回数送信した際に、自身の重複度と他端末の重複度とを比較し、センサ情報110に含まれる位置情報を送信するか否か判断してもよい。
従って、データ転送装置101−1は、図1の(5)で示すように、センサ情報110−1に含まれる位置情報(x1,y1)を、管理装置103に送信する。管理装置103は、受信した位置情報(x1,y1)を、センサ102の位置情報として登録する。
以上により、管理装置103にはセンサ102の位置(x,y)に最も近い位置にあるデータ転送装置101の位置(x1,y1)が登録されることになり、位置情報の正確性を担保することができる。また、データ転送装置101−1〜3は、直接信号を送受信することができない位置にある装置同士が重複して登録依頼を管理装置103に送信するという、冗長な通信が発生することを抑制することができる。
次に、システム100を適用した一構成例について、図2を用いて説明する。
図2は、システム200の構成例を示す説明図である。システム200は、ある山mtに登山する人のために提供されるサービスである。システム200は、管理装置103と、移動端末w〜zと、ビーコン端末A〜Cとを有する。ここで、移動端末w〜zは、それぞれ、図1に示したデータ転送装置101に相当する。また、ビーコン端末A〜Cは、図1に示したセンサ102に相当する。移動端末w〜zは、ネットワーク201を介して管理装置103と接続する。
そして、図2に示すように、移動端末w〜zは、それぞれ、大人ua1〜4が持っており、ビーコン端末A〜Cは、それぞれ、子供uc1〜3が持っている。大人ua1〜4と子供uc1〜3とは、それぞれ独立に移動している。そして、システム200は、子供uc1〜3の居場所を監視するサービスを提供する。次に、移動端末xのハードウェア構成について、図3を用いて説明し、管理装置103のハードウェア構成について、図4を用いて説明する。
(移動端末xのハードウェア構成例)
図3は、移動端末xのハードウェア構成例を示す説明図である。図3では、移動端末xのハードウェア構成例を示すが、移動端末w、y、zも移動端末xと同様なハードウェア構成を有する。図3において、移動端末xは、CPU(Central Processing Unit)301と、ROM(Read Only Memory)302と、RAM(Random Access Memory)303と、ディスクドライブ304と、ディスク305とを有する。さらに、移動端末xは、通信インターフェース306と、タッチパネル307と、GPSセンサ308と、近距離無線通信インターフェース309と、加速度センサ310と、バッテリ321とを有する。また、CPU301〜ディスクドライブ304と、通信インターフェース306〜加速度センサ310とはバス311によってそれぞれ接続される。
ここで、CPU301は、移動端末xの全体の制御を司る演算処理装置である。ROM302は、ブートプログラムなどのプログラムを記憶する不揮発メモリである。RAM303は、CPU301のワークエリアとして使用される揮発性メモリである。ディスクドライブ304は、CPU301の制御に従ってディスク305に対するデータのリードおよびライトを制御する制御装置である。ディスク305は、ディスクドライブ304の制御で書き込まれたデータを記憶する。ディスクドライブ304には、例えば、ソリッドステートドライブなどを採用することができる。ディスクドライブ304がソリッドステートドライブである場合、ディスク305には、半導体素子によって形成された半導体メモリ、いわゆる半導体ディスクを採用することができる。
通信インターフェース306は、ネットワーク201と内部のインターフェースを司り、他の装置からのデータの入出力を制御する制御装置である。具体的に、通信インターフェース306は、通信回線を通じてネットワーク201を介して他の装置に接続される。
タッチパネル307は、大人ua1によるタップ操作やフリック操作を検出するセンサと、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示するディスプレイとを組み合わせた装置である。具体的には、センサは、ディスプレイ上に重ねて配置される。また、センサは、例えば、抵抗膜方式、表面型や投影型の静電容量方式等が採用されたセンサである。ディスプレイは、例えば、TFT(Thin Film Transistor)液晶ディスプレイなどを採用することができる。
GPSセンサ308は、GPS衛星から信号を受信して、移動端末xの位置情報を得るセンサである。近距離無線通信インターフェース309は、近距離にあるビーコン端末A〜Cからのデータの入出力を制御する制御装置である。例えば、近距離無線通信インターフェース309は、近距離無線通信の規格の一つであるBluetooth(登録商標)、NFC(Near Field Communication)(登録商標)、ZigBee(登録商標)等によって、他の移動端末や、ビーコン端末に接続される。加速度センサ310は、移動端末xの加速度を検出するセンサである。具体的には、加速度センサ310は、互いに垂直な3軸方向の加速度を検出する。バッテリ321は、図3に示す点線で囲んだCPU301〜バス311に電力を供給する。
(管理装置103のハードウェア構成例)
図4は、管理装置103のハードウェア構成例を示す説明図である。図4において、管理装置103は、CPU401と、ROM402と、RAM403と、を含む。また、管理装置103は、ディスクドライブ404およびディスク405と、通信インターフェース406と、を含む。また、CPU401〜ディスクドライブ404、通信インターフェース406はバス407によってそれぞれ接続される。
CPU401は、管理装置103の全体の制御を司る演算処理装置である。ROM402は、ブートプログラムなどのプログラムを記憶する不揮発性メモリである。RAM403は、CPU401のワークエリアとして使用される揮発性メモリである。
ディスクドライブ404は、CPU401の制御に従ってディスク405に対するデータのリードおよびライトを制御する制御装置である。ディスクドライブ404には、例えば、磁気ディスクドライブ、光ディスクドライブ、ソリッドステートドライブなどを採用することができる。ディスク405は、ディスクドライブ404の制御で書き込まれたデータを記憶する不揮発性メモリである。例えばディスクドライブ404が磁気ディスクドライブである場合、ディスク405には、磁気ディスクを採用することができる。また、ディスクドライブ404が光ディスクドライブである場合、ディスク405には、光ディスクを採用することができる。また、ディスクドライブ404がソリッドステートドライブである場合、ディスク405には、半導体素子によって形成された半導体メモリ、いわゆる半導体ディスクを採用することができる。
通信インターフェース406は、ネットワーク201と内部のインターフェースを司り、他の装置からのデータの入出力を制御する制御装置である。具体的に、通信インターフェース406は、通信回線を通じてネットワーク201を介して他の装置に接続される。通信インターフェース406には、例えば、モデムやLAN(Local Area Network)アダプタなどを採用することができる。
また、管理装置103の管理者が、管理装置103を直接操作する場合、管理装置103は、ディスプレイ、キーボード、マウスといったハードウェアを有してもよい。
なお、ビーコン端末A〜Cのハードウェア構成は、特に図示しないが、移動端末w〜zと通信可能な近距離無線通信インターフェースと、マイクロコントローラ(MCU:MicroController Unit)、バッテリ等を有する。次に、移動端末w〜zが有する機能として、移動端末xが有する機能について、図5を用いて説明する。
(移動端末xの機能構成例)
図5は、移動端末xの機能構成例を示す説明図である。図5では、移動端末xの機能構成例を示すが、移動端末w、y、zも移動端末xと同様な機能構成を有する。移動端末xは、制御部500を有する。制御部500は、信号受信部501と、重複度管理部502と、周辺端末管理部503と、抑止信号生成部504と、抑止信号送信部505と、登録依頼判定部506と、登録依頼送信部507と、位置情報登録応答受信部508とを含む。制御部500は、記憶装置に記憶されたプログラムをCPU301が実行することにより、各部の機能を実現する。記憶装置とは、具体的には、例えば、図3に示したROM302、RAM303、ディスク305などである。また、各部の処理結果は、RAM303、CPU301のレジスタや、CPU301のキャッシュメモリ等に格納される。なお、図5で示す点線の矢印は、他の装置に信号を送信することを示す。
また、データ転送装置101は、受信ビーコン信号DB(DataBase)511にアクセス可能である。受信ビーコン信号DB511は、RAM303、ディスク305といった記憶装置に格納される。そして、受信ビーコン信号DB511は、受信ビーコン端末位置情報表521、抑止情報表522、抑止信号次回受信時刻予測表523を含む。
受信ビーコン端末位置情報表521は、自身の重複度と、ビーコン信号を受信した現在位置とを記憶する表である。複数のビーコン端末からビーコン信号を受信した場合、受信ビーコン端末位置情報表521は、ビーコン端末ごとに、そのビーコン端末に対する自身の重複度と、そのビーコン端末のビーコン信号を受信した現在位置とを記憶する。受信ビーコン端末位置情報表521は、図1に示したセンサ情報110に相当する。受信ビーコン端末位置情報表521の記憶内容の一例は、図8で示す。
受信ビーコン端末位置情報表521は、他端末の重複度を記憶する表である。受信ビーコン端末位置情報表521は、端末とビーコン端末との組み合わせごとに、その組み合わせのビーコン端末のビーコン信号の重複度を記憶する。抑止情報表522の記憶内容の一例は、図9で示す。
抑止信号次回受信時刻予測表523は、他端末が次に抑止信号を送信する時刻を記憶する表である。抑止信号次回受信時刻予測表523の記憶内容の一例は、図10で示す。
また、移動端末xは、抑止信号送信タイマ531と、位置情報登録タイマ532とを有する。抑止信号送信タイマ531は、抑止信号を送信する間隔を計測するタイマである。また、登録依頼を送信する間隔を計測するタイマである。抑止信号送信タイマ531、位置情報登録タイマ532は、ハードウェアタイマでもよいし、ソフトウェアタイマでもよい。
ここで、本実施の形態は、大きく分けて3つの実施例を含む。まず、実施例1の機能について説明する。信号受信部501は、ビーコン端末A〜Cから、ビーコン信号を受信する。ビーコン信号のフォーマットの一例を、図7で示す。また、信号受信部501は、移動端末w、y、zから、抑止信号を受信する。抑止信号のフォーマットの一例を図7で示す。
重複度管理部502は、受信ビーコン端末位置情報表521と、抑止情報表522とを用いて、自身の重複度と、他端末の重複度とを管理する。具体的には、重複度管理部502は、信号受信部501がビーコン信号を受信した場合、自身の重複度を0とし、自身の現在位置を示す位置情報とを、受信ビーコン端末位置情報表521に記憶する。ここで、重複度管理部502は、自身の現在位置を示す位置情報を、GPSセンサ308から特定するが、これに限られない。例えば、重複度管理部502は、他の方法として、基地局から受信した電波の強度や、Wi−Fi(Wireless Fidelity)(登録商標)のAPから送信した位置情報により、またはこれらの組み合わせにより、自身の現在位置を示す位置情報を特定してもよい。
また、重複度管理部502は、抑止信号を受信した場合、受信した抑止信号に含まれる重複度を、抑止信号の送信元に対応付けて抑止情報表522に記憶するとともに、受信ビーコン端末位置情報表521に含まれる自身の重複度を増加させる。
ここで、抑止信号には、抑止信号生成部504で説明するように、抑止信号を送信する時間間隔が含まれてもよい。このとき、重複度管理部502は、抑止信号を受信し、受信した抑止信号に含まれる時間間隔に基づいて特定される抑止信号の次の抑止信号を受信する時刻を特定する。具体的には、重複度管理部502は、1つ目の抑止信号を受信した時刻に、1つ目の抑止信号に含まれる時間間隔を加算した時刻を、1つ目の抑止信号の次の2つ目の抑止信号を受信する時刻として特定する。そして、重複度管理部502は、特定した時刻を経過しても次の抑止信号を受信しない場合、受信ビーコン端末位置情報表521に含まれる自身の重複度を減少させる。
周辺端末管理部503は、抑止信号次回受信時刻予測表523を用いて、周辺端末を管理する。具体的には、重複度管理部502で特定した、次の抑止信号を受信する時刻を、抑止信号の送信元と対応付けて、抑止信号次回受信時刻予測表523に記憶する。
抑止信号生成部504は、受信ビーコン端末位置情報表521に含まれる重複度を含む抑止信号を生成する。例えば、抑止信号生成部504は、ビーコン信号を受信した際に、抑止信号送信タイマ531に所定の時間間隔を設定しておく。そして、抑止信号生成部504は、抑止信号送信タイマ531が満了した場合に、抑止信号を生成する。また、抑止信号生成部504は、抑止信号に、さらに、抑止信号を送信する時間間隔を含めてもよい。
抑止信号送信部505は、抑止信号生成部504が生成した抑止信号を、移動端末w、y、zのうちの近距離無線通信インターフェース309で直接通信可能な位置にある移動端末に送信する。
登録依頼判定部506は、受信ビーコン端末位置情報表521に含まれる自身の重複度が抑止情報表522に含まれる他端末の重複度より大きいか否かを判定する。
また、登録依頼判定部506は、受信ビーコン端末位置情報表521に含まれる自身の重複度と抑止情報表522に含まれる他端末の重複度とが同一の値である場合、自身のIDが、他端末のIDより大きいか否かを判定する。2つのIDの大小を判定する方法としては、数値順で判定してもよいし、辞書順で判定してもよい。また、自身のID、他端末のIDは、それぞれが識別できればどのようなものでもよい。例えば、自身のID、他端末のIDは、個体識別情報、MAC(Media Access Control)アドレスである。
登録依頼送信部507は、登録依頼判定部506が自身の重複度が大きいと判定した場合、受信ビーコン端末位置情報表521に含まれる位置情報を含む登録依頼を、管理装置103に送信する。また、登録依頼送信部507は、登録依頼判定部506が自身の重複度と他端末の重複度とが同一であり、自身のIDが、他端末のIDより大きい場合にも、登録依頼を、管理装置103に送信する。なお、本実施の形態では、自身の重複度と他端末の重複度とが同一である場合、自身のIDが他端末のIDより大きければ、登録依頼を送信するとしたが、各移動端末で判定基準が同一であればよいため、これに限られない。例えば、自身の重複度と他端末の重複度とが同一である場合、自身のIDが他端末のIDより小さければ、登録依頼を送信するとしてもよい。
位置情報登録応答受信部508は、登録依頼に対する管理装置103からの応答を受信する。例えば、位置情報登録応答受信部508は、管理装置103が送信した登録依頼の内容、または、位置情報の送信者の正しさを保証する署名を受信する。
次に、実施例2の機能について説明する。実施例2は、移動端末が接近、離合を繰り返す場合にも、登録依頼の重複を抑制することができる例である。実施例2のより具体的な説明については、図21〜図25で示す。実施例1の機能と変わらない箇所については、説明を行わない。
重複度管理部502は、次の抑止信号を受信する時刻を経過しても次の抑止信号を受信しなく、かつ、受信ビーコン端末位置情報表521に含まれる自身の重複度と他端末の重複度とを比較した後に、自身の重複度を減少させる。ここで、自身の重複度と他端末の重複度とを比較した後であればいつでもよく、例えば、重複度管理部502は、次の抑止信号を受信しなく、かつ、自身の重複度と他端末の重複度とを比較した直後に、自身の重複度を減少させる。また、抑止信号に、抑止信号の送信元がビーコン信号を受信した時刻が含まれていてもよい。この場合、重複度管理部502は、次の抑止信号を受信しなく、かつ、自身の重複度と他端末の重複度とを比較した後、抑止信号に含まれる時刻に、ある時間間隔Tを加算した時刻が過ぎている場合、自身の重複度を減少させてもよい。
また、自身の重複度を減少させる方法としては、例えば、重複度管理部502は、受信ビーコン端末位置情報表521に含まれる自身の重複度を、次の抑止信号を受信する時刻を経過しても次の抑止信号を受信しないと判定した時点で減少させる。そして、重複度管理部502は、減少させる前の自身の重複度を、減少させた自身の重複度と関連付ける。次に、重複度管理部502は、次の抑止信号を受信する時刻を経過しても次の抑止信号を受信しないと判定した後、自身の重複度と他端末の重複度とを比較する際には、自身の重複度として、減少させる前の自身の重複度を使用する。そして、重複度管理部502は、自身の重複度と他端末の重複度とを比較した後に、減少させる前の自身の重複度を削除する。
実施例3は、高速に移動する移動端末がある場合にも登録依頼の重複を抑制することができる例である。実施例3のより具体的な説明については、図26〜図30で示す。実施例1の機能と変わらない箇所については、説明を行わない。
抑止信号生成部504は、自身の移動速度が所定の閾値より大きい場合、抑止信号を生成しない。一方、抑止信号生成部504は、自身の移動速度が所定の閾値以下である場合、抑止信号を生成する。所定の閾値の設定方法については、図28で示す。また、抑止信号に、さらに、抑止信号の送信元の移動速度が含まれていてもよい。この場合、抑止信号生成部504は、抑止信号に含まれる移動速度に基づいて、所定の閾値を算出する。具体的な算出方法については、図30で示す。
図6は、ビーコン端末Aおよび管理装置103の機能構成例を示す説明図である。図6では、ビーコン端末Aの機能構成を示すが、ビーコン端末B、Cも、ビーコン端末Aと同様な機能構成を有する。ビーコン端末Aは、ビーコン信号送信部600を有する。管理装置103は、登録依頼受付部601を有する。登録依頼受付部601は、記憶装置に記憶されたプログラムをCPU401が実行することにより、各部の機能を実現する。記憶装置とは、具体的には、例えば、図4に示したROM402、RAM403、ディスク405などである。また、各部の処理結果は、RAM403、CPU401のレジスタや、CPU401のキャッシュメモリ等に格納される。なお、図6で示す点線の矢印は、他の装置に信号を送信することを示す。
また、管理装置103は、ビーコン端末位置管理情報DB611にアクセス可能である。ビーコン端末位置管理情報DB611は、RAM403、ディスク405といった記憶装置に格納される。そして、ビーコン端末位置管理情報DB611は、ビーコン端末位置管理情報表621を含む。ビーコン端末位置管理情報表621は、ビーコン端末の位置を管理する表である。ビーコン端末位置管理情報表621の記憶内容の一例は、図11で示す。
ビーコン信号送信部600は、定期的に、近距離無線通信を介して、通信可能な位置にある移動端末に送信する。
登録依頼受付部601は、移動端末w〜zから登録依頼を受け付けた場合、受け付けた登録依頼に含まれる位置情報を、受け付けた登録依頼に含まれるビーコン端末の位置情報として、ビーコン端末位置管理情報表621に記憶する。
(実施例1)
次に、実施例1を、図7〜図20を用いて説明する。
図7は、各装置間で送受信する信号のフォーマットの一例を示す説明図である。図7では、ビーコン端末、移動端末w〜z、管理装置103で送信される信号のフォーマットを示しつつ、システム200の動作例を示す。また、図7では、ビーコン端末Aを表示したが、ビーコン端末B、Cも、ビーコン端末Aと同様の動作を行う。
図7の(1)で示すように、ビーコン端末Aは、ビーコン信号701を送信する。ビーコン信号701は、ビーコン端末を識別するビーコン端末ID(IDentifier)を有する。図7の例では、各端末間の信号を、点線で示す。
ビーコン端末Aからのビーコン信号701を受信した移動端末は、図7の(2)で示すように、抑止信号702を、他の移動端末に送信する。図7では、移動端末wが、他の移動端末x〜zに、抑止信号702を送信する。
抑止信号702には、移動端末IDと、抑止信号送信間隔と、ビーコン端末IDと、受信時刻と、緯度経度と、登録処理状態と、重複度という項目を含む。移動端末IDは、送信元の移動端末を識別する情報である。抑止信号送信間隔は、抑止信号702を次に送信する時間間隔である。ビーコン端末IDは、受信したビーコン信号701に含まれるビーコン端末IDである。受信時刻および緯度経度は、送信元の移動端末がビーコン信号701を受信したときの受信時刻および緯度経度である。
登録処理状態は、ビーコン端末IDが管理装置103に登録されたか否かを示す状態である。具体的には、登録処理状態には、該当のビーコン端末IDがまだ登録されていないこと示す「未登録」と、該当のビーコン端末IDが登録されていることを示す「登録済」と、送信元の移動端末が該当のビーコン端末IDを登録しないことを示す「非対象」とがある。重複度は、送信元の移動端末の重複度である。
定期的に、移動端末は、管理装置103にビーコン端末IDを登録するかを、重複度を用いて決定する。そして、登録すると決定した場合、移動端末は、図7の(3)で示すように、ビーコン端末IDと緯度経度とを含む登録依頼として、管理装置103に送信する。図7の(1)〜(3)の処理は、それぞれ独立したタイミングで実施されてもよい。
また、ビーコン端末IDと、移動端末IDとは、それぞれ一意に識別可能な値が設定される。また、管理装置103は、データ登録装置への登録の判定の際に、移動端末IDの他の値を使用してもよい。例えば、移動端末を一意に決定できるデータとして、所定間隔として、ある5分間以内に位置情報を送信してくるのであれば、管理装置103は、その5分以内に受けた新しい受信時刻を選択する、としてもよい。また、移動端末が他の移動端末に抑止信号702を送信する通信手段は、ビーコン信号701と同一の近距離無線通信でもよいし、異なる近距離無線通信でもよい。次に、移動端末が記憶する情報を、図8〜図10を用いて説明する。
図8は、受信ビーコン端末位置情報表521の記憶内容の一例を示す説明図である。図8に示す受信ビーコン端末位置情報表521は、レコード801−1〜3を有する。1つのレコードが、1つのビーコン信号に関する情報となる。
受信ビーコン端末位置情報表521は、データIDと、ビーコン端末IDと、受信時刻と、緯度経度と、登録処理状態と、重複度というフィールドを含む。データIDフィールドには、受信ビーコン端末位置情報表521の各レコードを識別するIDが格納される。ビーコン端末IDフィールドには、ビーコン信号701に含まれるビーコン端末IDが格納される。受信時刻フィールドおよび緯度経度フィールドには、送信元の移動端末がビーコン信号701を受信したときの受信時刻を示す値および緯度経度を示す値が格納される。登録処理状態フィールドには、登録処理状態を示す識別子が格納される。ここで、受信ビーコン端末位置情報表521に格納される識別子は、図7で示した「未登録」、「登録済」、「非対象」の他に、該当のビーコン端末IDを自身がこれから登録依頼を行うことを示す「登録対象」とがある。重複度フィールドには、該当のビーコンIDに対する重複度が格納される。
このように、受信ビーコン端末位置情報表521に含まれる重複度は、受信ビーコン端末位置情報表521を有する自身の重複度となる。
図9は、抑止情報表522の記憶内容の一例を示す説明図である。図9に示す抑止情報表522は、レコード901−1〜4を有する。
抑止情報表522は、データIDと、移動端末IDと、ビーコン端末IDと、重複度、というフィールドを含む。データIDフィールドには、抑止情報表522の各レコードを識別するIDが格納される。移動端末IDフィールドには、抑止信号702を送信した送信元となる移動端末IDが格納される。ビーコン端末IDフィールドには、抑止信号702に含まれるビーコン端末IDが格納される。重複度フィールドには、抑止信号702に含まれる重複度が格納される。
このように、抑止情報表522に含まれる重複度は、抑止情報表522を記憶する移動端末の周辺にある他端末の重複度となる。
図10は、抑止信号次回受信時刻予測表523の記憶内容の一例を示す説明図である。図10に示す抑止信号次回受信時刻予測表523は、レコード1001−1、2を有する。
抑止信号次回受信時刻予測表523は、データIDと、移動端末IDと、次回抑止信号受信予測時刻というフィールドを含む。データIDフィールドには、抑止信号次回受信時刻予測表523の各レコードを識別するIDが格納される。移動端末IDフィールドには、移動端末IDが格納される。次回抑止信号受信予測時刻フィールドには、移動端末IDフィールドが示す移動端末から、抑止信号を次に受信する時刻を予測した時刻を示す値が格納される。
次に、管理装置103が記憶する情報を、図11を用いて説明する。
図11は、ビーコン端末位置管理情報表621の記憶内容の一例を示す説明図である。図11に示すビーコン端末位置管理情報表621は、レコード1101−1〜3を有する。
ビーコン端末位置管理情報表621は、データIDと、ビーコン端末IDと、登録依頼移動端末IDと、緯度経度と、受信時刻と、登録依頼受付時刻と、というフィールドを含む。データIDフィールドには、ビーコン端末位置管理情報表621の各レコードを識別するIDが格納される。ビーコン端末IDフィールドには、登録依頼に含まれるビーコン端末IDが格納される。登録依頼移動端末IDフィールドには、登録依頼を送信した移動端末IDが格納される。緯度経度フィールドには、登録依頼に含まれる緯度経度を示す値が格納される。受信時刻フィールドには、登録依頼に含まれる受信時刻を示す値が格納される。登録依頼受付時刻フィールドには、登録依頼を受け付けた時刻を示す値が格納される。
次に、実施例1において、重複登録を削減する動作例を示すシーケンス図を、図12を用いて説明する。
図12は、実施例1における重複登録を削減する動作例を示すシーケンス図である。図12では、移動端末x〜z、ビーコン端末Aの位置関係が、図1におけるデータ転送装置101−1〜3、センサ102と同一の位置関係であるとする。そして、ビーコン端末Aの信号到達範囲に、移動端末x〜zがあるとする。そして、移動端末x〜zのうち、移動端末y、zが直接通信できない場合とする。移動端末x〜zは、抑止信号702を受信した際に重複度を算出し、算出した重複度を互いに送受信することにより、登録依頼を行う移動端末を1つに決定する。図12では、説明の簡略化のため、ビーコン端末A〜Cのうちビーコン端末Aだけを用いて説明するとともに、移動端末の重複度と記載した場合、移動端末におけるビーコン端末Aの重複度であるとする。
ビーコン端末Aは、定期的に、ビーコン信号701を送信する(ステップS1201)。ビーコン信号を受信した移動端末x〜zは、それぞれ、信号受信時処理を実行する(ステップS1202)。信号受信時処理については、図14、図15で示す。信号受信時処理を実行することにより、移動端末x〜zは、自身のビーコン端末Aの重複度を0として更新する。また、移動端末x〜zは、ビーコン信号701を受信した位置を記録し続ける。
ステップS1202の処理終了後、移動端末xの抑止信号送信タイマ531が満了した場合、移動端末xは、抑止信号送信処理を実行し、抑止信号702を送信する(ステップS1203)。抑止信号送信処理については、図20で説明する。抑止信号702には、図7で説明したように、抑止信号702の送信元が受信したビーコン端末IDと、抑止信号702の送信元の重複度とが含まれる。
抑止信号702を受信した移動端末y、zは、それぞれ、信号受信時処理を実行する(ステップS1204)。移動端末y、zは、移動端末xからは初めて抑止信号702を受信したため、移動端末y、zは、自身の重複度を1増加させる。増加させた結果、移動端末y、zの自身の重複度は、ともに1となる。ステップS1204の処理を実行した時点では、移動端末y、zのどちらも、自身の重複度が移動端末xの重複度より大きくなる。従って、この時点において、移動端末y、zそれぞれでは、自身がビーコン端末Aのビーコン端末IDを登録依頼する実行主体となる予定となる。
ステップS1204の処理終了後、移動端末yの抑止信号送信タイマ531が満了した場合、移動端末yは、抑止信号送信処理を実行し、抑止信号702を送信する(ステップS1205)。ここで、移動端末y、zは、直接通信できない位置にあるため、図12で示すように、移動端末xは、移動端末yが送信する抑止信号702を受信するが、移動端末zは、移動端末yが送信する抑止信号702を受信しない。
抑止信号702を受信した移動端末xは、信号受信時処理を実行する(ステップS1206)。移動端末xは、移動端末yからは初めて抑止信号702を受信したため、移動端末xは、自身の重複度を1増加させる。増加させた結果、移動端末xの自身の重複度は、1となる。ステップS1206の処理を実行した時点では、移動端末xでは、自身の重複度が移動端末yの重複度と一致する。従って、この時点において、移動端末xでは、移動端末のIDの大小により、移動端末yがビーコン端末Aのビーコン端末IDを登録依頼する実行主体となる予定となる。
ステップS1206の処理終了後、移動端末zの抑止信号送信タイマ531が満了した場合、移動端末zは、抑止信号送信処理を実行し、抑止信号702を送信する(ステップS1207)。ここで、移動端末y、zは、直接通信できない位置にあるため、図12で示すように、移動端末xは、移動端末zが送信する抑止信号702を受信するが、移動端末yは、移動端末zが送信する抑止信号702を受信しない。
抑止信号702を受信した移動端末xは、信号受信時処理を実行する(ステップS1208)。移動端末xは、移動端末zからは初めて抑止信号702を受信したため、移動端末xは、自身の重複度を1増加させる。増加させた結果、移動端末xの自身の重複度は、2となる。ステップS1208の処理を実行した時点では、移動端末xでは、自身の重複度が移動端末yの重複度より大きくなる。従って、この時点において、移動端末xでは、自身がビーコン端末Aのビーコン端末IDを登録依頼する実行主体となる予定となる。
ステップS1208の処理終了後、移動端末xの抑止信号送信タイマ531が満了した場合、移動端末xは、抑止信号送信処理を実行し、抑止信号702を送信する(ステップS1209)。
抑止信号702を受信した移動端末y、zは、それぞれ、信号受信時処理を実行する(ステップS1210)。移動端末y、zは、移動端末xからは既に抑止信号702を受信しているため、自身の重複度を増加させない。従って、移動端末y、zの自身の重複度は、それぞれ、1のままとなる。そして、ステップS1210の処理を実行した時点では、移動端末y、zのどちらも、移動端末xの重複度が自身の重複度より大きくなる。従って、この時点において、移動端末y、zそれぞれでは、移動端末xがビーコン端末Aのビーコン端末IDを登録依頼する実行主体となる予定となる。
ステップS1210の処理終了後、移動端末yの抑止信号送信タイマ531が満了した場合、移動端末yは、抑止信号送信処理を実行し、抑止信号702を送信する(ステップS1211)。
抑止信号702を受信した移動端末xは、信号受信時処理を実行する(ステップS1212)。移動端末xは、移動端末yからは既に抑止信号702を受信しているため、自身の重複度を増加させない。従って、移動端末xの自身の重複度は、2のままとなる。
ステップS1212の処理終了後、移動端末zの抑止信号送信タイマ531が満了した場合、移動端末zは、抑止信号送信処理を実行し、抑止信号702を送信する(ステップS1213)。
抑止信号702を受信した移動端末xは、信号受信時処理を実行する(ステップS1214)。移動端末xは、移動端末zからは既に抑止信号702を受信しているため、自身の重複度を増加させない。従って、移動端末xの自身の重複度は、2のままとなる。
そして、ステップS1214の処理終了後、移動端末x〜zのそれぞれの位置情報登録タイマ532が満了した場合、移動端末x〜zは、位置情報登録依頼処理を実行する(ステップS1215)。位置情報登録依頼処理は、図16で示す。図12の例では、移動端末x〜zは、それぞれ、位置情報登録依頼を行う実行主体が移動端末xであると決定する。従って、移動端末xは、ビーコン端末Aのビーコン端末IDの登録依頼を、管理装置103に送信する(ステップS1216)。登録依頼を受信した管理装置103は、位置情報登録処理を実行する。位置情報登録処理については、図18で説明する。
図13は、重複度の更新例を示すシーケンス図である。図13では、図12で示した状態から、移動端末zが、移動端末xの信号到達範囲から出た場合の重複度の更新例について説明する。なお、図13では、図12と同様に、説明の簡略化のため、ビーコン端末A〜Cのうちビーコン端末Aだけを用いて説明するとともに、移動端末の重複度と記載した場合、移動端末におけるビーコン端末Aの重複度であるとする。
ここで、各移動端末は、他の移動端末が自身の信号到達範囲から出たか否かを判定するため、他の移動端末から抑止信号を受信した際に、次の抑止信号を受信する時刻を予測する。そして、各移動端末は、予測した時刻を超えても他の移動端末から抑止信号を受信しない場合に、他の移動端末が自身の信号到達範囲から出たと判定する。
ビーコン端末Aは、定期的に、ビーコン信号701を送信する(ステップS1301)。図12で示した状態から引き続き、移動端末x〜zは、自身の重複度を、それぞれ、2、1、1とする。
ステップS1301の処理終了後、移動端末zの抑止信号送信タイマ531が満了した場合、移動端末zは、抑止信号送信処理を実行し、抑止信号702を送信する(ステップS1302)。
抑止信号702を受信した移動端末xは、信号受信時処理を実行する(ステップS1303)。移動端末xは、移動端末zからは既に抑止信号702を受信しているため、自身の重複度を増加させない。従って、移動端末xの自身の重複度は、2のままとなる。
ステップS1303の処理終了後、移動端末yの抑止信号送信タイマ531が満了した場合、移動端末yは、抑止信号送信処理を実行し、抑止信号702を送信する(ステップS1304)。
抑止信号702を受信した移動端末xは、信号受信時処理を実行する(ステップS1305)。移動端末xは、移動端末yからは既に抑止信号702を受信しているため、自身の重複度を増加させない。従って、移動端末xの自身の重複度は、2のままとなる。
ステップS1305の処理の後に、移動端末zが、移動端末xの信号到達範囲から出たとする。移動端末zが移動端末xの信号到達範囲から出た後に、移動端末xの抑止信号送信タイマ531が満了した場合、移動端末xは、抑止信号送信処理を実行し、抑止信号702を送信する(ステップS1306)。
抑止信号702を受信した移動端末yは、信号受信時処理を実行する(ステップS1307)。移動端末yは、移動端末xからは既に抑止信号702を受信しているため、自身の重複度を増加させない。従って、移動端末yの自身の重複度は、1のままとなり、この時点において、移動端末yでは、移動端末xがビーコン端末Aのビーコン端末IDを登録依頼する実行主体となる予定となる。
次に、ステップS1307の処理後に、ステップS1302の処理で受信した移動端末zからの抑止信号702の次の抑止信号を受信すると移動端末xが予測した時刻が経過したとする。この場合、移動端末xは、重複度減少処理を実行する(ステップS1308)。重複度減少処理は、図19で示す。重複度減少処理を実行することにより、移動端末xの自身の重複度は、1となる。
ステップS1308の処理終了後、移動端末yの抑止信号送信タイマ531が満了した場合、移動端末yは、抑止信号送信処理を実行し、抑止信号702を送信する(ステップS1309)。
抑止信号702を受信した移動端末xは、信号受信時処理を実行する(ステップS1310)。移動端末xは、移動端末yからは既に抑止信号702を受信しているため、自身の重複度を増加させない。従って、移動端末xの自身の重複度は、1のままとなる。ステップS1310の処理を実行した時点では、移動端末xでは、自身の重複度が移動端末yの重複度と一致する。従って、この時点において、移動端末xでは、移動端末のIDの大小により、移動端末yがビーコン端末Aのビーコン端末IDを登録依頼する実行主体となる予定となる。
ステップS1311の処理終了後、移動端末xの抑止信号送信タイマ531が満了した場合、移動端末xは、抑止信号送信処理を実行し、抑止信号702を送信する(ステップS1311)。
抑止信号702を受信した移動端末yは、信号受信時処理を実行する(ステップS1312)。移動端末yは、移動端末xからは既に抑止信号702を受信しているため、自身の重複度を増加させない。従って、移動端末yの自身の重複度は、1のままとなる。ステップS1312の処理を実行した時点では、移動端末yでは、自身の重複度が移動端末xの重複度と一致する。従って、この時点において、移動端末yでは、移動端末のIDの大小により、自身がビーコン端末Aのビーコン端末IDを登録依頼する実行主体となる予定となる。
そして、ステップS1312の処理終了後、移動端末x、yのそれぞれの位置情報登録タイマ532が満了した場合、移動端末x、yは、それぞれ、位置情報登録依頼処理を実行する(ステップS1313)。図13の例では、移動端末x、yは、それぞれ、位置情報登録依頼を行う実行主体が移動端末yであると決定する。従って、移動端末yは、ビーコン端末Aのビーコン端末IDの登録依頼を、管理装置103に送信する(ステップS1314)。
図14は、信号受信時処理手順の一例を示すフローチャート(その1)である。また、図15は、信号受信時処理手順の一例を示すフローチャート(その2)である。信号受信時処理は、信号を受信した時に、重複度を計算する処理である。また、信号受信時処理は、受信したビーコン端末IDについて、他の何台の移動端末が「未登録」としているかを常に把握する処理も行う。また、信号受信時処理は、他の移動端末からの次回の抑止信号受信時刻を計算する処理も行う。ここで、移動端末は、他の移動端末が同一ビーコン端末のビーコン信号をまだ受信しているかどうかを判定するため、次の抑止信号を受信するまでの間、他端末の重複度の値を保持する。信号受信時処理は、移動端末w〜zのいずれによっても実行されるが、図14、図15の説明では、移動端末w〜zのうち、移動端末xが信号受信時処理を実行する例を用いて説明を行う。
移動端末xは、信号を受信する(ステップS1401)。次に、移動端末xは、受信した信号の種類を確認する(ステップS1402)。信号の種類とは、ビーコン信号701と、抑止信号と、である。受信した信号の種類がビーコン信号701である場合(ステップS1402:ビーコン信号)、移動端末xは、受信したビーコン信号701に含まれるビーコン端末IDが、抑止情報表522に含まれるビーコン端末IDか否かを判断する(ステップS1403)。受信したビーコン信号701に含まれるビーコン端末IDが抑止情報表522に含まれるビーコン端末IDである場合(ステップS1403:Yes)、移動端末xは、抑止情報表522より、当該ビーコン端末について記録済みの移動端末数を重複度、登録処理を「未登録」として受信ビーコン端末位置情報表521に位置情報を追加する(ステップS1404)。
一方、受信したビーコン信号701に含まれるビーコン端末IDが抑止情報表522に含まれるビーコン端末IDでない場合(ステップS1403:No)、移動端末xは、受信ビーコン端末位置情報表の当該ビーコン端末IDについて重複度0とし、登録処理を「未登録」として更新する(ステップS1405)。ステップS1404、またはステップS1405の処理終了後、移動端末xは、信号受信時処理を終了する。
また、受信した信号の種類が抑止信号702である場合(ステップS1402:抑止信号)、移動端末xは、受信した抑止信号702に含まれる移動端末IDが、抑止信号次回受信時刻予測表523にない新しく受信した移動端末IDか否かを判断する(ステップS1501)。受信した抑止信号702に含まれる移動端末IDが抑止信号次回受信時刻予測表523にない新しく受信した移動端末IDである場合(ステップS1501:Yes)、移動端末xは、抑止情報表に当該移動端末情報を追加する(ステップS1502)。そして、移動端末xは、受信した抑止信号702に含まれる移動端末IDが、受信ビーコン端末位置情報表521に位置情報を記録済みのビーコン端末IDか否かを判断する(ステップS1503)。
受信した抑止信号702に含まれる移動端末IDが受信ビーコン端末位置情報表521に位置情報を記録済みのビーコン端末IDである場合(ステップS1503:Yes)、移動端末xは、受信ビーコン端末位置情報表521の当該ビーコン端末IDを含む行の重複度を1増加させる(ステップS1504)。
ステップS1504の処理終了後、または、受信した抑止信号702に含まれる移動端末IDが受信ビーコン端末位置情報表521に位置情報を記録済みのビーコン端末でない場合(ステップS1503:No)、移動端末xは、次回抑止信号受信時刻を算出する(ステップS1505)。例えば、移動端末xは、抑止信号702を受信した時刻に、抑止信号702に含まれる抑止信号送信間隔を加算した時刻を、次回抑止信号受信時刻として算出する。
そして、移動端末xは、抑止信号次回受信時刻予測表523に追加または更新する(ステップS1506)。具体的には、移動端末xは、抑止信号次回受信時刻予測表523に当該移動端末IDがなければ、当該移動端末IDと、算出した次回抑止信号受信時刻とを1レコードとして、抑止信号次回受信時刻予測表523に追加する。また、抑止信号次回受信時刻予測表523に当該移動端末IDがあれば、移動端末xは、当該移動端末IDが記憶されたレコードの次回抑止信号受信時刻フィールドの値を、算出した次回抑止信号受信時刻で更新する。ステップS1506の処理終了後、移動端末xは、信号受信時処理を終了する。
一方、受信した抑止信号702に含まれる移動端末IDが抑止信号次回受信時刻予測表523にある場合(ステップS1501:No)、移動端末xは、抑止情報表522の重複度に更新があるか否かを判断する(ステップS1507)。ここで、更新があるか判定方法として、移動端末xは、抑止信号702に含まれる重複度と、抑止情報表522の重複度とを比較して、2つの重複度が異なる値である場合、更新があると判断する。抑止情報表522の重複度に更新がある場合(ステップS1507:Yes)、移動端末xは、抑止情報表522に当該移動端末情報を更新する(ステップS1508)。
ステップS1508の処理終了後、または、抑止情報表522の重複度に更新がない場合(ステップS1507:No)、移動端末xは、ステップS1505の処理に移行する。
図16は、位置情報登録依頼処理手順の一例を示すフローチャートである。位置情報登録依頼処理は、定期的に、未登録の位置情報があり自身が登録依頼の主体となる場合に、管理装置103に登録依頼を送信する処理である。位置情報登録依頼処理は、移動端末w〜zのいずれによっても実行されるが、図16の説明では、移動端末w〜zのうち、移動端末xが位置情報登録依頼処理を実行する例を用いて説明を行う。
移動端末xは、位置情報登録タイマ532を監視することにより、前回の登録時刻から一定時間経過したか否かを判断する(ステップS1601)。ここで、一定時間は、登録依頼判定部506が要求するビーコン端末の追従性によって変更する。前回の登録時刻から一定時間経過していない場合(ステップS1601:No)、移動端末xは、ステップS1601の処理を再び実行する。
一方、前回の登録時刻から一定時間経過した場合(ステップS1601:Yes)、移動端末xは、受信ビーコン端末位置情報表521のうち、未登録の行を選択する(ステップS1602)。そして、移動端末xは、実施例1における位置情報登録依頼主体判定処理を実行する(ステップS1603)。実施例1における位置情報登録依頼主体判定処理は、図17で示す。
次に、移動端末xは、「登録対象」の位置情報を、登録依頼として管理装置103に送信する(ステップS1604)。そして、移動端末xは、登録済みの位置情報の「登録処理」を「登録済」に更新する(ステップS1605)。ステップS1605の処理終了後、移動端末xは、ステップS1601の処理に移行する。
図17は、実施例1における位置情報登録依頼主体判定処理手順の一例を示すフローチャートである。位置情報登録依頼主体判定処理は、位置情報の登録依頼を送信する主体が自身か他の移動端末かを判定する処理である。位置情報登録依頼主体判定処理は、位置情報登録依頼処理から呼び出される処理であるため、図16と同様に、移動端末w〜zのうち、移動端末xが位置情報登録依頼処理を実行する例を用いて説明を行う。
移動端末xは、全ての未登録の位置情報がステップS1702〜S1707の処理により判定済みか否かを判断する(ステップS1701)。判定済みでない未登録の位置情報がある場合(ステップS1701:No)、移動端末xは、未登録の位置情報を1つ選択する(ステップS1702)。次に、移動端末xは、自端末の重複度が他端末の重複度より大きいか否かを判断する(ステップS1703)。ここで、自端末の重複度は、受信ビーコン端末位置情報表521に格納されている。一方で、他端末の重複度は、抑止情報表522に格納されている。
自端末の重複度が他端末の重複度以下である場合(ステップS1703:No)、移動端末xは、続けて、自端末の重複度が他端末の重複度と同じか否かを判断する(ステップS1704)。自端末の重複度が他端末の重複度と同じである場合(ステップS1704:Yes)、移動端末xは、続けて、自端末IDと他端末IDでは自端末のIDが最も大きいか否かを判断する(ステップS1705)。
自端末の重複度が他端末の重複度より大きい場合(ステップS1703:Yes)、または、自端末のIDが最も大きい場合(ステップS1705:Yes)、移動端末xは、受信ビーコン端末IDの登録処理状態を「登録対象」に更新する(ステップS1706)。
一方、自端末の重複度が他端末の重複度と同じでない、すなわち、自端末の重複度が他端末の重複度より小さい場合(ステップS1704:No)、または、他端末のIDが最も大きい場合(ステップS1705:No)、移動端末xは、受信ビーコン端末IDの登録処理状態を「非対象」に更新する(ステップS1707)。ステップS1706、またはステップS1707の処理実行後、移動端末xは、ステップS1701の処理に移行する。
また、全ての未登録の位置情報が、ステップS1702〜S1707の処理により判定済みである場合(ステップS1701:Yes)、移動端末xは、位置情報登録依頼主体判定処理を終了する。
図18は、位置情報登録処理手順の一例を示すフローチャートである。位置情報登録処理は、登録依頼を受信した際に、登録依頼に含まれる位置情報を登録する処理である。位置情報登録処理は、管理装置103によって実行される。
管理装置103は、登録依頼を受信したか否かを判断する(ステップS1801)。登録依頼を受信していない場合(ステップS1801:No)、管理装置103は、ステップS1801の処理を再び実行する。
一方、登録依頼を受信した場合(ステップS1801:Yes)、管理装置103は、位置情報をビーコン端末位置管理情報に追加する(ステップS1802)。そして、管理装置103は、位置情報の登録完了を、登録依頼の送信元に通知する(ステップS1803)。ステップS1803の処理終了後、管理装置103は、ステップS1801の処理に移行する。
ステップS1803の処理において、位置情報の登録完了として、管理装置103は、例えば、受信した登録依頼の内容、または、位置情報の送信者の正しさを保証する署名を付加してもよい。
図19は、実施例1における重複度減少処理手順の一例を示すフローチャートである。重複度減少処理は、抑止信号702を受信すると予測した時刻を過ぎても抑止信号702を受信しない場合に、関連する重複度を減少させる処理である。重複度減少処理は、移動端末w〜zのいずれによっても実行されるが、図19の説明では、移動端末w〜zのうち、移動端末xが重複度減少処理を実行する例を用いて説明を行う。
移動端末xは、抑止信号次回受信時刻予測表523に記憶されている次回抑止信号受信予測時刻と現在時刻とを比較する(ステップS1901)。そして、移動端末xは、現在時刻が次回抑止信号受信予測時刻を過ぎたか否かを判断する(ステップS1902)。現在時刻が次回抑止信号受信予測時刻を過ぎていない場合(ステップS1902:No)、移動端末xは、ステップS1901の処理に移行する。
一方、現在時刻が次回抑止信号受信予測時刻を過ぎた場合(ステップS1902:Yes)、移動端末xは、抑止情報表522、抑止信号次回受信時刻予測表523から抑止信号を受信していない移動端末に関する該当行を削除する(ステップS1903)。そして、移動端末xは、受信ビーコン端末位置情報表521の当該移動端末IDを含む行の重複度を1減少させる(ステップS1904)。
このように、重複度減少処理を実行することにより、移動端末xは、前回の抑止信号702を受信してから次の抑止信号702を受信するまでの間、重複度の値を保持することになる。また、移動端末xは、抑止信号702を受信できなかった場合、重複度を再計算することになる。
図20は、実施例1における抑止信号送信処理手順の一例を示すフローチャートである。抑止信号送信処理は、定期的に抑止信号を送信する処理である。抑止信号送信処理は、移動端末w〜zのいずれによっても実行されるが、図20の説明では、移動端末w〜zのうち、移動端末xが抑止信号送信処理を実行する例を用いて説明を行う。
移動端末xは、抑止信号送信タイマ531を監視することにより、前回の抑止信号702の送信から一定時間経過したか否かを判断する(ステップS2001)。ここで、一定時間について、各移動端末は、自身のバッテリ残量等に応じて設定してもよい。例えば、移動端末xは、自身のバッテリ321の残量が少ない程一定時間を長く設定し、自身のバッテリ321の残量が多い程一定時間を短く設定してもよい。
前回の抑止信号702の送信から一定時間経過していない場合(ステップS2001:No)、移動端末xは、ステップS2001の処理を再び実行する。一方、前回の抑止信号702の送信から一定時間経過した場合(ステップS2001:Yes)、移動端末xは、受信ビーコン端末位置情報表521のうち、未登録の行を選択する(ステップS2002)。そして、移動端末xは、近距離無線通信インターフェース309を用いて、抑止信号702を送信する(ステップS2003)。ステップS2003の処理終了後、移動端末xは、ステップS2001の処理に移行する。
(実施例2)
実施例1では、各移動端末は、他の移動端末からの抑止信号を受信しない間の位置情報を、自身で登録依頼することになる。このような動作となる理由は、移動端末間の距離が大きくなり、一方の移動端末が、他方の移動端末が送信する抑止信号を受信できなくなると、抑止情報表522に記憶した他方の移動端末の重複度を削除するためである。ここで、抑止信号を送受信する間だけ位置情報を1つに削減するのではなく、移動端末が接近、離合を繰り返す場合にも、ある時間間隔ごとに1つに減らしたい場合がある。
ここで、有効な位置情報の登録抑止の期限をどのように設定するかが難しい。例えば、前述の期限を単に長くすると、登録依頼を行う移動端末数を減らすことができるが、ビーコン端末の位置を追えなくなる場合がある。一方で、前述の期限を単に短くすると、登録依頼を行う移動端末数を減らすことができなくなる。
そこで、実施例2では、以下の2つの方法のいずれかにより、前述の期限を設定する。1つ目の方法は、抑止情報表522に記憶した他方の移動端末の重複度を削除するタイミングを、次の登録依頼予定時刻とする方法である。この方法を、実施例2−1とする。2つ目の方法は、管理装置103が、ある時間間隔Tごとの位置の登録でよいとする場合、前述の削除のタイミングを、抑止信号702に含まれる受信時刻から時間間隔Tが経過する直前の登録予定時刻とする方法である。この方法を、実施例2−2とする。実施例2−2において、抑止信号702が抑止され続ける端末は、登録依頼回数を減らすことができる。各移動端末は、実施例2−1、2−2のいずれを採用してもよい。なお、実施例2について、実施例1について説明した箇所と同様の箇所については、同一符号を付して図示および説明を省略する。
次に、実施例2において、重複登録を削減する動作例を示すシーケンス図を、図21を用いて説明する。
図21は、実施例2における重複登録を削減する動作例を示すシーケンス図である。図21で示す状態は、最初は図12で示す状態と同様に、ビーコン端末Aの信号到達範囲に、移動端末x〜zがあり、移動端末x〜zのうち、移動端末y、zが直接通信できない状態であるとする。そして、移動端末zが、移動端末xの信号到達範囲から出た場合の重複度の更新例について説明する。
ここで、図21で示すステップS2101〜ステップS2107の処理は、図13で示すステップS1301〜S1307の処理と同一であるため、説明を省略する。
ステップS2107の処理後に、ステップS2102の処理で受信した移動端末zからの抑止信号702の次の抑止信号を受信すると移動端末xが予測した時刻が経過したとする。この場合、移動端末xは、実施例2における重複度減少処理を実行する(ステップS2108)。実施例2における重複度減少処理は、図22で示す。重複度減少処理を実行することにより、移動端末xの自身の重複度は、1となる。ここで、重複度が減少することになるが、移動端末xは、更新後の重複度を受信ビーコン端末位置情報表521に記憶するとともに、位置情報の登録依頼の判定を行うまでは、古い重複度である2を記憶しておく。
ステップS2108の処理終了後、移動端末yの抑止信号送信タイマ531が満了した場合、移動端末yは、抑止信号送信処理を実行し、抑止信号702を送信する(ステップS2109)。
抑止信号702を受信した移動端末xは、信号受信時処理を実行する(ステップS2110)。移動端末yからは既に抑止信号702を受信しているため、移動端末xは、自身の重複度を増加させない。
ステップS2110の処理終了後、移動端末xの抑止信号送信タイマ531が満了した場合、移動端末xは、抑止信号送信処理を実行し、抑止信号702を送信する(ステップS2111)。
抑止信号702を受信した移動端末yは、信号受信時処理を実行する(ステップS2112)。移動端末yは、移動端末xからは既に抑止信号702を受信しているため、自身の重複度を増加させない。また、ステップS2111の処理で受信した抑止信号702に含まれる移動端末xの重複度は1となるが、移動端末yは、更新後の重複度を抑止情報表522に記憶するとともに、位置情報の登録依頼の判定を行うまでは、古い重複度である2を記憶しておく。
そして、ステップS2112の処理終了後、移動端末x、yのそれぞれの位置情報登録タイマ532が満了した場合、移動端末x、yは、実施例2−1における位置情報登録依頼主体判定処理、または、実施例2−2における位置情報登録依頼主体判定処理を実行する(ステップS2113)。実施例2−1における位置情報登録依頼主体判定処理は、図23で示す。また、実施例2−2における位置情報登録依頼処理は、図25で示す。図21の例では、移動端末x、yは、それぞれ、古い重複度に基づいて、位置情報登録依頼を行う実行主体が移動端末xであると決定する。従って、移動端末xは、ビーコン端末Aのビーコン端末IDの登録依頼を、管理装置103に送信する(ステップS2114)。登録依頼を受信した管理装置103は、位置情報登録処理を実行する。
図22は、実施例2における重複度減少処理手順の一例を示すフローチャートである。実施例2における重複度減少処理は、実施例2−1、2−2ともに実行される処理である。実施例2における重複度減少処理は、実施例1における重複度減少処理と同様に、移動端末w〜zのいずれによっても実行されるが、図22の説明では、移動端末w〜zのうち、移動端末xが重複度減少処理を実行する例を用いて説明を行う。また、図22に示す重複度減少処理のステップS2201、S2202、S2204は、図19で示したステップS1901、S1902、S1904の処理と同一であるため、説明を省略する。
ステップS2202の処理終了後、移動端末xは、抑止信号次回受信時刻予測表523から抑止信号を受信していない移動端末に関する該当行を削除する(ステップS2203)。なお、ステップS2203において、実施例1では行っている、抑止情報表522の該当行の削除は行わない。また、ステップS2204の処理について、移動端末xは、受信ビーコン端末位置情報表521の当該移動端末IDを含む行の重複度を1減少させるが、減少させる前の重複度を、該当行に関連付けて記憶しておく。
また、実施例2−1、2−2ともに、ステップS1507の処理において、重複度が減少したという更新があった場合には、位置情報登録依頼処理を実行するまでは、減少する前の重複度を、該当行に関連付けて記憶しておく。
(実施例2−1)
実施例2−1における位置情報登録依頼主体判定処理を、図23を用いて説明する。
図23は、実施例2−1における位置情報登録依頼主体判定処理手順の一例を示すフローチャートである。実施例2−1における位置情報登録依頼主体判定処理は、実施例1における位置情報登録依頼主体判定処理と同様に、移動端末w〜zのいずれによっても実行される。図23の説明では、移動端末w〜zのうち、移動端末xが位置情報登録依頼主体判定処理を実行する例を用いて説明を行う。
また、図23に示す位置情報登録依頼主体判定処理のステップS2301〜S2307の処理は、図17のステップS1701〜S1707の処理と同一であるため、説明を省略する。ただし、ステップS2303〜S2305における、「自端末の重複度」、「他端末の重複度」について、移動端末xは、受信ビーコン端末位置情報表521や抑止情報表522の該当行に関連付けられた重複度がある場合には、その関連付けられた重複度を用いる。
全ての未登録の位置情報が、ステップS2302〜S2307の処理により判定済みである場合(ステップS2301:Yes)、移動端末xは、移動端末について、抑止情報表522にあって抑止信号次回受信時刻予測表523にない行を特定する(ステップS2308)。そして、移動端末xは、特定した行を削除する(ステップS2309)。
ここで、抑止情報表522にあって抑止信号次回受信時刻予測表523にない移動端末とは、同じ場所にいない移動端末となる。また、抑止情報表522の当該行を削除する際に、当該行に関連付けられた重複度がある場合には、移動端末xは、その関連付けられた重複度を削除する。また、抑止情報表522の当該行を削除する際に、当該行に対応する受信ビーコン端末位置情報表521の行に関連付けられた重複度がある場合には、移動端末xは、その関連付けられた重複度を削除する。ステップS2309の処理終了後、移動端末xは、位置情報登録依頼主体判定処理を終了する。
(実施例2−2)
次に、実施例2−2における位置情報登録依頼主体判定処理を、図25を用いて説明するが、その前に、実施例2−2では、抑止情報表が実施例1に示すものから変化するため、実施例2−2における抑止情報表について、図24を用いて説明する。
図24は、実施例2−2における抑止情報表2200の記憶内容の一例を示す説明図である。図24に示す実施例2−2における抑止情報表2200は、レコード2401−1、2を有する。
抑止情報表2200は、抑止情報表522に、位置記録時刻フィールドが追加された表である。位置記録時刻フィールドには、抑止信号702に含まれる受信時刻を示す値が格納される。抑止信号702に含まれる受信時刻は、すなわち、抑止信号702の送信元となる移動端末が、ビーコン信号701を受信した時刻となる。また、位置記録時刻フィールドに値が格納されるタイミングは、ステップS1502となる。
図25は、実施例2−2における位置情報登録依頼主体判定処理手順の一例を示すフローチャートである。図25に示す位置情報登録依頼主体判定処理のステップS2501〜S2508の処理は、図23のステップS2301〜S2308の処理と同一であるため、説明を省略する。また、ステップS2503〜S2305における、「自端末の重複度」、「他端末の重複度」についても、図23と同様の処理を行う。
ステップS2508の処理終了後、移動端末xは、特定した行のうち、現在時刻が位置記録時刻+ある時間間隔Tを超える行を削除する(ステップS2509)。ある時間間隔Tは、例えば、システム200の管理者等が決めてもよい。ステップS2509の処理終了後、移動端末xは、位置情報登録依頼主体判定処理を終了する。
(実施例3)
実施例3では、高速に移動する移動端末がある場合、抑止信号702の送信タイミングのずれにより、高速に移動する移動端末と、他の移動端末との双方が、抑止信号702をやり取りできない場合について対処する方法である。高速に移動する移動端末がある場合を、図26で示す。
図26は、実施例3におけるデータ転送装置の移動例を示す説明図である。図26では、移動端末xを持つユーザは、車caに乗っている。一方、移動端末y、zを持つそれぞれのユーザは、徒歩で移動している。また、移動端末x、y、zの信号到達範囲r−x、r−y、r−zが、それぞれ、図26で示すような範囲であるとする。ここで、重複度が共有されるには、周辺の移動端末の抑止信号702を受け取った上で、更新した抑止信号を周囲に送ることになる。
しかしながら、図26のように、高速に移動する移動端末xによる抑止信号702が、移動端末xが高速に移動した結果、周囲にいる移動端末y、zに届かない場合があり、重複登録を防ぐことができなくなる。移動端末xと、移動端末y、zとのうちの一方が相手の抑止信号702を受け取れない場合、双方が登録する場合があり得ることになる。
そこで、実施例3では、周囲に移動端末が存在し、かつ自移動端末が一定速度以上の速さで動いている場合には、抑止信号702の送信と、登録依頼をしないものとする。より具体的には、実施例3では、以下の2つの方法のいずれかの方法を行う。1つ目の方法は、抑止信号702を受信した場合、ビーコン端末に関する位置情報の登録を周囲の移動端末に任せる方法である。この方法を、実施例3−1とする。2つ目の方法は、ビーコン端末、移動端末によるビーコン信号701の信号強度の変化や、移動速度・移動方向より端末間の相対的な速度を元に、抑止信号702の送信判定を行ってもよい。この方法を、実施例3−2とする。また、実施例3−1、3−2は、実施例2−1、2−2と組み合わせて実施されてもよい。なお、実施例3について、実施例1について説明した箇所と同様の箇所については、同一符号を付して図示および説明を省略する。
次に、実施例3−1、3−2に共通する動作例として、実施例3における重複登録を削減する動作例を示すシーケンス図を、図27を用いて説明する。
図27は、実施例3における重複登録を削減する動作例を示すシーケンス図である。図27では、図26で示したように、移動端末xが、移動端末y、zに対して高速に移動しているものとする。そして、ステップS2701〜S2703の処理実行時点では、移動端末xは、移動端末z、yの信号到達範囲に含まれるものとする。具体的には、図26を用いて説明すると、移動端末xは、移動端末z、yの信号到達範囲に含まれ、ビーコン端末Aの付近にいるものとする。また、ステップS2704〜S2706の処理実行時点では、移動端末xは、移動端末yの信号到達範囲内にいるが、移動端末zの信号到達範囲内にいないものとする。具体的には、移動端末xは、図26で示した位置にいるものとする。
ビーコン端末Aは、定期的に、ビーコン信号701を送信する(ステップS2701)。ビーコン信号を受信した移動端末x〜zは、それぞれ、信号受信時処理を実行する。
それぞれで信号受信時処理が終了した後、移動端末zの抑止信号送信タイマ531が満了した場合、移動端末zは、抑止信号送信処理を実行し、抑止信号702を送信する(ステップS2702)。抑止信号702を受信した移動端末x、yは、それぞれ、信号受信時処理を実行する(ステップS2703)。移動端末x、yは、移動端末zからは初めて抑止信号702を受信したため、移動端末x、yは、自身の重複度を1増加させる。増加させた結果、移動端末x、yの自身の重複度は、1となる。
ステップS2703の処理終了後、移動端末yの抑止信号送信タイマ531が満了した場合、移動端末yは、抑止信号送信処理を実行し、抑止信号702を送信する(ステップS2704)。
抑止信号702を受信した移動端末x、zは、それぞれ、信号受信時処理を実行する(ステップS2705)。移動端末x、zは、移動端末yからは初めて抑止信号702を受信したため、移動端末x、zは、自身の重複度を1増加させる。増加させた結果、移動端末x、zの自身の重複度は、それぞれ、2、1となる。
ステップS2705の処理終了後、移動端末xの抑止信号送信タイマ531が満了した場合、移動端末xは、実施例3−1にかかる抑止信号送信処理、または実施例3−2にかかる抑止信号送信処理を実行する(ステップS2706)。実施例3−1にかかる抑止信号送信処理は、図28で示す。実施例3−2にかかる抑止信号送信処理は、図30で示す。実施例3−1にかかる抑止信号送信処理、または実施例3−2にかかる抑止信号送信処理を実行した結果、移動端末xは、自身が一定以上の速度で移動していると判断し、抑止信号702を送信しない。
ステップS2706の処理終了後、移動端末zの抑止信号送信タイマ531が満了した場合、移動端末zは、抑止信号送信処理を実行し、抑止信号702を送信する(ステップS2707)。
抑止信号702を受信した移動端末yは、信号受信時処理を実行する(ステップS2708)。移動端末yは、移動端末zからは既に抑止信号702を受信しているため、自身の重複度を増加させない。従って、移動端末yの自身の重複度は、1のままとなる。
ステップS2708の処理終了後、移動端末yの抑止信号送信タイマ531が満了した場合、移動端末yは、抑止信号送信処理を実行し、抑止信号702を送信する(ステップS2709)。
抑止信号702を受信した移動端末zは、信号受信時処理を実行する(ステップS2710)。移動端末zは、移動端末yからは既に抑止信号702を受信しているため、自身の重複度を増加させない。従って、移動端末zの自身の重複度は、1のままとなる。
そして、ステップS2710の処理終了後、移動端末y、zのそれぞれの位置情報登録タイマ532が満了した場合、移動端末y、zは、それぞれ、位置情報登録依頼処理を実行する(ステップS2711)。図27の例では、移動端末x、yは、それぞれ、位置情報登録依頼を行う実行主体が移動端末zであると決定する。従って、移動端末zは、ビーコン端末Aのビーコン端末IDの登録依頼を、管理装置103に送信する(ステップS2712)。
(実施例3−1)
実施例3−1における抑止信号送信処理を、図28を用いて説明する。
図28は、実施例3−1における抑止信号送信処理手順の一例を示すフローチャートである。実施例3−1における抑止信号送信処理は、実施例1における抑止信号送信処理と同様に、移動端末w〜zのいずれによっても実行される。図28の説明では、移動端末w〜zのうち、移動端末xが抑止信号送信処理を実行する例を用いて説明を行う。
また、図28に示す抑止信号送信処理のステップS2801、S2802の処理は、図20に示すステップS2001、S2002の処理と同一であるため、説明を省略する。
ステップS2802の処理終了後、移動端末xは、加速度センサ310から得られた値に基づいて、自端末の移動速度を算出する(ステップS2803)。そして、移動端末xは、自端末の移動速度が所定の閾値以下か否かを判断する(ステップS2804)。ここで、閾値について、移動端末xは、例えば、抑止信号702の到達距離、抑止信号702の送信間隔に基づいて、所定の閾値を算出する。一例として、信号到達範囲内で、3回以上のやり取りができる速度かどうかを判断するため、移動端末xは、(抑止信号702の到達距離×2)/(抑止信号702の送信間隔×3)を、所定の閾値として算出してもよい。
自端末の移動速度が所定の閾値以下である場合(ステップS2804:Yes)、移動端末xは、自端末の移動速度を含めた抑止信号を送信する(ステップS2805)。そして、移動端末xは、ステップS2801の処理に移行する。一方、自端末の移動速度が所定の閾値より大きい場合(ステップS2804:No)、移動端末xは、ステップS2801の処理に移行する。
(実施例3−2)
次に、実施例3−2における抑止信号送信処理を、図30を用いて説明するが、その前に、実施例3−2では、抑止信号次回受信時刻予測表が実施例1に示すものから変化する。そこで、実施例3−2における抑止信号次回受信時刻予測表について、図29を用いて説明する。
図29は、実施例3−2における抑止信号次回受信時刻予測表2900の記憶内容の一例を示す説明図である。図29に示す実施例3−2における抑止信号次回受信時刻予測表2900は、レコード2901−1、2を有する。
抑止信号次回受信時刻予測表2900は、抑止信号次回受信時刻予測表523に、移動速度フィールドが追加された表である。移動速度フィールドには、移動端末IDフィールドが示す移動端末の移動速度を示す値が格納される。ここで、移動端末IDフィールドが示す移動端末の移動速度は、抑止信号702に含まれるものとする。従って、実施例3−2における抑止信号702は、移動速度が含まれるものとする。また、移動速度フィールドに値が格納されるタイミングは、ステップS1502、S1206となる。
図30は、実施例3−2における抑止信号送信処理手順の一例を示すフローチャートである。図30に示す抑止信号送信処理のステップS3001〜S3003、S3005、S3006の処理は、図28のステップS2801〜S2805の処理と同一であるため、説明を省略する。
ステップS3003の処理終了後、移動端末xは、抑止信号次回受信時刻予測表を参照して、周辺の移動端末の速度から所定の閾値を算出する(ステップS3004)。例えば、移動端末xは、周辺にいる他の移動端末の相対速度、または、移動速度のベクトルの平均値・絶対値に基づいて、所定の閾値を算出する。例えば、移動端末xは、移動速度の平均値を、所定の閾値として算出する。また、周辺の移動端末の速度は、大きさと方向を有するベクトルとしてもよいし、大きさだけを有するスカラーとしてもよい。ステップS3004の処理終了後、移動端末xは、ステップS3005の処理に移行する。
以上説明したように、移動端末w〜zは、抑止信号702を各移動端末が送信し合い、重複度が最大の移動端末が管理装置103に位置を登録する。これにより、重複度が大きい程ビーコン端末に近いため、ビーコン端末に最も近い位置を通知できる。従って、管理装置103が管理するビーコン端末の位置情報の正確性を担保することができる。また、移動端末w〜zは、登録依頼を送信する端末が1つとなり、通信量の削減を行うことができる。
また、移動端末w〜zは、次の抑止信号を受信する時刻を経過しても次の抑止信号を受信しない場合、自身の重複度を減少させてもよい。これにより、移動端末w〜zは、自身の近くにいた他端末がいなくなり、例えば、他端末の重複度の方が自身の端末より大きくなった場合、登録依頼を行わないので、通信量の削減を行うことができる。
また、移動端末w〜zは、実施例2として、次の抑止信号を受信しなく、かつ、自身の重複度と他端末の重複度とを比較した後に、自身の重複度を減少させてもよい。これにより、例えば、実施例2−1では、移動端末w〜zは、自身の重複度が他端末の重複度より大きい場合、他の移動端末が離合したとしても、離合した次の登録依頼については、自身が登録依頼を行うため、他端末が登録依頼を行わなくてもよい。また、実施例2−2では、移動端末w〜zは、自身の重複度が他端末の重複度より大きい場合、他の移動端末が離合したとしても、他の移動端末がビーコン信号を受信してから、時間間隔Tまでは自身が登録依頼を行うため、他端末が登録依頼を行わなくてもよい。
また、実施例2−1、2−2を比較すると、実施例2−1は、実施例2−2に比べて、よりリアルタイムな位置情報を管理装置103に送信することができる。また、実施例2−2は、実施例2−1に比べて、抑止され続ける移動端末は、登録依頼の送信回数を減らすことができる。
また、移動端末w〜zは、実施例3−1として、自身の移動速度が所定の閾値より大きければ抑止信号を送信しなくてもよい。これにより、移動端末w〜zは、自身が高速に移動している際に、双方が抑止信号をやり取りすることができないことによる登録依頼の重複を抑制することができる。
また、移動端末w〜zは、実施例3−2として、他端末の移動速度に基づいて、所定の閾値を算出してもよい。例えば、移動端末w〜zは、自身と他端末とが同速度、すなわち、同方向に同じ速さで移動している場合には、双方が抑止信号をやり取りすることができない状態が発生しない。そして、この場合、自身の移動速度が所定の閾値以下となるので、移動端末w〜zは、実施例1で示した方法と同様に、登録依頼が重複することを抑制することができる。
また、移動端末w〜zは、自身の重複度と他端末の重複度とが同一であれば、自身のIDが、他端末のIDより大きい場合に、登録依頼を送信してもよい。これにより、移動端末w〜zは、自身の重複度と他端末の重複度とが同一であっても、登録依頼が重複することを抑制することができる。
また、図1で示したセンサ102は、センサ102の位置に関する情報としてセンサ102の識別情報を発信するビーコン端末でもよい。これにより、システム100は、センサ102の現在位置を監視するサービスを提供することができる。また、センサ102は、ビーコン端末に限らない。例えば、センサ102が、加速度センサや温度センサであって、センサ102が、自身のIDと、加速度や温度を発信してもよい。これにより、システム100は、センサ102の現在位置とともに、センサ102の持ち主の移動速度や、センサ102の周囲の温度を得るサービスを提供することができる。
なお、本実施の形態で説明したデータ転送方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本データ転送プログラムは、ハードディスク、フレキシブルディスク、CD−ROM(Compact Disc−Read Only Memory)、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また本データ転送プログラムは、インターネット等のネットワークを介して配布してもよい。
上述した実施の形態に関し、さらに以下の付記を開示する。
(付記1)管理装置と通信可能であり、センサと近距離無線通信を介して通信可能であり、かつ、互いに近距離無線通信を介して直接通信可能であって現在位置を特定可能な複数のコンピュータのうちのいずれかのコンピュータに、
前記センサの識別情報の受信に応じて、前記センサの情報を前記管理装置に送信することを他のコンピュータに対して抑止する抑止信号を受信した際の送信元となるコンピュータの数を示す重複度と、前記いずれかのコンピュータの現在位置を示す位置情報とを含めたセンサ情報を記憶し、
前記センサ情報に含まれる重複度を含む前記抑止信号を、前記複数のコンピュータのうちの当該近距離無線通信を介して直接通信可能な位置にあるコンピュータに送信し、
前記抑止信号の受信に応じて、前記抑止信号に含まれる重複度を、前記抑止信号の送信元に対応付けて記憶するとともに、前記センサ情報に含まれる重複度を増加させ、
前記センサ情報に含まれる重複度が前記抑止信号の送信元に対応付けられた重複度より大きいときに、前記センサ情報に含まれる位置情報を前記管理装置に送信する、
処理を実行させることを特徴とするデータ転送プログラム。
(付記2)当該近距離無線通信によって直接通信可能な位置にあるコンピュータに送信する処理は、
さらに、前記抑止信号を送信する時間間隔を示す情報を含む前記抑止信号を、前記複数のコンピュータのうちの当該近距離無線通信によって通信可能な位置にあるコンピュータに送信し、
前記いずれかのコンピュータに、
前記抑止信号を受信し、前記抑止信号に含まれる時間間隔に基づいて特定される前記抑止信号の次の抑止信号を受信する時刻を経過しても前記次の抑止信号を受信しない場合、前記センサ情報に含まれる重複度を減少させる、
処理を実行させることを特徴とする付記1に記載のデータ転送プログラム。
(付記3)前記重複度を減少させる処理は、
前記次の抑止信号を受信する時刻を経過しても前記次の抑止信号を受信しなく、かつ、センサ情報に含まれる重複度と前記抑止信号の送信元に対応付けられた重複度とを比較した後に、前記センサ情報に含まれる重複度を減少させる、
ことを特徴とする付記2に記載のデータ転送プログラム。
(付記4)前記抑止信号を送信する処理は、
前記いずれかのコンピュータの移動速度が所定の閾値より大きい場合、前記抑止信号を送信しない、
ことを特徴とする付記1〜3のいずれか一つに記載のデータ転送プログラム。
(付記5)前記抑止信号は、前記抑止信号の送信元の移動速度をさらに含み、
前記いずれかのコンピュータに、
前記抑止信号に含まれる移動速度に基づいて、前記所定の閾値を算出する、
ことを特徴とする付記4に記載のデータ転送プログラム。
(付記6)前記管理装置に送信する処理は、
前記センサ情報に含まれる重複度と前記抑止信号の送信元に対応付けられた重複度とが同一の値である場合、前記いずれかのコンピュータの識別情報が示す値が、前記送信元の識別情報が示す値より大きい場合、前記センサ情報に含まれる位置情報を前記管理装置に送信する、
ことを特徴とする付記1〜5のいずれか一つに記載のデータ転送プログラム。
(付記7)前記センサは、前記センサの位置に関する情報として前記センサの識別情報を発信するビーコン端末であることを特徴とする付記1〜6のいずれか一つに記載のデータ転送プログラム。
(付記8)管理装置と通信可能であり、センサと近距離無線通信を介して通信可能であり、かつ、互いに近距離無線通信を介して直接通信可能であって現在位置を特定可能な複数のデータ転送装置のうちのいずれかのデータ転送装置であって、
前記センサの識別情報の受信に応じて、前記センサの情報を前記管理装置に送信することを他のデータ転送装置に対して抑止する抑止信号を受信した際の送信元となるデータ転送装置の数を示す重複度と、前記いずれかのデータ転送装置の現在位置を示す位置情報とを含めたセンサ情報を記憶し、
前記センサ情報に含まれる重複度を含む前記抑止信号を、前記複数のデータ転送装置のうちの当該近距離無線通信を介して直接通信可能な位置にあるデータ転送装置に送信し、
前記抑止信号の受信に応じて、前記抑止信号に含まれる重複度を、前記抑止信号の送信元に対応付けて記憶するとともに、前記センサ情報に含まれる重複度を増加させ、
前記センサ情報に含まれる重複度が前記抑止信号の送信元に対応付けられた重複度より大きいときに、前記センサ情報に含まれる位置情報を前記管理装置に送信する、
制御部を有することを特徴とするデータ転送装置。
(付記9)管理装置と通信可能であり、センサと近距離無線通信を介して通信可能であり、かつ、互いに近距離無線通信を介して直接通信可能であって現在位置を特定可能な複数のコンピュータのうちのいずれかのコンピュータが、
前記センサの識別情報の受信に応じて、前記センサの情報を前記管理装置に送信することを他のコンピュータに対して抑止する抑止信号を受信した際の送信元となるコンピュータの数を示す重複度と、前記いずれかのコンピュータの現在位置を示す位置情報とを含めたセンサ情報を記憶し、
前記センサ情報に含まれる重複度を含む前記抑止信号を、前記複数のコンピュータのうちの当該近距離無線通信を介して直接通信可能な位置にあるコンピュータに送信し、
前記抑止信号の受信に応じて、前記抑止信号に含まれる重複度を、前記抑止信号の送信元に対応付けて記憶するとともに、前記センサ情報に含まれる重複度を増加させ、
前記センサ情報に含まれる重複度が前記抑止信号の送信元に対応付けられた重複度より大きいときに、前記センサ情報に含まれる位置情報を前記管理装置に送信する、
処理を実行することを特徴とするデータ転送方法。