以下、本発明による移動端末装置等について、実施の形態を用いて説明する。なお、以下の実施の形態において、同じ符号を付した構成要素及びステップは同一または相当するものであり、再度の説明を省略することがある。本実施の形態による移動端末装置は、センサデータを取得し、近距離無線通信を用いて移動端末装置間でセンサデータを送受信し、センサデータを集約した後にサーバにアップロードするものである。
図1は、本実施の形態による無線通信システム100の構成を示すブロック図である。本実施の形態による無線通信システム100は、無線通信を行う複数の移動端末装置1−1,1−2,…,1−6と、複数の無線基地局2−1,2−2,2−3と、センサデータを収集するサーバ3とを備える。なお、各装置等を特に区別しない場合には、移動端末装置1,無線基地局2と記載するものとする。移動端末装置1は、参加型センシングにおいてセンサデータを取得する端末であり、例えば、スマートフォンやタブレット端末、携帯電話、ウェアラブル端末などのように、人が携帯する装置であってもよく、ナビゲーションシステム、車載装置などのように、自動車や電車、ドローン(マルチコプター)等の移動体に搭載される装置であってもよい。移動端末装置1は、後記の通り、移動端末装置1の間での近距離無線通信を行うことができ、また、無線基地局2との無線通信を行うことができるものとする。移動端末装置1の間で行われる近距離無線通信は、通常、いわゆるすれ違い通信として、ユーザ等の操作を介さないで行われることになる。本実施の形態では、移動端末装置1が無線基地局2を介して行う通信が、セルラ通信である場合について説明する。セルラ通信は、例えば、LTEやW−CDMA(Wideband Code Division Multiple Access)等の携帯電話による通信であってもよい。移動端末装置1のユーザは、例えば、ボランティアで、または何らかの報酬を受け取って、移動端末装置1を参加型センシングに参加させてもよい。無線基地局2と、サーバ3とは、有線または無線のネットワーク50を介して通信可能に接続されている。ネットワーク50は、例えば、インターネットであってもよく、公衆電話回線網であってもよく、その他のネットワークであってもよい。なお、移動端末装置1や無線基地局2の個数は問わない。
図2は、移動端末装置1の構成を示すブロック図である。図2において、移動端末装置1は、位置取得部11と、時刻取得部12と、センサ13と、蓄積部14と、記憶部15と、目的位置取得部16と、近距離無線通信部17と、判断部18と、集約部19と、送信部20とを備える。
位置取得部11は、現在の位置を取得する。位置取得部11は、例えば、GPS(Global Positioning System)を用いて位置を取得してもよく、携帯電話や無線LAN等の最寄りの基地局を利用して位置を取得してもよい。また、移動端末装置1が車両等に搭載されている場合には、位置取得部11は、例えば、ジャイロなどの自律航法装置を用いて現在の位置を取得してもよい。位置取得部11によって取得される位置は、例えば、緯度と経度を示す座標であってもよく、その他の座標であってもよい。また、移動端末装置1がドローン等の飛行体等に搭載されている場合には、位置取得部11は、高度を含む3次元の位置を取得してもよい。その高度は、例えば、GPSを用いて取得されてもよく、高度計や、地表までの距離を測定する距離計等を用いて取得されてもよい。
時刻取得部12は、現在の時刻を取得する。時刻取得部12は、例えば、時計を用いて時刻を取得してもよい。また、時刻取得部12は、時刻を含む日時を取得してもよい。日時は、時刻と年月日とを含んでいてもよい。時刻取得部12は、例えば、年月日をカレンダー部から取得してもよい。
センサ13は、センサデータを取得する。そのセンサデータは、例えば、温度、湿度、気圧、二酸化炭素の濃度、粒子状物質(例えば、PM2.5)の濃度、花粉の飛散状況、環境音のレベル(騒音のレベル)、照度、紫外線強度、空いている周波数帯域等であってもよく、センシング対象となるその他のデータであってもよい。したがって、センサ13は、例えば、温度計、湿度計、気圧計、二酸化炭素の濃度計、浮遊粒子センサ、花粉センサ、音センサ、照度センサ、紫外線センサ、スペクトルセンシングを行って空き周波数帯域を検出する空き周波数帯域検出器等であってもよい。なお、空き周波数帯域検出器は、例えば、スペクトルセンシングを行い、各周波数において受信した無線信号の受信電力を閾値と比較することによって、無線通信の行われていない周波数帯域を検出してもよい。
蓄積部14は、センサ13によって取得されたセンサデータと、そのセンサデータの取得時に、位置取得部11によって取得された位置及び時刻取得部12によって取得された時刻とを記憶部15に蓄積する。蓄積部14は、その蓄積の際に、センサデータ、位置、及び時刻の対応関係が分かるように蓄積することが好適である。蓄積部14は、例えば、センサデータと、そのセンサデータの取得時の位置と、そのセンサデータの取得時の時刻とをひとまとまりの情報として記憶部15に蓄積してもよい。また、蓄積部14は、近距離無線通信部17によって受信されたセンサデータと、そのセンサデータに対応する位置及び時刻とを記憶部15に蓄積する。蓄積部14は、位置取得部11によって取得された位置をそのまま蓄積してもよく、または、その位置について所定の丸め処理(端数処理)を行った位置を蓄積してもよい。所定の丸め処理は、例えば、位置取得部11によって取得された位置を、その位置を含む区域(後記する)に変換することであってもよい。その場合には、センサデータが、区域である位置に対応付けられて記憶部15に蓄積されることになる。時刻についても同様に丸め処理が行われてもよい。すなわち、蓄積部14は、時刻取得部12によって取得された時刻をそのまま蓄積してもよく、または、その時刻について所定の丸め処理を行って時刻を蓄積してもよい。所定の丸め処理は、例えば、時刻取得部12によって取得された時刻を、その時刻を含む期間(後記する)に変換することであってもよい。その場合には、センサデータが、期間である時刻に対応付けられて記憶部15に蓄積されることになる。
記憶部15では、センサデータと、そのセンサデータの取得された位置と、そのセンサデータの取得された時刻とが記憶される。また、通常、記憶部15では、複数のセンサデータが記憶されることになる。記憶部15での記憶は、RAM等における一時的な記憶でもよく、または、長期的な記憶でもよい。記憶部15は、所定の記録媒体(例えば、半導体メモリや磁気ディスクなど)によって実現されうる。
目的位置取得部16は、移動端末装置1の目的位置を取得する。目的位置取得部16は、例えば、経路探索によって目的位置を取得してもよく、移動端末装置1の過去の移動履歴と、直近の移動履歴とを用いて目的位置を取得してもよい。移動端末装置1が経路探索装置を有する場合、または、移動端末装置1の搭載されている移動体にナビゲーションシステム等の経路探索装置が搭載されている場合には、例えば、経路探索装置によって現在位置から目的地(行き先)までの経路探索が行われることによって経路が特定され、その経路に応じた目的位置が取得されてもよい。その目的位置は、移動端末装置1の移動先の位置であり、例えば、ユーザによって入力された目的地そのものであってもよく、または、現在の時点からあらかじめ決められた時間の経過時点における移動先の位置であってもよい。後者の場合には、例えば、探索された経路における、現時点から所定の時間後(例えば、5分後や10分後など。移動端末装置1からサーバ3にセンサデータが定期的にアップロードされる場合には、その周期程度の時間であってもよい。)の位置が目的位置であってもよい。例えば、現在の時点から1時間後に到達する目的地を目的位置とした場合には、後記する方式2で判断するときに、途中の経路でセンサデータに対応する滞留位置に近い箇所を通過するにも関わらず、目的地である目的位置と滞留位置との距離が大きいと判断されることもあり得る。また、後記する方式3で判断するときに、現在の位置と目的地である目的位置との間に滞留位置が存在すると、途中の経路でセンサデータに対応する滞留位置を迂回して移動するにも関わらず、現在位置から目的位置までのベクトルと現在位置から滞留位置までのベクトルとの角度が小さいと判断されることもあり得る。そのような不適切な判断を回避するためには、現時点からあまり遠くない所定の時間後の位置を目的位置とすることが好適である。なお、例えば、現時点から所定の時間後の位置を目的位置とすると設定されていた場合に、目的位置取得部16が、その所定の時間後(例えば、10分後)の位置を取得できない場合には、現時点からその所定時間以内の時点(この時点は、所定時間に近いほど好適である。)の位置を目的位置としてもよい。また、移動履歴を用いて目的位置を取得する場合には、位置取得部11によって取得された現在の位置が、図示しない記録媒体に、移動履歴として記憶されるようになっていてもよい。そして、目的位置取得部16は、直近の移動履歴(例えば、直近の5分の履歴等)と一致する、それ以前の移動履歴をパターンマッチング等によって特定し、その特定した移動履歴の箇所から所定の時間後の移動履歴の位置を読み出すことによって、目的位置を取得してもよい。ここで、直近の移動履歴と、過去の移動履歴とが一致するとは、両者の類似度が閾値以上であることであってもよい。なお、目的位置取得部16は、目的位置を取得できないこともあり得る。具体的には、経路探索の行われていない場合や、直近の移動履歴と一致する過去の移動履歴が存在しない場合には、目的位置取得部16は、目的位置を取得できないことになる。
近距離無線通信部17は、他の移動端末装置1から、他の移動端末装置1に関する位置情報を、近距離無線通信によってアンテナ17aを介して受信する。近距離無線通信は、近距離で行われる無線通信であり、例えば、Wi−Fi Directや、Bluetooth(登録商標) LE(Low Energy)、LTE Direct等による無線通信であってもよい。その近距離無線通信は、すれ違い通信としてアドホックに行えることが好適である。アンテナ17aは、近距離無線通信用のアンテナである。また、近距離無線通信部17は、移動端末装置1の位置情報を、他の移動端末装置1に近距離無線通信によってアンテナ17aを介して送信してもよい。位置情報は、例えば、現在位置を含んでいてもよく、目的位置を含んでいてもよく、現在位置と目的位置とを含んでいてもよい。また、近距離無線通信部17は、他の移動端末装置1に送信すると判断部18によって判断されたセンサデータと、そのセンサデータに対応する位置及び時刻とを、近距離無線通信によって他の移動端末装置1にアンテナ17aを介して送信する。また、近距離無線通信部17は、他の移動端末装置1から近距離無線通信によって送信されたセンサデータと、そのセンサデータに対応する位置及び時刻とをアンテナ17aを介して受信する。近距離無線通信部17が送信する位置や時刻も、上記のように、丸め処理が行われてもよい。すなわち、近距離無線通信部17は、記憶部15で記憶されている位置や時刻に丸め処理の行われた位置や時刻を、他の移動端末装置1に送信してもよい。また、近距離無線通信部17が他の移動端末装置1から受信するセンサデータは、その送信元の移動端末装置1において取得されたものであってもよく、または、その送信元の移動端末装置1が他の移動端末装置1から受信したものであってもよい。近距離無線通信部17が、センサデータと、それに対応する位置及び時刻とを近距離無線通信によって他の移動端末装置1に送信した場合には、その送信されたセンサデータや位置及び時刻は、例えば、記憶部15から削除されてもよく、または、その後の処理において用いられないようになってもよい。その削除の処理は、例えば、近距離無線通信部17によって行われてもよい。
近距離無線通信部17は、例えば、他の移動端末装置1からブロードキャストで送信された信号を受信した場合に、その移動端末装置1との近距離無線通信を行ってもよい。また、近距離無線通信部17によってブロードキャストで送信された信号が、他の移動端末装置1で受信され、その信号に対する返信があった場合に、近距離無線通信部17は、その返信を行った移動端末装置1との近距離無線通信を行ってもよい。そのように、ブロードキャストで送信される信号には、例えば、自移動端末装置1のアドレスが含まれていてもよい。以下、そのようにブロードキャストで送信される信号を、「Helloパケット」と記載することにする。そのHelloパケットの送受信によって、すれ違い通信が開始されてもよい。
なお、近距離無線通信部17は、通信を行うための無線の通信デバイスを含んでもよく、または含まなくてもよい。また、近距離無線通信部17は、ハードウェアによって実現されてもよく、または通信デバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
判断部18は、蓄積部14によって記憶部15に蓄積されたセンサデータごとに、センサデータを他の移動端末装置1に送信するかどうか判断する。判断部18は、自移動端末装置1−mに関する位置情報と、近距離無線通信によって受信された、他の移動端末装置1−nに関する位置情報と、判断対象のセンサデータに対応する位置を含む区域に対応付けられた滞留位置とを用いて、その判断を行うものとする。なお、ここでは、自他の移動端末装置1を区別しやすくするため、「自移動端末装置1−m」、「他の移動端末装置1−n」と記載することにする。また、センサデータに対応する位置とは、そのセンサデータの取得された位置のことである。通常、その位置は、センサデータに対応付けられて記憶部15で記憶されている。センサ13によるセンシングの対象となる空間(例えば、日本の領域全体等)は、例えば、図7Aで示されるように、複数の区域C1,C2,…に分割されているものとする。なお、図7Aでは、各区域が正方形状である場合について示しているが、各区域は、例えば、矩形状であってもよく、その他の形状であってもよい。各区域の形状は、区域ごとに異なっていてもよく、または、同じであってもよい。各区域がどのような形状であったとしても、各区域の境界が分かるようになっているものとする。例えば、図7Aで示されるように、センサデータに対応する位置が(X1,Y1)である場合には、その位置(X1,Y1)は、区域C1に含まれることになる。また、各区域には、その区域に対応する滞留位置があらかじめ設定されているものとする。例えば、図8Aで示されるように、区域CSの滞留位置SY(CS)は、区域CSの重心であってもよい。また、区域CSの滞留位置SY(CS)は、区域CS内の他の位置であってもよい。また、図8Bで示されるように、区域CSの滞留位置SY(CS)は、区域CS外の位置であってもよい。区域CSの滞留位置SY(CS)は、その区域CSにおいて取得されたセンサデータが集合するように設定される位置である。したがって、より多くの移動端末装置1が集合し得る位置を滞留位置に設定してもよい。具体的には、駅やショッピングモール等が滞留位置に設定されてもよい。なお、所定のルール(例えば、重心等)によって区域の滞留位置が決まる場合には、区域ごとの滞留位置が記憶されていなくてもよいが、そうでない場合には、区域ごとに滞留位置が記憶されていることが好適である。例えば、区域の識別子と、その区域の滞留位置とを対応付ける情報が記憶部15で記憶されていてもよい。判断部18は、例えば、自移動端末装置1−m(以下、「自端末」とすることもある。)が、他の移動端末装置1−n(以下、「相手端末」とすることもある。)と近距離無線通信を行うことができるようになり、他の移動端末装置1−nから位置情報を受信した場合に、その判断を行うことが好適である。判断部18は、例えば、ある判断対象のセンサデータについて、他の移動端末装置1−nのほうが自移動端末装置1−mよりも、その判断対象のセンサデータに対応する滞留位置に近い場合には、そのセンサデータを送信すると判断し、他の移動端末装置1−nのほうが自移動端末装置1−mよりも、その判断対象のセンサデータに対応する滞留位置に近くない場合には、そのセンサデータを送信しないと判断してもよい。そのような判断に応じたセンサデータの送受信が行われることによって、できるだけ少数の移動端末装置1に、センサデータが集中して保持されるようにすることができる。なお、判断対象のセンサデータに対応する滞留位置とは、判断対象のセンサデータの取得された位置の含まれる区域の滞留位置のことである。また、判断に自端末の現在位置を用いる場合には、判断部18は、位置取得部11によって取得された位置を現在位置として用いる。また、判断に自端末の目的位置を用いる場合には、判断部18は、目的位置取得部16によって取得された目的位置を用いる。ここで、判断部18による判断の一例として、現在位置を用いた判断(方式1)と、目的位置を用いた判断(方式2)と、現在位置及び目的位置とを用いた判断(方式3)とについて説明する。
方式1(現在位置を用いた判断)
この場合には、位置情報に現在位置が含まれていることになる。判断部18は、自移動端末装置1−mの現在位置と、判断対象のセンサデータに対応する滞留位置との距離が、他の移動端末装置1−nの現在位置と、その滞留位置との距離よりも大きい場合に、その判断対象のセンサデータを他の移動端末装置1−nに送信すると判断し、自移動端末装置1−mの現在位置と滞留位置との距離が、他の移動端末装置1−nの現在位置と滞留位置との距離よりも大きくない場合に、その判断対象のセンサデータを他の移動端末装置1−nに送信しないと判断してもよい。すなわち、現在位置が滞留位置に近い移動端末装置1にセンサデータが渡されてもよい。なお、2つの位置の間の距離は、ユークリッド距離であってもよく、または2つの位置の間の移動経路に沿った最短距離(すなわち、地図を用いた経路探索によって探索された最短移動経路に沿った距離)であってもよい。
方式2(目的位置を用いた判断)
この場合には、位置情報に目的位置が含まれていることになる。判断部18は、自移動端末装置1−mの目的位置と、判断対象のセンサデータに対応する滞留位置との距離が、他の移動端末装置1−nの目的位置と、その滞留位置との距離よりも大きい場合に、その判断対象のセンサデータを他の移動端末装置1−nに送信すると判断し、自移動端末装置1−mの目的位置と滞留位置との距離が、他の移動端末装置1−nの目的位置と滞留位置との距離よりも大きくない場合に、その判断対象のセンサデータを他の移動端末装置1−nに送信しないと判断してもよい。すなわち、目的位置が滞留位置に近い移動端末装置1にセンサデータが渡されてもよい。
方式3(現在位置及び目的位置を用いた判断)
この場合には、位置情報に現在位置及び目的位置が含まれていることになる。判断部18は、自移動端末装置1−mの現在位置から、自移動端末装置1−mの目的位置までのベクトルと、自移動端末装置1−mの現在位置から、判断対象のセンサデータに対応する滞留位置までのベクトルとの角度が、他の移動端末装置1−nの現在位置から、他の移動端末装置1−nの目的位置までのベクトルと、他の移動端末装置1−nの現在位置から、その滞留位置までのベクトルとの角度よりも大きい場合に、判断対象のセンサデータを他の移動端末装置1−nに送信すると判断し、自移動端末装置1−mの現在位置から目的位置までのベクトルと、自移動端末装置1−mの現在位置から滞留位置までのベクトルとの角度が、他の移動端末装置1−nの現在位置から目的位置までのベクトルと、他の移動端末装置1−mの現在位置から滞留位置までのベクトルとの角度よりも大きくない場合に、判断対象のセンサデータを他の移動端末装置1−nに送信しないと判断してもよい。すなわち、現在位置から滞留位置に向かう方向に対して、より近い方向に移動している移動端末装置1にセンサデータが渡されてもよい。
方式3について、図9を用いて説明する。自移動端末装置1−mの現在位置をpos(m)とし、自移動端末装置1−mの目的位置をdest(m)とし、判断対象のセンサデータriに対応する滞留位置をstay(ri)とする。また、他の移動端末装置1−nの現在位置をpos(n)とし、他の移動端末装置1−nの目的位置をdest(n)とする。また、pos(m)からdest(m)までのベクトルをVdest(m)とし、pos(m)からstay(ri)までのベクトルをVstay(m,ri)とする。また、pos(n)からdest(n)までのベクトルをVdest(n)とし、pos(n)からstay(ri)までのベクトルをVstay(n,ri)とする。また、ベクトルVdest(m)と、ベクトルVstay(m,ri)とのなす角度をθとし、ベクトルVdest(n)と、ベクトルVstay(n,ri)とのなす角度をθ'とすると、θ>θ'である場合には、図9で示されるように、pos(m)に存在する自移動端末装置1−mから、pos(n)に存在する他の移動端末装置1−nに、判断対象のセンサデータriが渡されることになる。
なお、方式3の判断を行う場合に、判断部18は、自端末の現在位置pos(m)から目的位置dest(m)までのベクトルVdest(m)と、自端末の現在位置pos(m)から滞留位置stay(ri)までのベクトルVstay(m,ri)とのコサイン類似度csm、及び、相手端末の現在位置pos(n)から目的位置dest(n)までのベクトルVdest(n)と、相手端末の現在位置pos(n)から滞留位置stay(ri)までのベクトルVstay(n,ri)とのコサイン類似度csnを算出し、それらを用いて角度θと角度θ'との大きさを比較してもよい。ベクトルV1とベクトルV2とのコサイン類似度cs(V1,V2)は、次式のようにして算出される。ここで、V1・V2は、ベクトルV1とベクトルV2との内積である。また、||V1||は、ベクトルV1の大きさである。
cs(V1,V2)=(V1・V2)/(||V1||||V2||)
なお、ベクトルV1,V2のなす角度(0°〜180°)が小さいほど、両ベクトルのコサイン類似度cs(V1,V2)は大きくなる。したがって、scm<csnであれば、ベクトルVdest(m)とベクトルVstay(m,ri)とのなす角度θが、ベクトルVdest(n)とベクトルVstay(n,ri)とのなす角度θ'よりも大きいことになる。このように、コサイン類似度を用いることによって、ベクトルのなす角度の大小を判断することができる。
集約部19は、蓄積部14によって記憶部15に蓄積されたセンサデータのうち、同じ区域及び同じ期間に対応するセンサデータを集約する。その集約されたセンサデータも、記憶部15で記憶されるものとする。また、複数のセンサデータが集約されたデータについても、センサデータと呼ぶことにする。なお、時刻は、例えば、図7Bで示されるように、複数の期間T0,T1,…に分割されているものとする。その一つの期間の長さは、Tparである。同じ区域及び同じ期間に対応するセンサデータとは、同じ区域及び同じ期間においてセンシングされた複数のセンサデータのことである。すなわち、n個(nは2以上の整数である。)のセンサデータri(i=1,2,…,n)が存在し、各センサデータriに対応する位置pi及び時刻tiが、1からnまでのすべてのiについて、pi∈CS,ti∈TSを満たす場合には、そのn個のセンサデータriは集約可能であり、同じ区域CS及び同じ期間TSに対応するセンサデータとなる。複数のセンサデータを集約するとは、例えば、複数のセンサデータの代表値を取得することであってもよい。その代表値は、例えば、平均値、中央値(中間値)、最大値、最小値等であってもよい。例えば、第1のセンサデータr1と、第1のセンサデータr1に対応する第1の位置(X11,Y11)及び第1の時刻t11との組、並びに、第2のセンサデータr2と、第2のセンサデータr2に対応する第2の位置(X12,Y12)及び第2の時刻t12との組が集約可能である場合には、集約部19は、集約後のセンサデータrave=(r1+r2)/2と、集約後の位置(Xave,Yave)=((X11+X12)/2,(Y11+Y12)/2)と、集約後の時刻tave=(t11+t12)/2とを算出してもよい。なお、ここでは、平均値を取得することによって集約を行う場合について示している。また、複数のセンサデータを集約するとは、例えば、複数のセンサデータについて圧縮処理を行うことであってもよい。集約部19によって集約されたセンサデータは、集約前のセンサデータよりもデータ量が減少していることが好適である。集約部19は、センサデータがサーバ3に送信されるまでに集約の処理を行えばよい。したがって、集約部19は、例えば、センサデータをサーバ3に送信する直前にセンサデータの集約を行ってもよく、センサデータが記憶部15に蓄積された直後にセンサデータの集約を行ってもよい。後者の場合には、例えば、他の移動端末装置1にセンサデータ等が送信される前にセンサデータの集約が行われてもよい。センサデータが蓄積された直後に集約が行われる場合において、集約が平均値の算出であるときには、新たなセンサデータが蓄積された際にもセンサデータの集約を行うことができるようにするため、例えば、集約されたセンサデータの合計値と、個数とが、センサデータの平均と共に記憶部15で記憶されていてもよい。一方、センサデータが蓄積された直後に集約が行われる場合において、集約が最大値や最小値の取得であるときには、集約後のセンサデータのみが記憶部15で記憶されていてもよい。また、集約が中央値の取得である場合には、センサデータがサーバ3に送信される直前にセンサデータの集約が行われることが好適である。なお、集約部19は、センサデータを集約する際に、集約対象のセンサデータに対応する位置や時刻についても集約を行ってもよい。位置や時刻に関する集約は、例えば、センサデータの集約と同様に、代表値を取得することであってもよく、または、位置や時刻に対応する区域や期間を、集約されたセンサデータの位置や時刻とすることであってもよい。集約部19が、集約前の複数のセンサデータを集約した場合には、その集約前の複数のセンサデータは、例えば、記憶部15から削除されてもよく、または、その後の処理において用いられないようになってもよい。その削除の処理は、例えば、集約部19によって行われてもよい。なお、センサ13によって2種類以上のセンサデータが取得される場合には、集約部19は、同じ種類の複数のセンサデータについてのみ、集約を行ってもよい。
送信部20は、蓄積部14によって蓄積されたセンサデータと、そのセンサデータに対応する位置及び時刻とをアンテナ20aを介してサーバ3に送信する。その送信は、近距離無線通信とは異なる無線通信によって行われるものとする。近距離無線通信と異なる無線通信は、上記のように、例えば、セルラ通信であってもよい。アンテナ20aは、送信部20が行う無線通信用のアンテナである。その送信対象のセンサデータは、集約部19によって集約されたセンサデータであってもよい。送信部20は、例えば、周期的にサーバ3へのセンサデータの送信を行ってもよい。その周期は、例えば、一定であってもよく、または、そうでなくてもよい。送信部20は、センサデータに対応する位置や時刻をサーバ3に送信する際に、その位置を区域に変換して送信してもよく、その時刻を期間に変換して送信してもよい。すなわち、送信部20は、区域である位置や、期間である時刻をサーバ3に送信してもよい。ある位置が区域に変換される場合には、その位置が含まれる区域に変換されてもよい。また、ある時刻が期間に変換される場合には、その時刻が含まれる期間に変換されてもよい。送信部20が送信する対象となるセンサデータには、近距離無線通信によって他の移動端末装置1に送信されたセンサデータや、すでにサーバ3に送信されたセンサデータは含まれないものとする。センサデータがサーバ3に送信された場合には、その送信されたセンサデータは、例えば、記憶部15から削除されてもよい。その削除の処理は、例えば、送信部20によって行われてもよい。
なお、送信部20は、センサデータ等をサーバ3に直接送信してもよく、または、他のサーバ等を介して間接的に送信してもよい。また、送信部20は、図示しない記録媒体で保持しているアドレスを送信先として送信を行ってもよく、または、送信までに他の構成要素や他のサーバ等から受け取ったアドレスを送信先として送信を行ってもよい。また、送信部20は、送信を行うための送信デバイスを含んでもよく、または含まなくてもよい。また、送信部20は、ハードウェアによって実現されてもよく、または送信デバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
無線基地局2は、移動端末装置1と無線通信を行う基地局である。また、無線基地局2は、インターネット等のネットワーク50に接続されており、移動端末装置1とサーバ3との間の通信を提供することができる。無線基地局2は、例えば、セルラ通信や携帯電話の通信等において用いられる基地局であり、すでに公知であるため、その詳細な説明を省略する。
図3は、サーバ3の構成を示すブロック図である。図3において、サーバ3は、センサデータを収集するものであり、通信部31と、蓄積部32と、記憶部33とを備える。
通信部31は、移動端末装置1から送信されたセンサデータと、それに対応する位置及び時刻とを受信する。なお、通信部31は、通信を行うための有線または無線の通信デバイスを含んでもよく、または含まなくてもよい。また、通信部31は、ハードウェアによって実現されてもよく、または通信デバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
蓄積部32は、通信部31によって受信されたセンサデータと、それに対応する位置及び時刻とを記憶部33に蓄積する。なお、蓄積部32は、センサデータ等を蓄積する際に、集約部19と同様に、センサデータの集約を行って蓄積してもよく、または、集約を行わないで蓄積してもよい。その集約も、例えば、代表値の取得等によって行われてもよい。
記憶部33では、センサデータと、そのセンサデータに対応する位置及び時刻とが記憶される。それらの情報は、蓄積部32によって蓄積されたものである。この記憶部33に記憶されたセンサデータを用いて、例えば、天気予報や、大気汚染の調査、無線基地局の設置計画等が行われてもよい。そのため、例えば、記憶部33で記憶されている情報を出力する出力部をサーバ3が備えていてもよい。その出力は、例えば、情報の送信や表示、印刷、他の構成要素への引き渡し等であってもよい。記憶部33での記憶は、RAM等における一時的な記憶でもよく、または、長期的な記憶でもよい。記憶部33は、所定の記録媒体(例えば、半導体メモリや磁気ディスクなど)によって実現されうる。
次に、無線通信システム100の動作について図4のフローチャートを用いて説明する。
(ステップS101)センサ13は、センサデータを取得するかどうか判断する。そして、センサデータを取得する場合には、ステップS102に進み、そうでない場合には、ステップS106に進む。センサ13は、例えば、センサデータを取得すると定期的に判断してもよい。
(ステップS102)センサ13は、センサデータを取得する。
(ステップS103)位置取得部11は、その時点の現在の位置を取得する。
(ステップS104)時刻取得部12は、その時点の現在の時刻を取得する。
(ステップS105)蓄積部14は、ステップS102で取得されたセンサデータと、ステップS103で取得された位置と、ステップS104で取得された時刻とを記憶部15に蓄積する。そして、ステップS101に戻る。なお、蓄積部14は、センサデータと位置と時刻とを対応付けて蓄積することが好適である。
(ステップS106)近距離無線通信部17は、Helloパケットを送信するかどうか判断する。そして、Helloパケットを送信する場合には、ステップS107に進み、そうでない場合には、ステップS113に進む。近距離無線通信部17は、例えば、Helloパケットを定期的に送信すると判断してもよい。また、近距離無線通信部17は、例えば、送信対象のセンサデータが存在しない場合、例えば、直前にすべてのセンサデータをサーバ3に送信した場合には、Helloパケットを送信しないと判断してもよい。
(ステップS107)近距離無線通信部17は、Helloパケットを送信する。このHelloパケットは、上記のように、ブロードキャストで送信されてもよい。このHelloパケットが他の移動端末装置1で受信されることにより、すれ違い通信が開始されることになる。
(ステップS108)近距離無線通信部17は、Helloパケットを受信した移動端末装置1である相手端末から、位置情報を受信したかどうか判断する。そして、位置情報を受信した場合には、ステップS109に進み、そうでない場合には、位置情報を受信するまでステップS108の処理を繰り返す。なお、Helloパケットを送信してから所定の時間が経過しても相手端末の位置情報を受信しない場合には、タイムアウトであると判断してステップS101に戻ってもよい。
(ステップS109)近距離無線通信部17は、自端末の位置情報を、ステップS108で受信した位置情報の送信元である相手端末に送信する。ステップS108で受信した位置情報に現在位置と目的位置との両方が含まれている場合には、近距離無線通信部17は、現在位置と目的位置との両方を含む位置情報を相手端末に送信してもよい。その現在位置は、その時点に位置取得部11によって取得された現在の位置である。また、その目的位置は、その時点に目的位置取得部16によって取得された目的位置である。なお、目的位置取得部16によって目的位置を取得できなかった場合には、近距離無線通信部17は、目的位置を含まず、現在位置を含む位置情報を相手端末に送信してもよい。また、ステップS108で受信した位置情報に目的位置が含まれておらず、現在位置が含まれている場合には、近距離無線通信部17は、現在位置を含む位置情報を相手端末に送信してもよい。
(ステップS110)近距離無線通信部17等は、センサデータを相手端末に送信する処理を行う。この処理の詳細については、図5のフローチャートを用いて後記する。
(ステップS111)近距離無線通信部17は、相手端末のセンサデータと、そのセンサデータに対応する位置及び時刻とを受信したかどうか判断する。そして、相手端末のセンサデータ等を受信した場合には、ステップS112に進み、そうでない場合には、相手端末のセンサデータ等を受信するまでステップS111の処理を繰り返す。なお、自端末の位置情報を送信してから所定の時間が経過しても相手端末のセンサデータ等を受信しない場合には、タイムアウトであると判断してステップS101に戻ってもよい。相手端末において送信対象のセンサデータ等が存在しない場合には、相手端末からのセンサデータ等の送信が行われない場合もあるからである。
(ステップS112)蓄積部14は、ステップS111で受信されたセンサデータ等を記憶部15に蓄積する。そして、ステップS101に戻る。
(ステップS113)近距離無線通信部17は、他の移動端末装置1から送信されたHelloパケットを受信したかどうか判断する。そして、Helloパケットを受信した場合には、ステップS114に進み、そうでない場合には、ステップS116に進む。なお、近距離無線通信部17は、例えば、送信対象のセンサデータが存在しない場合、例えば、直前にすべてのセンサデータをサーバ3に送信した場合には、Helloパケットを受信しなくてもよい。また、近距離無線通信部17は、直前にセンサデータの送受信を行った移動端末装置1から送信されたHelloパケットを、所定の期間は受信しなくてもよい。このHelloパケットの受信により、すれ違い通信が開始されることになる。
(ステップS114)近距離無線通信部17は、自端末の位置情報を、ステップS113で受信したHelloパケットの送信元である相手端末に送信する。その位置情報に含まれる現在位置は、その時点に位置取得部11によって取得された現在の位置である。また、その位置情報に含まれる目的位置は、その時点に目的位置取得部16によって取得された目的位置である。なお、その時点に目的位置取得部16によって目的位置を取得できる場合には、近距離無線通信部17は、現在位置と目的位置とを含む位置情報を相手端末に送信してもよい。また、その時点に目的位置取得部16によって目的位置を取得できない場合には、近距離無線通信部17は、目的位置を含まず、現在位置を含む位置情報を相手端末に送信してもよい。
(ステップS115)近距離無線通信部17は、Helloパケットを送信した移動端末装置1である相手端末から、位置情報を受信したかどうか判断する。そして、位置情報を受信した場合には、ステップS110に進み、そうでない場合には、位置情報を受信するまでステップS115の処理を繰り返す。なお、自端末の位置情報を送信してから所定の時間が経過しても相手端末の位置情報を受信しない場合には、タイムアウトであると判断してステップS101に戻ってもよい。
(ステップS116)送信部20は、サーバ3にセンサデータ等を送信するかどうか判断する。そして、センサデータ等を送信する場合には、ステップS117に進み、そうでない場合には、ステップS101に戻る。なお、送信部20は、例えば、センサデータ等を送信すると定期的に判断してもよい。また、送信部20は、例えば、記憶部15で記憶されている送信対象のセンサデータのデータ量や個数等があらかじめ決められた閾値を超えた場合に、センサデータ等を送信すると判断してもよい。また、送信部20は、例えば、送信対象のセンサデータ等が記憶部15で記憶されていない場合には、サーバ3にセンサデータ等を送信すると判断しなくてもよい。
(ステップS117)集約部19は、記憶部15で記憶されている未送信のセンサデータを集約する。また、集約部19は、集約したセンサデータに対応する位置や時刻についても集約の処理を行ってもよい。
(ステップS118)送信部20は、集約されたセンサデータと、そのセンサデータに対応する位置及び時刻とをサーバ3に送信する。
(ステップS119)送信部20は、送信したセンサデータを記憶部15から削除する。ここで、送信したセンサデータとは、送信したセンサデータの集約に用いられたセンサデータであると考えてもよい。また、送信部20は、送信したセンサデータに対応する位置や時刻も記憶部15から削除してもよい。そして、ステップS101に戻る。
なお、図4のフローチャートにおいて、近距離無線通信部17によって送信されたHelloパケットが2以上の相手端末によって受信され、2以上の相手端末から位置情報が送信された場合には、その2以上の相手端末のそれぞれについて、ステップS108からステップS112の処理が行われてもよい。また、センサデータ等の送信処理(ステップS110)を行っている際に相手端末からセンサデータ等が送信されることもあるため、ステップS110の処理とステップS111との処理は並列して行われてもよい。また、図4のフローチャートにおいて、Helloパケットを送信する場合に、自端末の位置情報を含むHelloパケットを送信するようにしてもよい。そのように、位置情報を含むHelloパケットを送信することによって、位置情報を別途、送信する必要がなくなる。また、Helloパケットによって、送信処理で用いる判断の方式が指定されていてもよい。その場合には、Helloパケットを受信した移動端末装置1は、指定されている方式に応じた位置情報を送信するものとする。そのような場合に、例えば、目的位置を取得することができない移動端末装置1は、方式2または方式3を指定しているHelloパケットについては、そのHelloパケットの受信に応じた処理を行わなくてもよい。また、図4のフローチャートにおける処理の順序は一例であり、同様の結果を得られるのであれば、各ステップの順序を変更してもよい。例えば、ステップS102〜S104の処理の順序は問わない。また、図4のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
図5は、図4のフローチャートにおける送信処理(ステップS110)の詳細を示すフローチャートである。
(ステップS201)判断部18は、相手端末から受信した位置情報と、自端末が送信した位置情報との両方に目的位置が含まれているかどうか判断する。そして、両者に目的位置が含まれている場合には、ステップS203に進み、そうでない場合には、ステップS202に進む。
(ステップS202)判断部18は、センサデータを送信するかどうか判断する方式Xとして、方式1を用いることに決定する。
(ステップS203)判断部18は、センサデータを送信するかどうか判断する方式Xとして、方式2または方式3を用いることに決定する。ここで、方式2を用いるのか、方式3を用いるのかについては、あらかじめ手動で設定されていてもよい。
(ステップS204)判断部18は、カウンタiを1に設定する。
(ステップS205)判断部18は、判断対象のi番目のセンサデータが記憶部15に記憶されているかどうか判断する。そして、判断対象のi番目のセンサデータが記憶部15に記憶されている場合には、ステップS206に進み、そうでない場合には、ステップS208に進む。
(ステップS206)判断部18は、ステップS202またはステップS203で決定した方式Xによる判断を行う。この処理の詳細については、図6A〜図6Cのフローチャートを用いて後記する。
(ステップS207)判断部18は、カウンタiを1だけインクリメントする。そして、ステップS205に戻る。
(ステップS208)近距離無線通信部17は、判断部18によって送信対象であると判断されたセンサデータと、そのセンサデータに対応する位置及び時刻とを相手端末に送信する。なお、判断部18によって送信対象であると判断されたセンサデータが存在しない場合には、近距離無線通信部17は、相手端末への送信を行わなくてもよく、または、送信対象のセンサデータがない旨を相手端末に送信してもよい。
(ステップS209)近距離無線通信部17は、送信したセンサデータを記憶部15から削除する。また、近距離無線通信部17は、送信したセンサデータに対応する位置や時刻も記憶部15から削除してもよい。そして、図4のフローチャートに戻る。
図6Aは、図5のフローチャートにおける方式1による判断(ステップS206)の詳細を示すフローチャートである。
(ステップS301)判断部18は、自端末の現在位置pos(m)から、判断対象のi番目のセンサデータriに対応する滞留位置stay(ri)までの距離dmを算出する。
(ステップS302)判断部18は、相手端末の現在位置pos(n)から、判断対象のi番目のセンサデータriに対応する滞留位置stay(ri)までの距離dnを算出する。
(ステップS303)判断部18は、dn<dmであるかどうか判断する。そして、dn<dmである場合には、ステップS304に進み、dn≧dmである場合には、図5のフローチャートに戻る。
(ステップS304)判断部18は、i番目のセンサデータriを、送信対象のセンサデータに設定する。なお、この設定は、例えば、i番目のセンサデータriと、そのセンサデータriに対応する位置及び時刻とを送信バッファに蓄積することによって行われてもよい。そして、図5のフローチャートに戻る。
図6Bは、図5のフローチャートにおける方式2による判断(ステップS206)の詳細を示すフローチャートである。
(ステップS401)判断部18は、自端末の目的位置dest(m)から、判断対象のi番目のセンサデータriに対応する滞留位置stay(ri)までの距離dmを算出する。
(ステップS402)判断部18は、相手端末の目的位置dest(n)から、判断対象のi番目のセンサデータriに対応する滞留位置stay(ri)までの距離dnを算出する。
(ステップS403)判断部18は、dn<dmであるかどうか判断する。そして、dn<dmである場合には、ステップS404に進み、dn≧dmである場合には、図5のフローチャートに戻る。
(ステップS404)判断部18は、i番目のセンサデータriを、送信対象のセンサデータに設定する。なお、この設定は、例えば、i番目のセンサデータriと、そのセンサデータriに対応する位置及び時刻とを送信バッファに蓄積することによって行われてもよい。そして、図5のフローチャートに戻る。
図6Cは、図5のフローチャートにおける方式3による判断(ステップS206)の詳細を示すフローチャートである。
(ステップS501)判断部18は、自端末に関するコサイン類似度と、相手端末に関するコサイン類似度とを算出できるかどうか判断する。そして、両コサイン類似度を算出できる場合には、ステップS502に進み、そうでない場合には、図5のフローチャートに戻る。なお、自端末の現在位置pos(m)が自端末の目的位置dest(m)と一致する場合、または、自端末の現在位置pos(m)が判断対象のi番目のセンサデータriに対応する滞留位置stay(ri)と一致する場合には、判断部18は、自端末に関するコサイン類似度を算出できないと判断してもよい。また、相手端末の現在位置pos(n)が相手端末の目的位置dest(n)と一致する場合、または、相手端末の現在位置pos(n)が判断対象のi番目のセンサデータriに対応する滞留位置stay(ri)と一致する場合には、判断部18は、相手端末に関するコサイン類似度を算出できないと判断してもよい。
(ステップS502)判断部18は、自端末の現在位置pos(m)から目的位置dest(m)までのベクトルVdest(m)と、自端末の現在位置pos(m)から滞留位置stay(ri)までのベクトルVstay(m,ri)とのコサイン類似度csmを算出する。
(ステップS503)判断部18は、相手端末の現在位置pos(n)から目的位置dest(n)までのベクトルVdest(n)と、相手端末の現在位置pos(n)から滞留位置stay(ri)までのベクトルVstay(n,ri)とのコサイン類似度csnを算出する。
(ステップS504)判断部18は、csn>csmであるかどうか判断する。そして、csn>csmである場合には、ステップS505に進み、csn≦csmである場合には、図5のフローチャートに戻る。なお、csn>csmである場合とは、ベクトルVdest(m)とベクトルVstay(m,ri)とのなす角度θが、ベクトルVdest(n)とベクトルVstay(n,ri)とのなす角度θ'よりも大きい場合となる。
(ステップS505)判断部18は、i番目のセンサデータriを、送信対象のセンサデータに設定する。なお、この設定は、例えば、i番目のセンサデータriと、そのセンサデータriに対応する位置及び時刻とを送信バッファに蓄積することによって行われてもよい。そして、図5のフローチャートに戻る。
なお、図5のフローチャートにおいて、判断部18は、ステップS201でYesと判断した場合に、ステップS501の判断処理を行い、そのステップS501でYesと判断したときには、センサデータを送信するかどうか判断する方式Xとして方式3を用いることに決定し、そのステップS501でNoと判断したときには、センサデータを送信するかどうか判断する方式Xとして方式2を用いることに決定してもよい。その場合には、図6Cのフローチャートにおいて、ステップS501の処理を行わなくてもよい。
次に、本実施の形態による無線通信システム100の動作について、具体例を用いて説明する。この具体例では、説明を簡単にするため、方式1によって判断をする場合について説明する。また、この具体例では、各区域の重心が滞留位置となるものとする。
まず、図10,図11A,図11Bを用いて、ある区域内において近距離無線通信によってセンサデータの送受信が行われる場合について説明する。図11Aで示されるように、移動端末装置1−1が区域C1に存在する際にセンサデータを取得するタイミングとなり、センサ13によってセンサデータr1が取得されたとする(ステップS101,S102,S601)。その後、位置取得部11によって、その時点の位置(X101,Y101)が取得され、時刻取得部12によって、その時点の時刻t101が取得されたとする(ステップS103,S104)。それらの取得された情報は、蓄積部14によって記憶部15に蓄積される(ステップS105)。また、センサデータを取得する次のタイミングとなった場合にも、同様にして、センサデータr2,位置(X102,Y102),時刻t102が取得され、記憶部15に蓄積されたとする(ステップS101〜S105,S602)。同様にして、区域C1に存在する移動端末装置1−2においても、センサデータr3,位置(X201,Y201),時刻t201が取得されて蓄積され、センサデータr4,位置(X202,Y202),時刻t202が取得されて蓄積されたとする(ステップS101〜S105,S701,S702)。
その後、移動端末装置1−1の近距離無線通信部17が、Helloパケットを送信するタイミングであると判断して、Helloパケットを送信したとする(ステップS106,S107,S603)。その時点において、移動端末装置1−2は、移動端末装置1−1の近距離無線通信の通信圏内に存在していたとする。すると、移動端末装置1−2の近距離無線通信部17は、移動端末装置1−1から送信されたHelloパケットを受信し(ステップS113)、その時点の位置である現在位置の取得を位置取得部11に指示し、それに応じて位置取得部11から受け取った現在位置(X203,Y203)を含む位置情報を、Helloパケットの送信元の移動端末装置1−1に送信する(ステップS114,S703)。移動端末装置1−2から送信された位置情報は、移動端末装置1−1の近距離無線通信部17によって受信され、判断部18に渡される(ステップS108)。相手端末からの位置情報を受信したため、移動端末装置1−1の近距離無線通信部17は、その時点の位置である現在位置の取得を位置取得部11に指示し、それに応じて位置取得部11から受け取った現在位置(X103,Y103)を含む位置情報を、位置情報の送信元の移動端末装置1−2に送信する(ステップS109,S604)。移動端末装置1−1から送信された位置情報は、移動端末装置1−2の近距離無線通信部17によって受信され、判断部18に渡される(ステップS115)。その後、移動端末装置1−1,1−2のそれぞれにおいて、送信判断が行われる(ステップS110,S605,S704)。この場合には、両装置での送信判断は同様のものになるため、ここでは、移動端末装置1−2における送信判断について説明する。
移動端末装置1−2の判断部18は、まず、1個目のセンサデータr3について、方式1による判断を行う(ステップS201,S202,S204〜S206)。具体的には、判断部18は、自端末の現在位置(X203,Y203)から、センサデータr3に対応する滞留位置stay(r3)(=SY(C1))までの距離dmを算出する(ステップS301)。ここで、判断部18は、センサデータr3に対応する位置(X201,Y201)を含む区域が、区域C1であることを特定し、その区域C1における滞留位置を特定することによって、センサデータr3に対応する滞留位置stay(r3)を特定することができる。センサデータr3は、区域C1で取得されたため、その滞留位置stay(r3)は、区域C1の重心となる。また、判断部18は、相手端末の現在位置(X103,Y103)から、センサデータr3に対応する滞留位置stay(r3)までの距離dnを算出する(ステップS302)。ここでは、dn<dmであり、移動端末装置1−1のほうが、移動端末装置1−2よりも区域C1の滞留位置SY(C1)に近かったとする(ステップS303)。すると、判断部18は、記憶部15で記憶されているセンサデータr3,位置(X201,Y201),時刻t201を、近距離無線通信部17の送信バッファに追加する(ステップS304)。移動端末装置1−2の判断部18は、同様にして、センサデータr4についても判断を行い(ステップS207,S205,S206)、そのセンサデータr4等も送信バッファに追加する(ステップS301〜S304)。その後、移動端末装置1−2の近距離無線通信部17は、送信バッファで記憶されているセンサデータ等を読み出して、移動端末装置1−1に近距離無線通信によって送信し(ステップS208,S705)、送信済みのセンサデータr3,位置(X201,Y201),時刻t201と、センサデータr4,位置(X202,Y202),時刻t202とを記憶部15から削除する(ステップS209)。なお、移動端末装置1−1においても同様の判断が行われ、センサデータr1,r2等を送信しないと判断されることになり、移動端末装置1−1から移動端末装置1−2へのセンサデータ等の送信は行われないことになる。
移動端末装置1−2から送信されたセンサデータ等は、移動端末装置1−1の近距離無線通信部17で受信され、記憶部15に蓄積される(ステップS111,S112)。その結果、図11Bで示されるように、移動端末装置1−1がセンサデータr1〜r4を保持することになる。そのように、移動端末装置1−1がセンサデータr1〜r4を保持している際に、送信部20が、センサデータ等をサーバ3に送信するタイミングであると判断したとする(ステップS116)。すると、送信部20は、その時点で記憶部15において記憶されているセンサデータを集約するように指示する。その指示を受け取ると、集約部19は、記憶部15からセンサデータr1〜r4と、それらに対応する位置及び時刻とを読み出し、同じ区域及び同じ期間ごとに集約を行う。ここでは、すべての位置は区域C1に含まれ、すべての時刻は期間T1に含まれたとする。すると、集約部19は、センサデータr1〜r4と、それらに対応する位置及び時刻とを、センサデータr1〜r4の平均rave(=(r1+r2+r3+r4)/4)と、位置(区域)C1及び時刻(期間)T1とに集約し、送信部20に渡す(ステップS117,S606)。そして、送信部20は、集約されたセンサデータrave、位置C1、時刻T1をサーバ3に送信する(ステップS118,S607)。また、送信部20は、集約前の各センサデータ、並びに各センサデータに対応する位置及び時刻を、記憶部15から削除する(ステップS119)。その結果、移動端末装置1−1の記憶部15では、記憶されているセンサデータ等は存在しないことになる。なお、移動端末装置1−2の送信部20が、センサデータ等をサーバ3に送信するタイミングであると判断したとしても、移動端末装置1−2の記憶部15では送信対象のセンサデータ等が記憶されていないため、センサデータ等のサーバ3への送信は行われないことになる。
移動端末装置1−1から送信されたセンサデータ等は、サーバ3の通信部31で受信され、蓄積部32に渡される。蓄積部32は、通信部31から受け取ったセンサデータ等を、記憶部33に蓄積する(ステップS801)。なお、それまでに位置C1、時刻T1に対応するセンサデータがすでに記憶されている場合には、蓄積部32は、それまでに記憶されているセンサデータと、新たに受信したセンサデータとを集約して、上書きで蓄積してもよく、または、新たに受信したセンサデータを別途、蓄積してもよい。
次に、図12A〜図12Dを用いて、移動端末装置1の間でセンサデータ等が送受信される別の具体例について説明する。なお、この具体例では、センサデータ等の取得や送信、受信等に関する細かい説明は省略する。
図12Aで示されるように、移動端末装置1−3,1−4が区域C2に存在する際に、移動端末装置1−3において、センサデータr5と位置及び時刻とが取得され、移動端末装置1−4において、センサデータr6と位置及び時刻とが取得されたとする。その後、図12Bで示されるように、移動端末装置1−3,1−4が区域C2から離れた際に、移動端末装置1−3の近距離無線通信の通信圏内に移動端末装置1−5が存在し、移動端末装置1−4の近距離無線通信の通信圏内に移動端末装置1−6が存在するようになったとする。また、移動端末装置1−3よりも、移動端末装置1−5のほうが区域C2の滞留位置SY(C2)に近く、移動端末装置1−4よりも、移動端末装置1−6のほうが区域C2の滞留位置SY(C2)に近かったとする。すると、移動端末装置1−3から移動端末装置1−5に、センサデータr5等が近距離無線通信によって送信され、移動端末装置1−4から移動端末装置1−6に、センサデータr6等が近距離無線通信によって送信される。その後、図12Cで示されるように、移動端末装置1−5が移動端末装置1−6の近傍に移動し、両装置が近距離無線通信を行うことができるようになったとする。また、移動端末装置1−5よりも、移動端末装置1−6のほうが区域C2の滞留位置SY(C2)に近かったとする。すると、移動端末装置1−5から移動端末装置1−6に、センサデータr5等が近距離無線通信によって送信される。したがって、移動端末装置1−6が、センサデータr5,r6等を保持するようになる。その後、図12Dで示されるように、移動端末装置1−6が区域C2内に移動した後に、移動端末装置1−6において、センサデータ等をサーバ3に送信するタイミングであると判断されると、センサデータr5,r6等が集約された後に移動端末装置1−6からサーバ3に送信され、サーバ3で蓄積されることになる。
以上のように、本実施の形態による無線通信システム100によれば、移動端末装置1の間でセンサデータ等を移動させた後に、センサデータ等をサーバ3に送信することができる。したがって、各移動端末装置1からサーバ3にセンサデータ等を個別に送信する場合と比較して、送信対象のデータ量を削減することができる。通常、センサデータ等を移動端末装置1の間で移動させることにより、センサデータ等をサーバ3に送信する移動端末装置1の個数を低減させることができるからである。また特に、サーバ3にセンサデータ等を送信するまでにセンサデータ等の集約を行うことによって、効率的にデータ量を削減することができる。このように、サーバ3に送信されるデータ量を削減できることによって、サーバ3への通信に用いられる通信網の負荷を低減させることができる。また、自端末の位置情報と、相手端末の位置情報と、滞留位置とを用いて、現在位置や目的位置が滞留位置に近い移動端末装置1、または、移動の方向が滞留位置への方向に近い移動端末装置1にセンサデータが集まるようにすることによって、ある区域で取得されたセンサデータが、その区域の滞留位置の付近に集まるようにすることができる。その結果、集約対象のデータが特定の移動端末装置1に集中しやすくすることができ、集約の効果をより高めることができる。また、移動端末装置1間におけるセンサデータ等の送受信を、すれ違い通信によって自動的に行うことによって、その送受信にユーザの操作を介さないでよいことになり、ユーザに負担を掛けることなく、移動端末装置1の間におけるセンサデータ等の移動を実現することができる。
なお、本実施の形態では、近距離無線通信によってセンサデータ等を相手端末に送信するかどうかの判断方法として、方式1〜3のいずれかを選択する場合について説明したが、そうでなくてもよい。方式1〜3のいずれかの方法が、判断方法としてあらかじめ設定されていてもよい。また、方式2が判断方法としてあらかじめ設定されている場合であって、目的位置取得部16によって目的位置を取得することができないときには、判断部18は、現在位置を目的位置として用いるようにしてもよい。
また、本実施の形態では、センサデータ等をサーバ3にアップロードするために集約を行う場合について説明したが、そうでなくてもよい。集約を行わないでセンサデータ等がサーバ3に送信されてもよい。その場合であっても、別々の移動端末装置1からセンサデータ等がサーバ3に送信される場合よりも、送信対象のデータ量を削減することができる。通常、N個のセンサデータをN個の装置から送信するよりも、N個のセンサデータを1個の装置から送信するほうが、オーバーヘッド等を考慮すると、送信対象のデータ量が少なくなるからである。
また、本実施の形態による移動端末装置1が、目的位置を取得する目的位置取得部16を備える場合について説明したが、そうでなくてもよい。例えば、方式1による判断しか行わない場合には、移動端末装置1は、目的位置取得部16を備えていなくてもよい。
また、上記実施の形態において、各処理または各機能は、単一の装置または単一のシステムによって集中処理されることによって実現されてもよく、または、複数の装置または複数のシステムによって分散処理されることによって実現されてもよい。
また、上記実施の形態において、各構成要素間で行われる情報の受け渡しは、例えば、その情報の受け渡しを行う2個の構成要素が物理的に異なるものである場合には、一方の構成要素による情報の出力と、他方の構成要素による情報の受け付けとによって行われてもよく、または、その情報の受け渡しを行う2個の構成要素が物理的に同じものである場合には、一方の構成要素に対応する処理のフェーズから、他方の構成要素に対応する処理のフェーズに移ることによって行われてもよい。
また、上記実施の形態において、各構成要素が実行する処理に関係する情報、例えば、各構成要素が受け付けたり、取得したり、選択したり、生成したり、送信したり、受信したりした情報や、各構成要素が処理で用いる閾値や数式、アドレス等の情報等は、上記説明で明記していなくても、図示しない記録媒体において、一時的に、または長期にわたって保持されていてもよい。また、その図示しない記録媒体への情報の蓄積を、各構成要素、または、図示しない蓄積部が行ってもよい。また、その図示しない記録媒体からの情報の読み出しを、各構成要素、または、図示しない読み出し部が行ってもよい。
また、上記実施の形態において、各構成要素等で用いられる情報、例えば、各構成要素が処理で用いる閾値やアドレス、各種の設定値等の情報がユーザによって変更されてもよい場合には、上記説明で明記していなくても、ユーザが適宜、それらの情報を変更できるようにしてもよく、または、そうでなくてもよい。それらの情報をユーザが変更可能な場合には、その変更は、例えば、ユーザからの変更指示を受け付ける図示しない受付部と、その変更指示に応じて情報を変更する図示しない変更部とによって実現されてもよい。その図示しない受付部による変更指示の受け付けは、例えば、入力デバイスからの受け付けでもよく、通信回線を介して送信された情報の受信でもよく、所定の記録媒体から読み出された情報の受け付けでもよい。
また、上記実施の形態において、移動端末装置1に含まれる2以上の構成要素が通信デバイスや入力デバイス等を有する場合に、2以上の構成要素が物理的に単一のデバイスを有してもよく、または、別々のデバイスを有してもよい。
また、上記実施の形態において、各構成要素は専用のハードウェアにより構成されてもよく、または、ソフトウェアにより実現可能な構成要素については、プログラムを実行することによって実現されてもよい。例えば、ハードディスクや半導体メモリ等の記録媒体に記録されたソフトウェア・プログラムをCPU等のプログラム実行部が読み出して実行することによって、各構成要素が実現され得る。その実行時に、プログラム実行部は、記憶部や記録媒体にアクセスしながらプログラムを実行してもよい。なお、上記実施の形態における移動端末装置1を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータを、無線通信を行う移動端末装置として機能させるためのプログラムであって、センサデータを取得するセンサによって取得されたセンサデータと、センサデータの取得時に、現在の位置を取得する位置取得部によって取得された位置及び現在の時刻を取得する時刻取得部によって取得された時刻とを蓄積する蓄積部、他の移動端末装置から、他の移動端末装置に関する位置情報を近距離無線通信によって受信する近距離無線通信部、蓄積部によって蓄積されたセンサデータごとに、自移動端末装置に関する位置情報と、近距離無線通信によって受信された、他の移動端末装置に関する位置情報と、センサデータに対応する位置を含む区域に対応付けられた滞留位置とを用いて、センサデータを他の移動端末装置に送信するかどうか判断する判断部、蓄積部によって蓄積されたセンサデータと、センサデータに対応する位置及び時刻とを、センサデータを収集するサーバに、近距離無線通信とは異なる無線通信によって送信する送信部として機能させ、近距離無線通信部は、他の移動端末装置に送信すると判断部によって判断されたセンサデータと、センサデータに対応する位置及び時刻とを近距離無線通信によって他の移動端末装置に送信し、他の移動端末装置から近距離無線通信によって送信されたセンサデータと、センサデータに対応する位置及び時刻とを受信し、蓄積部は、近距離無線通信部によって受信されたセンサデータと、センサデータに対応する位置及び時刻とを蓄積する、プログラムである。
なお、上記プログラムにおいて、上記プログラムが実現する機能には、ハードウェアでしか実現できない機能は含まれない。例えば、情報を通信する通信部や、情報を送信する送信部などにおけるモデムやインターフェースカードなどのハードウェアでしか実現できない機能は、上記プログラムが実現する機能には少なくとも含まれない。
また、このプログラムは、サーバなどからダウンロードされることによって実行されてもよく、所定の記録媒体(例えば、CD−ROMなどの光ディスクや磁気ディスク、半導体メモリなど)に記録されたプログラムが読み出されることによって実行されてもよい。また、このプログラムは、プログラムプロダクトを構成するプログラムとして用いられてもよい。
また、このプログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、または分散処理を行ってもよい。
図13は、上記プログラムを実行して、上記実施の形態による移動端末装置1を実現するコンピュータシステム900の一例を示す図である。上記実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムによって実現されうる。
図13において、コンピュータシステム900は、MPU(Micro Processing Unit)911と、ブートアッププログラム等のプログラムや、アプリケーションプログラム、システムプログラム、及びデータが記憶されるフラッシュメモリ等のROM912と、MPU911に接続され、アプリケーションプログラムの命令を一時的に記憶すると共に、一時記憶空間を提供するRAM913と、タッチパネル914と、無線通信モジュール915と、MPU911、ROM912等を相互に接続するバス916とを備える。
コンピュータシステム900に、上記実施の形態による移動端末装置1の機能を実行させるプログラムは、無線通信モジュール915を介してROM912に記憶されてもよい。プログラムは実行の際にRAM913にロードされる。なお、プログラムは、ネットワークから直接、ロードされてもよい。
プログラムは、コンピュータシステム900に、上記実施の形態による移動端末装置1の機能を実行させるオペレーティングシステム(OS)、またはサードパーティプログラム等を必ずしも含んでいなくてもよい。プログラムは、制御された態様で適切な機能やモジュールを呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいてもよい。コンピュータシステム900がどのように動作するのかについては周知であり、詳細な説明は省略する。
また、本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。