(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-07-16
(45)【発行日】2024-07-24
(54)【発明の名称】情報処理システム、データ取得方法及びデータ取得プログラム
(51)【国際特許分類】
H04L 67/12 20220101AFI20240717BHJP
H04L 67/60 20220101ALI20240717BHJP
H04W 4/70 20180101ALI20240717BHJP
H04W 76/10 20180101ALI20240717BHJP
H04W 84/18 20090101ALI20240717BHJP
【FI】
H04L67/12
H04L67/60
H04W4/70
H04W76/10
H04W84/18
(21)【出願番号】P 2020200983
(22)【出願日】2020-12-03
【審査請求日】2023-07-18
(73)【特許権者】
【識別番号】000003207
【氏名又は名称】トヨタ自動車株式会社
(74)【代理人】
【識別番号】100103894
【氏名又は名称】家入 健
(72)【発明者】
【氏名】菅田 光留
【審査官】吉田 歩
(56)【参考文献】
【文献】特開2012-100243(JP,A)
【文献】特開2016-212681(JP,A)
【文献】特開2019-091180(JP,A)
【文献】特開2010-272907(JP,A)
【文献】米国特許出願公開第2019/0306897(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 67/12
H04L 67/60
H04W 4/70
H04W 76/10
H04W 84/18
(57)【特許請求の範囲】
【請求項1】
検知データを生成して提供する複数の端末装置と、
前記複数の端末装置のそれぞれから前記検知データを取得し、取得した前記検知データをサーバに送信する複数の中継器と、
前記複数の中継器が通信接続する接続対象の端末装置と、前記複数の中継器が前記接続対象の端末装置に通信接続する接続順番とを決定するサーバと
を含み、
前記複数の端末装置は、それぞれ自機の識別情報を、少なくとも1つの前記中継器に送信し、
前記中継器は、前記端末装置から受信した前記端末装置の識別情報を含む端末装置リストを生成して前記サーバに送信し、
前記サーバは、
前記複数の端末装置の各検知データが前記サーバにアップロードされた最新の時刻であるアップロード時刻と、
前記端末装置リストに含まれる前記複数の端末装置の識別情報とに基づき、情報処理システム内において、前記アップロード時刻が古い検知データを生成した前記端末装置から優先的に前記検知データが取得されるように、前記複数の中継器のそれぞれについて、前記接続対象の端末装置及び前記接続順番を決定し、
前記複数の中継器のそれぞれに対して、当該中継器の前記接続対象の端末装置の識別情報及び前記接続順番を示す接続順情報を送信し、
前記複数の中継器は、前記サーバから前記接続対象の端末装置の識別情報及び前記接続順情報を受信すると、前記接続順情報が示す順番に従って前記接続対象の端末装置に通信接続して、前記検知データを取得する、
情報処理システム。
【請求項2】
前記サーバは、前記複数の中継器のいずれか1つから前記端末装置リストを受信すると、前記複数の中継器のそれぞれについて、前記接続対象の端末装置及び前記接続順番を決定し、前記複数の中継器のそれぞれに対して、当該中継器の前記接続対象の端末装置の識別情報及び前記接続順情報を送信する、請求項1に記載の情報処理システム。
【請求項3】
前記サーバは、受信した最新の前記端末装置リストに含まれる前記端末装置の識別情報が示す端末装置のうち、前記複数の中継器のいずれも割り当てられていない端末装置を、前記最新の端末装置リストを送信した前記中継器の接続対象の端末装置として決定する、請求項1又は2に記載の情報処理システム。
【請求項4】
前記サーバは、前記アップロード時刻と、前記複数の端末装置の識別情報と、前記複数の中継器の識別情報と、前記端末装置の接続順番とが関連付けて登録されたデータテーブルを備えており、
前記サーバは、
前記データテーブルを参照し、受信した最新の前記端末装置リストに含まれる前記端末装置の識別情報に関連付けられている接続順番を繰り上げることが可能な場合、
接続順番を繰り上げることが可能な前記端末装置を、前記最新の端末装置リストを送信した前記中継器の接続対象の端末装置として決定し、
繰り上げられた前記接続順番を、前記最新の端末装置リストを送信した前記中継器の接続対象の端末装置の前記接続順番として決定する、請求項1~3のいずれか1項に記載の情報処理システム。
【請求項5】
前記サーバは、受信した最新の前記端末装置リストに含まれる前記端末装置の識別情報に関連付けられている接続順番を繰り上げることが可能な場合において、前記接続順番が既定値以下であるとき、前記接続順番が既定値以下の前記端末装置に通信接続する中継器及び前記接続順番を変更しない、請求項4に記載の情報処理システム。
【請求項6】
前記サーバは、前記データテーブルにおいて、接続順番が繰り上げられた前記端末装置の識別情報に、前記最新の端末装置リストを送信した第1の中継器以外の第2の中継器の識別情報が関連付けられていた場合、前記接続順番の繰り上げに起因して、前記第2の中継器の識別情報に関連付けられている接続順番を繰り上げることができるとき、繰り上げられた前記接続順番を、前記第2の中継器の接続対象の端末装置の前記接続順番として決定する、請求項4又は5に記載の情報処理システム。
【請求項7】
前記複数の中継器は、
前記端末装置リストを生成して前記サーバに送信する端末情報提供部と、
前記サーバから受信した前記接続対象の端末装置の識別情報及び前記接続順情報を前記中継器の記憶装置に保存して更新する接続情報更新部と、
前記記憶装置に保存された前記接続対象の端末装置の識別情報及び前記接続順情報に基づき、前記複数の端末装置のそれぞれから前記検知データを取得して、前記検知データをサーバに送信する検知データ取得部と
を含む、請求項1~6のいずれか1項に記載の情報処理システム。
【請求項8】
前記検知データには、前記端末装置が記録した音声、及び前記端末装置に加わった加速度が含まれる、請求項1~7のいずれか1項に記載の情報処理システム。
【請求項9】
複数の端末装置と、複数の中継器と、サーバとを含む情報処理システムにおいて実行されるデータ取得方法であって、
前記複数の中継器は、それぞれが通信可能な前記端末装置に対して検知データを要求し、
前記複数の端末装置は、前記複数の中継器からの要求に応じて、検知データを生成して前記複数の中継器に送信し、
前記複数の中継器は、それぞれが通信可能な前記端末装置から受信した前記検知データをサーバに送信し、
前記複数の端末装置は、それぞれ自機の識別情報を、前記複数の中継器の少なくとも1つに送信し、
前記複数の中継器は、前記端末装置から受信した前記端末装置の識別情報を含む端末装置リストを生成して前記サーバに送信し、
前記サーバは、前記複数の端末装置の各検知データが前記サーバにアップロードされた最新の時刻であるアップロード時刻と、
前記端末装置リストに含まれる前記複数の端末装置の識別情報とに基づき、情報処理システム内において、前記アップロード時刻が古い検知データを生成した前記端末装置から優先的に前記検知データが取得されるように、前記複数の中継器のそれぞれについて、接続対象の端末装置と、前記複数の中継器が前記接続対象の端末装置に通信接続する接続順番とを決定し、
前記サーバは、前記複数の中継器のそれぞれに対して、当該中継器の前記接続対象の端末装置の識別情報及び前記接続順番を示す接続順情報を送信し、
前記複数の中継器は、前記サーバから前記接続対象の端末装置の識別情報及び前記接続順情報を受信すると、前記接続順情報が示す順番に従って前記接続対象の端末装置に通信接続して、前記検知データを取得する、
データ取得方法。
【請求項10】
複数の中継器と通信するサーバとして機能するコンピュータにおいて実行されるデータ取得プログラムであって、前記コンピュータに対し、
複数の端末装置のそれぞれが生成した検知データが、前記複数の中継器の1つを介して前記サーバにアップロードされた最新の時刻であるアップロード時刻と、前記複数の端末装置の識別情報とに基づき、情報処理システム内において、前記アップロード時刻が古い検知データを生成した前記端末装置から優先的に前記検知データが取得されるように、前記複数の中継器のそれぞれについて、接続対象の端末装置と、前記複数の中継器が前記接続対象の端末装置に通信接続する接続順番とを決定するステップと、
前記複数の中継器のそれぞれに対して、当該中継器の前記接続対象の端末装置の識別情報及び前記接続順番を示す接続順情報を送信するステップと
を実行させる、データ取得プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数の端末装置から検知データを取得する情報処理システム、データ取得方法及びデータ取得プログラムに関する。
【背景技術】
【0002】
従来、複数の端末装置が生成した検知データを、複数の中継器を介してサーバが取得するシステムが提案されている。このようなシステムでは、複数の中継器の通信エリアが重複することがある。
【0003】
例えば、可搬型の端末装置や移動型の端末装置が利用される場合、1以上の端末装置が、複数の中継器の通信エリアが重複した空間に存在することがある。このような状況において、或る中継器が、通信エリアが重複した空間に存在する端末装置から検知データを取得した直後に、別の中継器が、当該端末装置から検知データを取得することが起こり得る。この場合、新たに取得される検知データが僅かであるにも関わらず、当該別の中継器が、当該端末装置に通信接続して、検知データを取得することになり、無駄なセッションが発生してしまう。そのため、システム全体において、複数の端末装置から効率的に検知データを取得することができないという課題があった。
【0004】
この点に関し、特許文献1は、複数のペリフェラルが、単一のペリフェラルからデータを取得する無線通信システムを開示する。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、特許文献1が開示する無線通信システムは、単一のペリフェラルからデータを取得するシステムであるため、複数の端末装置が含まれるシステムにおいて、これらの端末装置から効率的に検知データを取得できないという上記課題を解決することができない。
【0007】
本発明は、このような課題を解決するためになされたものであり、複数の端末装置から効率的に検知データを取得可能な情報処理システム、データ取得方法及びデータ取得プログラムを提供することを目的とする。
【課題を解決するための手段】
【0008】
本発明の一態様に係る情報処理システムは、
検知データを生成して提供する複数の端末装置と、
複数の端末装置のそれぞれから検知データを取得し、取得した検知データをサーバに送信する複数の中継器と、
複数の中継器が通信接続する接続対象の端末装置と、複数の中継器が接続対象の端末装置に通信接続する接続順番とを決定するサーバと
を含み、
複数の端末装置は、それぞれ自機の識別情報を、少なくとも1つの中継器に送信し、
中継器は、端末装置から受信した端末装置の識別情報を含む端末装置リストを生成してサーバに送信し、
サーバは、
複数の端末装置の各検知データがサーバにアップロードされた最新の時刻であるアップロード時刻と、複数の端末装置の識別情報とに基づき、情報処理システム内において、アップロード時刻が古い検知データを生成した端末装置から優先的に検知データが取得されるように、複数の中継器のそれぞれについて、接続対象の端末装置及び接続順番を決定し、
複数の中継器のそれぞれに対して、当該中継器の接続対象の端末装置の識別情報及び接続順番を示す接続順情報を送信し、
複数の中継器は、サーバから接続対象の端末装置の識別情報及び接続順情報を受信すると、接続順情報が示す順番に従って接続対象の端末装置に通信接続して、検知データを取得する。
【0009】
本発明の一態様に係るデータ取得方法は、複数の端末装置と、複数の中継器と、サーバとを含む情報処理システムにおいて実行され、
複数の中継器は、それぞれが通信可能な端末装置に対して検知データを要求し、
複数の端末装置は、複数の中継器からの要求に応じて、検知データを生成して複数の中継器に送信し、
複数の中継器は、それぞれが通信可能な端末装置から受信した検知データをサーバに送信し、
複数の端末装置は、それぞれ自機の識別情報を、複数の中継器の少なくとも1つに送信し、
複数の中継器は、端末装置から受信した端末装置の識別情報を含む端末装置リストを生成してサーバに送信し、
サーバは、複数の端末装置の各検知データがサーバにアップロードされた最新の時刻であるアップロード時刻と、複数の端末装置の識別情報とに基づき、情報処理システム内において、アップロード時刻が古い検知データを生成した端末装置から優先的に検知データが取得されるように、複数の中継器のそれぞれについて、接続対象の端末装置と、複数の中継器が接続対象の端末装置に通信接続する接続順番とを決定し、
サーバは、複数の中継器のそれぞれに対して、当該中継器の接続対象の端末装置の識別情報及び接続順番を示す接続順情報を送信し、
複数の中継器は、サーバから接続対象の端末装置の識別情報及び接続順情報を受信すると、接続順情報が示す順番に従って接続対象の端末装置に通信接続して、検知データを取得する。
【0010】
本発明の一態様に係るデータ取得プログラムは、複数の中継器と通信するサーバとして機能するコンピュータにおいて実行され、コンピュータに対し、
複数の端末装置のそれぞれが生成した検知データが、複数の中継器の1つを介してサーバにアップロードされた最新の時刻であるアップロード時刻と、複数の端末装置の識別情報とに基づき、情報処理システム内において、アップロード時刻が古い検知データを生成した端末装置から優先的に検知データが取得されるように、複数の中継器のそれぞれについて、接続対象の端末装置と、複数の中継器が接続対象の端末装置に通信接続する接続順番とを決定するステップと、
複数の中継器のそれぞれに対して、当該中継器の接続対象の端末装置の識別情報及び接続順番を示す接続順情報を送信するステップとを実行させる。
【発明の効果】
【0011】
本発明により、複数の端末装置から効率的に検知データを取得可能な情報処理システム、データ取得方法及びデータ取得プログラムを提供することができる。
【図面の簡単な説明】
【0012】
【
図1】本発明の第1の実施形態に係る情報処理システムの一例を示す図である。
【
図2】本発明の第1の実施形態に係るサーバの構成を示すブロック図である。
【
図3】本発明の第1の実施形態に係る中継器の構成を示すブロック図である。
【
図4】本発明の第1の実施形態に係る情報処理システムにおいて実行される処理のシーケンスの一例を示す図である。
【
図5】本発明の第1の実施形態に係るサーバが実行する割当て処理の一例を示すフローチャートである。
【
図6】本発明の第1の実施形態に係るサーバが実行する割当て処理の一例を示すフローチャートである。
【
図7】本発明の第1の実施形態に係るサーバが実行する割当て処理の一例を示すフローチャートである。
【
図9】割当て処理による割当てテーブルの変化の様子を示す図である。
【
図10】割当て処理が実行された後の割当てテーブルの一例を示す図である。
【
図11】本発明の第2の実施形態に係る中継器の構成を示すブロック図である。
【
図12】本発明の第2の実施形態に係る情報処理システムにおいて実行される処理のシーケンスの一例を示す図である。
【発明を実施するための形態】
【0013】
<第1の実施形態>
以下、図面を参照して、本発明の第1の実施形態について説明する。
図1は、本発明の第1の実施形態に係る情報処理システムの一例を示す図である。情報処理システム100は、端末装置1~14と、中継器21~23と、サーバ30とを含む。端末装置1~14及び中継器21~23は、例えば、BLE(Bluetooth(登録商標) Low Energy)等の種々の無線通信規格に準拠した無線通信により、相互にデータを通信することができる。中継器21~23及びサーバ30は、LAN(Local Area Network)及び/又はWAN(Wide Area Network)を含むネットワーク40を介して、相互にデータを通信することができる。
【0014】
なお、
図1は、中継器21~23及びサーバ30は、有線によってデータ通信を行う構成を示しているが、中継器21~23及びサーバ30は、無線通信により、相互にデータ通信を行ってもよい。また、
図1に示す情報処理システム100には、14個の端末装置が含まれるが、情報処理システム100に含まれ得る端末装置の数は、これに限定されない。
【0015】
端末装置1~14は、検知データを生成して提供する装置である。端末装置1~14の具体例としては、ウェアラブル端末等の可搬型の端末装置や自立的に移動可能な端末装置等が挙げられる。端末装置1~14は、マイクロフォン及び加速度センサを備えることができる。端末装置1~14が生成する検知データには、端末装置1~14のマイクロフォンが記録した当該端末装置の周囲の音声、及び端末装置1~14の加速度センサに加わった加速度が含まれる。端末装置1~14は、生成した検知データを、自機が備える記憶装置に保存する。
【0016】
端末装置1~14は、それぞれ自機の識別情報を定期的に送信する。例えば、端末装置1~14は、自機の識別情報を含むアドバタイズパケットを送信することができる。本実施形態では、端末装置1~14の識別情報として、当該端末装置のMACアドレスやシリアル番号等の種々の識別情報を採用することができる。端末装置1~14が自機の識別情報を送信する時間間隔は、例えば300ミリ秒等とすることができる。端末装置1~14が送信した識別情報は、当該端末装置と通信可能な中継器によって受信される。
【0017】
また、端末装置1~14は、中継器21~23からの要求に応じて、各端末装置の記憶装置に保存されている検知データを、当該要求を送信した中継器に提供する。端末装置1~14は、検知データを中継器に提供すると、記憶装置から当該検知データを削除する。
【0018】
図2は、本発明の第1の実施形態に係るサーバ30の構成を示すブロック図である。サーバ30は、端末装置1~14が生成した検知データを、中継器21~23を介して取得する情報処理装置である。サーバ30は、制御部300と、通信インタフェース310と、記憶装置320とを備える。
【0019】
制御部300は、サーバ30が備える電子回路及び装置を制御するCPU(Central Processing Unit)やMPU(Micro Processing Unit)等の演算装置である。制御部300は、本発明のデータ取得プログラムを記憶装置320から読み出して実行することにより、本発明のデータ取得方法を実行する。本発明のデータ取得プログラムには、通信制御部301と、データテーブル更新部302と、決定部303とが含まれる。
【0020】
通信制御部301は、サーバ30と中継器21~23との間の通信を制御するプログラムモジュールである。通信制御部301は、中継器21~23から端末装置1~14の検知データを受信すると、当該検知データを記憶装置320に保存する。なお、通信制御部301は、サーバ30がネットワーク40を介してアクセス可能なデータサーバに検知データを保存してもよい。
【0021】
また、通信制御部301は、中継器21~23から、当該中継器が通信可能な端末装置の識別情報を含む端末装置リストを受信すると、当該端末装置リストを決定部303に提供する。
【0022】
データテーブル更新部302は、データテーブルである割当てテーブルを更新するプログラムである。
図8は、割当てテーブルの一例を示す図である。割当てテーブルには、検知データのアップロード時刻と、端末装置1~14の識別情報と、中継器21~2
3の識別情報と、端末装置1~14の接続順番とが関連付けて登録される。
【0023】
アップロード時刻は、端末装置1~14の各検知データがサーバ30にアップロードされた最新の時刻である。データテーブル更新部302は、サーバ30が中継器21~23から端末装置1~14の検知データを受信すると、当該検知データを生成した端末装置の識別情報に関連付けられているアップロード時刻を更新する。
【0024】
本実施形態では、中継器21~22の識別情報として、中継器21~22のMACアドレスやシリアル番号等の種々の識別情報を採用することができる。端末装置1~14の接続順番は、中継器21~23が接続対象である当該端末装置に通信接続する順番である。
【0025】
決定部303は、中継器21~23が通信接続する接続対象の端末装置と、中継器21~23が接続対象の端末装置に通信接続する接続順番とを決定するプログラムである。決定部303は、アップロード時刻と、端末装置1~14の識別情報とに基づき、中継器21~23のそれぞれについて、接続対象の端末装置及び接続順番を決定する。具体的には、決定部303は、情報処理システム100内において、アップロード時刻が古い検知データを生成した端末装置から優先的に検知データが取得されるように、中継器21~23のそれぞれについて、接続対象の端末装置及び接続順番を決定する。ここで、決定部303は、中継器21~23について、接続対象の端末装置が重複しないように通信接続対象の端末装置を決定する。
【0026】
通信インタフェース310は、中継器21~23とデータ通信を行うインタフェースである。通信インタフェース310は、中継器21~23から種々のデータを受信すると、これらのデータを制御部300に提供する。また、通信インタフェース310は、制御部300の制御下で、種々のデータを中継器21~23に送信することができる。
【0027】
記憶装置320は、データ取得プログラム、割当てテーブル、及び検知データ等の種々のデータが保存される記憶装置である。
【0028】
図3は、本発明の第1の実施形態に係る中継器21の構成を示すブロック図である。以下、
図3を参照して、中継器21の構成について説明する。なお、中継器22,23は、中継器21と同一の構成を有する。
【0029】
中継器21は、制御部200と、通信インタフェース210と、通信インタフェース220と、記憶装置230とを備える。
【0030】
制御部200は、中継器21が備える電子回路及び装置を制御するCPUやMPU等の演算装置である。制御部200は、中継器21と通信可能な端末装置の識別情報を含む端末装置リストを定期的に生成し、端末装置リストを当該サーバ30に送信する。制御部200が端末装置リストを生成及び送信する時間間隔は、例えば、30秒等とすることができる。
【0031】
具体的には、制御部200は、中継器21と通信可能な端末装置が送信したアドバタイズパケットに含まれる端末装置の識別情報を取得する。このとき、制御部200は、端末装置1~14がアドバタイズパケットを送信する時間間隔(例えば300ミリ秒等)の間、端末装置1~14が送信したアドバタイズパケットを待機し、その間に受信したアドバタイズパケットに基づいて端末装置リストを生成することが好ましい。これにより、中継器21と通信可能な端末装置の識別情報を含む端末装置リストを生成することができる。
【0032】
また、制御部200は、サーバ30から受信した接続対象の端末装置の識別情報及び接続順情報を記憶装置230に保存して更新する。制御部200は、接続対象の端末装置の識別情報及び接続順情報に基づき、接続対象の端末装置に通信接続し、当該端末装置から検知データを取得して、検知データをサーバ30に送信する。
【0033】
通信インタフェース210は、端末装置1~14と無線データ通信を行うインタフェースである。通信インタフェース210は、端末装置1~14から種々のデータを受信すると、これらのデータを制御部200に提供する。また、通信インタフェース210は、制御部200の制御下で、種々のデータを端末装置1~14に送信することができる。
【0034】
通信インタフェース220は、サーバ30とデータ通信を行うインタフェースである。通信インタフェース220は、サーバ30から種々のデータを受信すると、これらのデータを制御部200に提供する。また、通信インタフェース220は、制御部200の制御下で、種々のデータをサーバ30に送信することができる。
【0035】
記憶装置230は、サーバ30から受信した接続対象の端末装置の識別情報及び接続順情報、端末装置1~14から受信したアドバタイズパケット、制御部200が実行するプログラム等の種々のデータが保存される記憶装置である。
【0036】
図4は、情報処理システム100において実行される処理のシーケンスの一例を示す図である。以下、中継器23が端末装置の識別情報(端末装置ID)を取得した場合に実行される処理の一例について説明する。
【0037】
ステップS10では、中継器23が、端末装置からアドバタイズパケットを受信し、当該アドバタイズパケットから端末装置IDを取得し、端末装置リストを生成する。ステップS11では、中継器23は、生成した端末装置リストをサーバ30に送信する。なお、中継器23は、ステップS10及びステップS11の処理を上記所定の時間間隔で繰り返し実行する。
【0038】
サーバ30は、中継器23から端末装置リストを受信すると、ステップS12で割当て処理を実行する。割当て処理については、
図5~
図7を参照して後述する。ステップS13では、サーバ30は、中継器23が通信接続する接続対象の端末装置の識別情報及び接続順情報を中継器23に送信する。以下の説明では、中継器23の接続対象の端末装置が、端末装置9,3,8,1,14であり、中継器23が、端末装置9,3,8,1,14の順序で、これらの端末装置に通信接続するものとする。
【0039】
中継器23は、サーバ30から接続対象の端末装置の識別情報及び接続順情報を受信すると、ステップS14で中継器23は、これらの情報に基づき、第1番目の接続先である端末装置9に通信接続し、端末装置9に検知データの要求を送信する。端末装置9は、中継器23から検知データの要求を受信すると、ステップS15で、端末装置9が保持している1以上の検知データを中継器23に送信し、送信済の検知データを削除する。
【0040】
中継器23は、端末装置9から検知データを受信すると、ステップS16で当該検知データをサーバ30に送信する。サーバ30は、中継器23から端末装置9の検知データを受信すると、ステップS17で割当てテーブル内の端末装置9の検知データのアップロード(UL)時刻を更新する。ステップS18では、サーバ30は、端末装置9の検知データを保存する。
【0041】
次いで、中継器23は、ステップS19で、第2番目の接続先である端末装置3に通信接続し、端末装置3に検知データの要求を送信する。端末装置3は、中継器23から検知データの要求を受信すると、ステップS20で、端末装置3が保持している1以上の検知データを中継器23に送信し、送信済の検知データを削除する。
【0042】
中継器23は、端末装置3から検知データを受信すると、ステップS21で当該検知データをサーバ30に送信する。サーバ30は、中継器23から端末装置3の検知データを受信すると、ステップS22で割当てテーブル内の端末装置3の検知データのアップロード時刻を更新する。ステップS23では、サーバ30は、端末装置3の検知データを保存する。
【0043】
同様に、中継器23は、端末装置8,1,14に順に通信接続して検知データを取得し、当該検知データをサーバ30に提供する。サーバ30は、端末装置8,1,14の検知データのアップロード時刻を更新し、これらの検知データを保存する。
【0044】
図5~
図7は、サーバ30が実行する割当て処理の一例を示すフローチャートである。サーバ30は、中継器21,22,23のいずれかから端末装置リストを受信した場合に割当て処理を実行する。
【0045】
ステップS101では、サーバ30の決定部303が、割当てテーブル内のアップロード時刻が昇順となるよう、データテーブル更新部302を介して、割当てテーブルをソートする。ステップS102では、決定部303は、割当てテーブルを参照し、受信された端末装置リストに含まれる端末装置IDのうち、アップロード時刻が最も古い端末装置IDを選択する。ステップS103では、決定部303は、端末装置の接続順番を示す変数iを1で初期化する。
【0046】
ステップS104では、決定部303は、割当てテーブルを参照し、選択された端末装置IDにいずれかの中継器IDが関連付けられているか否か判断する。これにより、決定部303は、選択された端末装置IDが示す端末装置に中継器が割り当てられているか否か判断する。選択された端末装置IDにいずれの中継器IDも関連付けられていない場合(NO)、すなわち、選択された端末装置IDが示す端末装置にいずれの中継器も割り当てられていない場合、ステップS107に処理が分岐する。
【0047】
ステップS104において、選択された端末装置IDに中継器IDが関連付けられていると判定された場合(YES)、ステップS105で決定部303は、変数iが、当該中継器IDに関連付けられている接続順番よりも小さいか否か判定する。変数iが当該接続順番以上である場合(NO)、ステップS106に処理が分岐する。ステップS106では、決定部303は、選択された端末装置IDに関連付けられている中継器IDと、端末装置リストを送信した中継器の中継器IDが同一であり、かつ、変数iと、選択された端末装置IDに関連付けられている接続順番が同一であるか否か判定する。中継器IDが同一であり、かつ、変数iと接続順番が同一である場合(YES)、ステップS109に処理が分岐する。それ以外の場合(NO)、ステップS110に処理が分岐する。
【0048】
ステップS105において、変数iが接続順番より小さいと判定された場合(YES)、ステップS107で決定部303は、データテーブル更新部302を介して、端末装置リストを送信した中継器の中継器IDと、変数iが示す値とを、選択された端末装置IDに関連付けて割当てテーブルに登録する。
【0049】
これにより、サーバ30は、端末装置リストを送信した中継器を、選択された端末装置IDが示す端末装置に割り当てると共に、当該中継器が当該端末装置に通信接続する順番を指定する。換言すれば、サーバ30は、受信した最新の端末装置リストに含まれる端末装置の識別情報に関連付けられている接続順番を繰り上げることが可能な場合、当該接続順番を繰り上げる。
【0050】
ステップS108では、決定部303は、データテーブル更新部302を介して、ステップS107において中継器ID及び変数iの値が登録されたことに起因して変更されるべき接続順番を変更して、割当てテーブルを更新する。ステップS109では、サーバ30は、変数iをインクリメントする。
【0051】
ステップS110では、決定部303は、受信された端末装置リストに含まれる全ての端末装置IDが選択されたか否か判定する。受信された端末装置リストに含まれる全ての端末装置IDが選択された場合(YES)、割当て処理が終了する。
【0052】
一方、受信された端末装置リストに含まれる全ての端末装置IDが選択されていない場合(NO)、ステップS111で決定部303は、割当てテーブルを参照し、受信された端末装置リストに含まれる未選択の端末装置IDのうち、アップロード時刻が最も古い端末装置IDを選択し、ステップS104に処理が戻る。このようにして、サーバ30は、受信された端末装置リストに含まれる全ての端末装置IDについて割当て処理を実行する。
【0053】
図9は、割当て処理による割当てテーブルの変化の様子を示す図である。
図9に示す割当てテーブルは、アップロード時刻が省略されているが、アップロード時刻が昇順になるようにソートされている。
図9に示す例では、サーバ30が、中継器23(中継器ID:HUB03)から、端末装置1,2,3,7,8,9,11,14の端末装置ID(ST1,ST2,ST3,ST7,ST8,ST9,ST11,ST14)を含む端末装置リストを受信したものとする。
【0054】
サーバ30は、端末装置リストに含まれる端末装置IDのうち、アップロード時刻が古いものから順に、すなわち、ST7,ST9,ST2,ST3,ST8,ST1,ST11,ST14の順に端末装置IDを選択する。
【0055】
初めに、サーバ30は、端末装置ID(ST7)を選択する。第1の状態の割当てテーブル内の端末装置ID(ST7)には、中継器ID(HUB02)及び接続順番(1)が関連付けられている。変数iの初期値(1)と当該接続順番(1)が同じであるため、サーバ30は、割当てテーブルを更新しない。
【0056】
次に、サーバ30は、端末装置ID(ST9)を選択する。第1の状態の割当てテーブル内の端末装置ID(ST9)には、中継器ID(HUB02)及び接続順番(2)が関連付けられている。変数iの初期値(1)は、当該接続順番(2)よりも小さい。そのため、サーバ30は、中継器23の中継器ID(HUB03)及び変数iの初期値(1)を、端末装置ID(ST9)に関連付けて登録し、割当てテーブルを第1の状態から第2の状態に更新する。この場合、第1の状態の割当てテーブル内の太字の四角で囲まれた接続順番が、中継器ID(HUB03)及び変数iの値(1)が登録されたことに起因して変更されるべき接続順番に該当する。また、サーバ30は、変数iをインクリメントする。
【0057】
次に、サーバ30は、端末装置ID(ST2)を選択する。第2の状態の割当てテーブル内の端末装置ID(ST2)には、中継器ID(HUB02)及び接続順番(2)が関連付けられている。インクリメントされた変数i(2)と当該接続順番(2)が同じであるため、サーバ30は、割当てテーブルを更新しない。
【0058】
次に、サーバ30は、端末装置ID(ST3)を選択する。第2の状態の割当てテーブル内の端末装置ID(ST3)には、中継器ID(HUB01)及び接続順番(4)が関連付けられている。インクリメントされた変数i(2)は、当該接続順番(4)よりも小さい。そのため、サーバ30は、中継器23の中継器ID(HUB03)及びインクリメントされた変数i(2)を、端末装置ID(ST3)に関連付けて登録し、割当てテーブルを第2の状態から第3の状態に更新する。この場合、第2の状態の割当てテーブル内の太字の四角で囲まれた接続順番が、中継器ID(HUB03)及び変数iの値(2)が登録されたことに起因して変更されるべき接続順番に該当する。また、サーバ30は、変数iをインクリメントする。
【0059】
次に、サーバ30は、端末装置ID(ST8)を選択する。第3の状態の割当てテーブル内の端末装置ID(ST8)には、中継器ID及び接続順番が関連付けられていない。そのため、サーバ30は、中継器23の中継器ID(HUB03)及びインクリメントされた変数i(3)を、端末装置ID(ST8)に関連付けて登録し、割当てテーブルを第3の状態から第4の状態に更新する。この場合、第3の状態の割当てテーブル内の太字の四角で囲まれた接続順番が、中継器ID(HUB03)及び変数iの値(3)が登録されたことに起因して変更されるべき接続順番に該当する。また、サーバ30は、変数iをインクリメントする。
【0060】
次に、サーバ30は、端末装置ID(ST1)を選択する。第4の状態の割当てテーブル内の端末装置ID(ST1)には、中継器ID(HUB03)及び接続順番(4)が関連付けられている。端末装置を送信した中継器の中継器ID(HUB03)と、登録されている中継器ID(HUB03)が同一であり、かつ、インクリメントされた変数i(4)と当該接続順番(4)が同一であるため、サーバ30は、割当てテーブルを更新せず、変数iをインクリメントする。
【0061】
次に、サーバ30は、端末装置ID(ST11)を選択する。第4の状態の割当てテーブル内の端末装置ID(ST11)には、中継器ID(HUB01)及び接続順番(5)が関連付けられている。インクリメントされた変数i(5)と当該接続順番(5)が同じであるため、サーバ30は、割当てテーブルを更新しない。
【0062】
最後に、サーバ30は、端末装置ID(ST14)を選択する。第4の状態の割当てテーブル内の端末装置ID(ST14)には、中継器ID(HUB03)及び接続順番(5)が関連付けられている。インクリメントされた変数i(5)と当該接続順番(5)が同じであるため、サーバ30は、割当てテーブルを更新せず、割当て処理が終了する。
【0063】
図10は、割当て処理が実行された後の割当てテーブルを示す。
図10に示すように、情報処理システム100内において、アップロード時刻が古い検知データを生成した端末装置から優先的に検知データが取得されるように、各端末装置1~14の識別情報に対して、中継器の識別情報及び接続順番が関連付けられる。また、中継器21~23について接続対象の端末装置が重複しないように、各端末装置1~14の識別情報に中継器の識別情報が関連付けられる。
【0064】
上述した実施形態では、サーバ30は、情報処理システム100内の各端末装置の検知データのアップロード時刻と、各端末装置の識別情報とに基づき、情報処理システム100内において、アップロード時刻が古い検知データを生成した端末装置から優先的に検知データが取得されるように、中継器21~23について、接続対象の端末装置及び接続順番を決定する。このとき、サーバ30は、中継器21~23について、接続対象の端末装置が重複しないように通信接続対象の端末装置を決定する。次いで、サーバ30は、中継器21~23に対して、当該中継器の接続対象の端末装置の識別情報及び接続順番を示す接続順情報を送信する。中継器21~23は、サーバ30から接続対象の端末装置の識別情報及び接続順情報を受信すると、接続順情報が示す順番に従って接続対象の端末装置に通信接続して、検知データを取得する。
【0065】
これにより、情報処理システム100内において、アップロード時刻が古い検知データを生成した端末装置から優先的に検知データが取得される。そのため、端末装置のいずれかが、複数の中継器の通信エリアが重複した空間に存在する場合でも、当該端末装置から検知データを取得した直後に、別の中継器が、当該端末装置から検知データを取得することがなく、無駄なセッションが生じることがない。従って、サーバ30は、情報処理システム100内の各端末装置から効率的に検知データを取得することができる。
【0066】
また、上述した実施形態では、サーバ30は、中継器21~23のいずれか1つから端末装置リストを受信すると、中継器21~23のそれぞれについて、接続対象の端末装置及び接続順番を決定し、中継器21~23のそれぞれに対して、当該中継器の接続対象の端末装置の識別情報及び接続順情報を送信する。
【0067】
これにより、最新の端末装置リストを送信した中継器だけでなく、それ以外の中継器に対しても接続対象の端末装置の識別情報及び接続順情報が送信される。その結果、情報処理システム100に含まれる全ての中継器の間で、接続対象の端末装置の識別情報及び接続順情報の整合性を担保することができる。
【0068】
さらに、上述した実施形態では、サーバ30は、受信した最新の端末装置リストに含まれる端末装置の識別情報が示す端末装置のうち、中継器21~23のいずれも割り当てられていない端末装置を、最新の端末装置リストを送信した中継器の接続対象の端末装置として決定する。
【0069】
これにより、中継器21~23の通信エリアから外れることにより、中継器21~23のいずれも割り当てられていない端末装置が、再び、中継器21~23のいずれかの通信エリア内に入った場合、当該端末装置と通信可能な中継器が、当該端末装置に割り当てられる。これにより、サーバ30は、新たに割り当てられた中継器を介して、当該端末装置から検知データを取得することができる。
【0070】
さらに、上述した実施形態では、サーバ30は、割当てテーブルを参照し、受信した最新の端末装置リストに含まれる端末装置の識別情報に関連付けられている接続順番を繰り上げることが可能な場合、接続順番を繰り上げることが可能な当該端末装置を、最新の端末装置リストを送信した中継器の接続対象の端末装置として決定し、繰り上げられた接続順番を、当該中継器の接続対象の端末装置の接続順番として決定する。
【0071】
これにより、アップロード時刻の古い検知データを生成した端末装置の接続順番が繰り上げられるため、当該端末装置から優先的に検知データが取得される。
【0072】
さらに、上述した実施形態では、割当てテーブルにおいて、接続順番が繰り上げられた端末装置の識別情報に、最新の端末装置リストを送信した第1の中継器以外の第2の中継器の識別情報が関連付けられていた場合、サーバ30は、接続順番の繰り上げに起因して、第2の中継器の識別情報に関連付けられている接続順番を繰り上げることができるとき、繰り上げられた接続順番を、当該第2の中継器の接続対象の端末装置の接続順番として決定する。
【0073】
これにより、第2の中継器の接続対象の端末装置の接続順番が繰り上げられるため、最新の端末装置リストを送信していない第2の中継器が、接続順番が繰り上げられた接続対象の端末装置から検知データを取得するタイミングを早めることができる。
【0074】
<第2の実施形態>
図11は、第2の実施形態に係る中継器の構成を示すブロック図である。第2の実施形態では、中継器21~23の制御部200は、記憶装置230からプログラムである端末情報提供部201、接続情報更新部202、及び検知データ取得部203を読み出し、これらのプログラムを実行する。以下、
図11を参照して、中継器21の構成について説明する。なお、中継器22,23は、中継器21と同一の構成を有する。
【0075】
端末情報提供部201は、中継器21と通信可能な端末装置の識別情報を含む端末装置リストを定期的に生成し、生成した端末装置リストをサーバ30に送信する。接続情報更新部202は、サーバ30から受信した接続対象の端末装置の識別情報及び接続順情報を中継器21の記憶装置230に保存して更新する。検知データ取得部203は、接続対象の端末装置の識別情報及び接続順情報に基づき、接続対象の端末装置に通信接続し、当該端末装置から検知データを取得して、検知データをサーバ30に送信する。
【0076】
図12は、第2の実施形態に係る情報処理システム100において実行される処理のシーケンスの一例を示す図である。以下、中継器23が端末装置IDを取得した場合に実行される処理の一例について説明する。
【0077】
ステップS30では、中継器23の端末情報提供部201が、端末装置からアドバタイズパケットを受信し、当該アドバタイズパケットから端末装置IDを取得し、端末装置リストを生成する。ステップS31では、端末情報提供部201は、生成した端末装置リストをサーバ30に送信する。なお、端末情報提供部201は、ステップS30及びステップS31の処理を上記所定の時間間隔で繰り返し実行する。
【0078】
サーバ30は、中継器23から端末装置リストを受信すると、ステップS32で割当て処理を実行する。ステップS33では、サーバ30は、中継器23が通信接続する接続対象の端末装置の識別情報及び接続順情報を中継器23に送信する。以下の説明では、中継器23の接続対象の端末装置が、端末装置9,3,8,1,14であり、中継器23が、端末装置9,3,8,1,14の順序で、これらの端末装置に通信接続するものとする。
【0079】
中継器23は、サーバ30から接続対象の端末装置の識別情報及び接続順情報を受信すると、ステップS34で接続情報更新部202が、接続対象の端末装置の識別情報及び接続順情報を記憶装置230に保存し、これらの情報を更新する。ステップS35では、検知データ取得部203が、記憶装置230に保存されている接続対象の端末装置の識別情報及び接続順情報に基づき、第1番目の接続先である端末装置9に通信接続し、端末装置9に検知データの要求を送信する。端末装置9は、中継器23から検知データの要求を受信すると、ステップS36で、端末装置9が保持している1以上の検知データを中継器23に送信し、送信済の検知データを削除する。
【0080】
中継器23は、端末装置9から検知データを受信すると、ステップS37で検知データ取得部203が、当該検知データをサーバ30に送信する。サーバ30は、中継器23から端末装置9の検知データを受信すると、ステップS38で割当てテーブル内の端末装置9の検知データのアップロード時刻を更新する。ステップS39では、サーバ30は、端末装置9の検知データを保存する。
【0081】
同様に、中継器23は、端末装置3,8,1,14に順に通信接続して検知データを取得し、当該検知データをサーバ30に提供する。サーバ30は、端末装置3,8,1,14の検知データのアップロード時刻を更新し、これらの検知データを保存する。
【0082】
<第3の実施形態>
第3の実施形態では、サーバ30は、割当て処理のステップS105において、変数iが、最新の端末装置リストを送信した中継器の中継器IDに関連付けられている接続順番よりも小さいと判定した場合、さらに、当該接続順番が既定値N以下であるか否か判定することができる。当該接続順番が既定値Nよりも大きい場合、サーバ30は、端末装置リストを送信した中継器の中継器IDと、変数iが示す値とを、選択された端末装置IDに関連付けて割当てテーブルに登録する。
【0083】
一方、当該接続順番が既定値N以下である場合、サーバ30は、選択された端末装置IDに関連付けられている中継器ID及び接続順番を変更しない。換言すると、サーバ30は、受信した最新の端末装置リストに含まれる端末装置の識別情報に関連付けられている接続順番を繰り上げることが可能な場合でも、当該接続順番が既定値N以下であるときは、接続順番が既定値N以下の端末装置に通信接続する中継器と、当該端末装置の接続順番を変更しない。
【0084】
既定値Nは、整数であり、中継器21~23がサーバ30の送信した接続対象の端末装置の識別情報及び接続順情報を受信するのに要する時間に基づいて定めることができる。また、既定値Nは、当該時間と、サーバ30が中継器21~23の送信した端末装置リストを受信するのに要する時間とに基づいて定めることができる。これらの時間には、それぞれ遅延時間が含まれる。
【0085】
サーバ30が新たな接続対象の端末装置の識別情報及び接続順情報を送信した場合に、中継器21~23の一部において、新たな接続対象の端末装置の識別情報及び接続順情報の受信が遅延することが起こり得る。この場合、更新前の接続対象の端末装置の識別情報及び接続順情報に基づいて端末装置に通信接続する中継器と、新たな接続対象の端末装置の識別情報及び接続順情報に基づいて端末装置に通信接続する中継器が混在することになる。そのため、複数の中継器が、同一の端末装置に同時期に通信接続する可能性がある。
【0086】
第3の実施形態では、例えば、既定値Nが「2」である場合、サーバ30は、接続順番「1」又は「2」が割り当てられている端末装置の接続順番を変更しない。そのため、中継器21のみにおいて、新たな接続対象の端末装置の識別情報及び接続順情報の受信が遅延している場合、中継器21が、古い接続対象の端末装置の識別情報及び接続順情報に基づいて、接続順番「1」又は「2」が割り当てられている端末装置に通信接続したときでも、他の中継器22,23が当該端末装置に通信接続することがない。そして、中継器21は、接続順番「3」が割り当てられている端末装置に通信接続する前に、新たな接続対象の端末装置の識別情報及び接続順情報を受信することができる。
【0087】
従って、第3の実施形態では、中継器21~23の一部において、サーバ30の送信した接続対象の端末装置の識別情報及び接続順情報の受信が遅延した場合でも、中継器21~23が、同一の端末装置に同時期に通信接続するのを防止できる。
【0088】
上述の例において、プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに提供することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えば、フレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば、光磁気ディスク)、CD-ROM、CD-R、CD-R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM)を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに提供されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。コンピュータには、PC(Personal Computer)、サーバ、CPU、MPU、FPGA(Field-Programmable Gate Array)、ASIC(Application Specific Integrated Circuit)等の種々の装置が含まれる。
【0089】
本発明は、上述した実施形態に限られたものではなく、本発明の趣旨を逸脱しない範囲で適宜変更することが可能である。
【符号の説明】
【0090】
100 情報処理システム
1~14 端末装置
21~23 中継器
30 サーバ
40 ネットワーク
200 制御部
201 端末情報提供部
202 接続情報更新部
203 検知データ取得部
210 通信インタフェース
220 通信インタフェース
230 記憶装置
300 制御部
301 通信制御部
302 データテーブル更新部
303 決定部
310 通信インタフェース
320 記憶装置