以下、本実施の形態について図面を参照しながら説明する。なお、機能が同じ構成要素及び処理には全図面を通して同じ符合を付与し、重複する説明を省略する。
<第1実施形態>
図1は、本実施の形態に係る画像形成システム100の一例を示す構成図である。図1に示すように、画像形成システム100は、複数の画像形成装置10と、通信機器20と、サーバ30を備える。各々の画像形成装置10とサーバ30は通信回線2によって接続され、各々の画像形成装置10と通信機器20は無線回線4によって接続される。
画像形成装置10は、紙等の記録媒体の画像、及び電子データ化された画像に対して、ユーザから要求された処理を実行し、処理結果を記録媒体上の画像又は電子化された画像データとして出力する装置である。具体的には、画像形成装置10は、指定されたファイルの内容を記録媒体に形成する画像形成機能、原稿に記載された内容を光学的に読み取り画像データに変換するスキャン機能、読み取った原稿の内容を記録媒体に画像として形成するコピー機能、及び公衆回線を介して画像データを送受信するファクシミリ機能といった画像の処理に関する複数の機能のうち少なくとも1つの機能を備える。
ここで「画像」とは、人に何らかの情報を通知する「像」を総称したものである。画像には、文字、図形、記号、図面、写真、絵、及び映像等が含まれる。
画像形成装置10はユーザの操作を受け付けて要求された処理を実行することから、ユーザが通行する通路に沿って配置される。また、コピー機能等は多くのユーザが日常的に使用する機能であるため、例えば1つの部屋に複数の画像形成装置10が設置されることがある。このように画像形成装置10は、ユーザにとって身近に存在する装置であるため、画像の処理に関する機能の他、ユーザに関する情報を収集する拠点としての利用も考えられる。したがって、画像形成装置10には、ユーザが携帯する通信機器20が送信する位置情報を受信し、受信した位置情報をサーバ30に転送するデータの中継機能が備えられている。
図1には、一例として画像形成装置10A、画像形成装置10B、及び画像形成装置10Cの3台の画像形成装置10が例示されているが、画像形成システム100に含まれる画像形成装置10の台数は2台以上であればよい。
本実施の形態では、複数の画像形成装置10を区別して説明する場合には、画像形成装置10の後ろにアルファベットの符号を付加して表記する。各々の画像形成装置10を区別せずにまとめて説明する場合には、「画像形成装置10」のようにアルファベットの符号を付加せずに表記する。
複数の画像形成装置10のうち、1台の画像形成装置10が「親機」に設定され、残りの画像形成装置10は「子機」に設定される。図1では画像形成装置10Aが親機に設定され、画像形成装置10B、10Cが子機に設定されている。上述したデータの中継機能は親機となる画像形成装置10Aに備えられている。
更に、画像形成装置10は、時刻を取得する時計機能、及び指定された時刻に自身の時刻を合わせる時刻同期機能を備え、画像形成装置10A、10B、10Cは時刻同期機能によって、通信回線2に接続された図示しない時刻サーバが提供する時刻にそれぞれ同期している。
通信機器20は、無線回線4を経由して画像形成装置10に位置情報を含むデータを送信する電子機器であり、「IoT(Internet of Things)機器」又は「デバイス」とも呼ばれる。無線回線4には、例えば無線LAN(Local Area Network)、又はブルートゥース(登録商標)等が用いられる。
通信機器20は、少なくとも位置情報を取得する位置情報取得機能、及び取得した通信機器20の位置情報を含むデータを、無線回線4を経由して画像形成装置10に送信する送信機能を有する携帯型の電子機器であれば、どのような種別の電子機器であってもよい。
具体的には、通信機器20は、例えばタブレット型装置、スマートフォン、及び腕時計型情報機器や眼鏡型情報機器といったウェアラブル装置のようにユーザに携帯され、ユーザと共に利用場所が変化する情報機器であればよい。
画像形成システム100には少なくとも1台以上の通信機器20が含まれるが、ここでは説明を分かりやすくするため、画像形成システム100に含まれる1台の通信機器20に注目して説明を行うことにする。
通信機器20は同報送信(「ブロードキャスト送信」とも言われる)によって画像形成装置10に位置情報を送信する。「位置情報」とは通信機器20が存在する位置を表す情報であり、例えば緯度及び経度を用いて位置を表すGPS(Global Positioning System)データが用いられる。しかしながら、例えば通信機器20から送信されたデータを画像形成装置10に中継する無線回線4の基地局の位置等、通信機器20の位置を予め定めた範囲の単位で特定することができる値を位置情報に用いてもよい。
通信機器20が位置情報を送信する間隔に制約はないが、位置情報の送信間隔が短くなるに従って、ユーザの位置が詳細に通知される。位置情報の送信間隔は、通信機器20の設定によって変更される。
通信機器20は位置情報を同報送信するため、位置情報の送信エリア内に複数の画像形成装置10が含まれる場合、複数の画像形成装置10で、同じ通信機器20から同じ時刻に同じ位置情報を受信することがある。
この状態で各々の画像形成装置10がそれぞれ受信した位置情報をサーバ30に転送した場合、サーバ30には重複する位置情報が転送されることになる。したがって、位置情報を受信した画像形成装置10は、自装置以外の他の画像形成装置10と連携して、各々の画像形成装置10で管理する位置情報が他の画像形成装置10で管理される位置情報と重複しないように位置情報を管理する。具体的には、親機となる画像形成装置10Aで、子機となる画像形成装置10B、10Cが親機と重複する位置情報を受信したか否かを判定し、サーバ30に転送する位置情報に重複する位置情報が含まれないよう制御する。
サーバ30は、画像形成装置10の親機(画像形成装置10A)から通信機器20が送信した位置情報を受信する。サーバ30は、受信した位置情報を用いて、ユーザの匿名性を確保した上で、通信機器20を携帯するユーザの移動経路、すなわち「動線」を分析する。ユーザの動線は、例えば移動距離の短縮化に伴う作業効率の改善、及びユーザの行動パターンを分析する資料に用いられる。位置情報からユーザの動線を取得するサーバ30は外部装置の一例である。
画像形成装置10とサーバ30を接続する通信回線2は有線回線であっても無線回線であってもよく、また、特定の装置だけが接続される専用回線であっても、不特定多数の装置が接続される公衆回線であってもよい。
図2は、画像形成装置10の親機におけるデータの中継機能に関する機能構成例を示す図である。上述したように、画像形成装置10の親機にはデータの中継機能の他、画像の処理に関する機能も含まれるが、以降ではデータの中継機能に注目して画像形成装置10の説明を行うため、図2では画像の処理に関する機能構成例は省略している。
図2に示すように画像形成装置10の親機は、受信部12、制御部14、及び送信部16の各機能部と、位置情報テーブル18を含む。
受信部12は通信機器20を検知し、検知した通信機器20と接続を行うと共に、接続した通信機器20から送信される位置情報を受信する。通信機器20から送信される位置情報には、通信機器20を一意に表す識別情報(デバイスID)が対応付けられている。デバイスIDには、例えば通信機器20に割り当てられたIPアドレス、MACアドレス、及び通信機器20の製造番号が用いられる。
受信部12は通信機器20から位置情報を受信すると、受信した位置情報の各々に受信した時刻を対応付けて、デバイスIDと共に制御部14に通知する。
また、受信部12は、画像形成システム100に含まれる他の画像形成装置10、すなわち子機(画像形成装置10B、10C)から、子機が受信した位置情報を通信機器20毎に受け付ける。子機から受け付ける位置情報には、位置情報を送信した通信機器20のデバイスID、位置情報を親機に送信した子機を一意に表す識別情報(装置ID)、及び子機が通信機器20から位置情報を受信した際に位置情報に付加した受信時刻が対応付けられている。装置IDも、デバイスIDと同じく、例えば子機に割り当てられたIPアドレス、MACアドレス、及び画像形成装置10の製造番号が用いられる。
子機は、予め定めた時間間隔毎に、当該時間間隔において通信機器20から受信した位置情報をまとめて送信する。この予め定めた時間間隔を「タイムフレーム」といい、画像形成システム100に含まれる各々の画像形成装置10で同じ値が用いられる。タイムフレームの長さは、画像形成装置10の設定により変更される。
受信部12は、子機から位置情報を受け付けると、位置情報を送信した通信機器20のデバイスID、及び親機に位置情報を転送した子機の装置IDと共に、受信時刻が対応付けられた位置情報を制御部14に通知する。子機から受信時刻が対応付けられた位置情報を通信機器20毎に受け付ける受信部12は、本実施の形態に係る受付部の一例でもある。
制御部14は、通信機器20から受信した位置情報、及び子機から送信された位置情報を受け付けると、受け付けた位置情報を位置情報テーブル18で管理する。
位置情報テーブル18には、自装置が通信機器20から受信した位置情報を管理する自装置テーブル18Aと、子機から送信された位置情報を管理する子機テーブル18Bが存在する。各々の子機には親機及び他の子機から位置情報の転送が行われないため、位置情報テーブル18には子機テーブル18Bは含まれず、自装置テーブル18Aだけが含まれる。すなわち、親機の位置情報テーブル18にのみ、自装置テーブル18Aと子機テーブル18Bが含まれる。
図3は、位置情報テーブル18に含まれる自装置テーブル18Aの一例を示す図である。図3に示すように、自装置テーブル18Aでは、例えばタイムフレーム毎に、位置情報を送信した通信機器20のデバイスID、通信機器20の位置情報、及び位置情報の受信時刻が行方向に対応付けられて管理される。以降では、位置情報テーブル18で行方向に対応付けられたデバイスID、位置情報、及び受信時刻を含むデータの各々を「位置情報データ」ということがある。
図3の位置情報欄において、例えば“N”に続く数値は北緯を表し、“E”に続く数値は東経を表す。また、受信時刻欄における時刻は“YYYYMMDDHHNNSS.rrr”形式の絶対時刻で表される。“YYYY”は西暦、“MM”は月、“DD”は日、“HH”は時間、“NN”は分、“SS”は秒、及び“rrr”はミリ秒を表す。また、各項目におけるアルファベットの数は桁数を表す。
図4は、位置情報テーブル18に含まれる子機テーブル18Bの一例を示す図である。図4に示すように、子機テーブル18Bでは、例えばタイムフレーム毎に位置情報を転送する子機の装置ID、子機で位置情報を受信した通信機器20のデバイスID、通信機器20の位置情報、及び位置情報の受信時刻が行方向に対応付けられて管理される。
制御部14は、例えばタイムフレームが経過する毎に、経過したタイムフレームにおいて受信時刻が重複しないように位置情報テーブル18から抽出した位置情報を含む送信リスト22を作成して、作成した送信リスト22を送信部16に通知する。
送信部16は、制御部14から送信リスト22を受け付けると、受け付けた送信リスト22をサーバ30に転送する。
図2に示す中継機能を備えた画像形成装置10は、例えばコンピュータ40を用いて構成される。
図5は、画像形成装置10における電気系統の要部構成例を示す図である。
コンピュータ40は、図2に示した本実施の形態に係る画像形成装置10の各機能部を担うCPU(Central Processing Unit)41、プログラムを記憶するROM(Read Only Memory)42、CPU41の一時的な作業領域として使用されるRAM(Random Access Memory)43、不揮発性メモリ44、及び入出力インターフェース(I/O)45を備える。そして、CPU41、ROM42、RAM43、不揮発性メモリ44、及びI/O45がバス46を介して各々接続されている。
不揮発性メモリ44は、不揮発性メモリ44に供給される電力が遮断されても、記憶した情報が維持される記憶装置の一例であり、例えば半導体メモリが用いられるが、ハードディスクを用いてもよい。
I/O45には、例えば通信ユニット11、操作ユニット13、画像形成ユニット15、スキャンユニット17、及びファクシミリユニット19が接続される。
通信ユニット11は通信回線2と接続し、他の画像形成装置10及びサーバ30とそれぞれ通信を行う通信プロトコルを備えると共に、無線回線4と接続し、通信機器20と通信を行う通信プロトコルを備える。
操作ユニット13はユーザに画像形成装置10とのインターフェースを提供するユニットであり、入力ユニット13A及び表示ユニット13Bを含む。
入力ユニット13Aは、ユーザからの指示を受け付けてCPU41に通知する入力装置であり、例えばボタン及びタッチパネル等が用いられる。CPU41はユーザから指示された機能を実行する。
表示ユニット13Bは、CPU41によって処理された情報を画像として表示する表示装置であり、例えば液晶ディスプレイ、又は有機EL(Electro Luminescence)ディスプレイ等が用いられる。
上述したように、画像形成装置10には中継機能の他、画像形成機能、スキャン機能、コピー機能、及びファクシミリ機能の少なくとも1つが備えられている。各々の機能は、画像形成ユニット15、スキャンユニット17、及びファクシミリユニット19によって実現される。
具体的には、画像形成ユニット15は、CPU41の指示に従って、受け付けた画像データを記録媒体に形成する装置である。画像形成ユニット15における画像形成方式はどのような方式であってもよく、例えば電子写真方式であっても、インクジェット方式であってもよい。画像形成ユニット15は、画像形成機能、コピー機能、及びファクシミリ機能の実行に伴い用いられる。
スキャンユニット17は、CPU41の指示に従って、例えば図示しないプラテンガラスに置かれた原稿の内容を光学的に読み取り、原稿の内容を画像データに変換する装置である。スキャンユニット17はスキャン機能の実行に伴い用いられる。
ファクシミリユニット19は図示しないファクシミリ回線を介して、ファクシミリ機能を有する他の装置との間で画像データを送受信する装置である。また、CPU41は、ファクシミリ回線から受信した画像データを、画像形成ユニット15を用いて記録媒体に画像として形成したり、予め指定された記憶装置に転送したりする。
なお、コピー機能は、CPU41がスキャンユニット17で得られた画像データを、画像形成ユニット15で記録媒体に形成させることによって実現される。
I/O45に接続されるユニットは図5に例示した各ユニットに限定されない。例えば、ユーザの声を認識する音声認識ユニット等をI/O45に接続してもよい。この場合、CPU41はユーザの指示を音声で受け付けてもよい。
次に、図6を参照して、画像形成装置10の親機の動作について説明する。
図6は、タイムフレームが経過する毎にCPU41によって実行される重複排除処理の流れの一例を示すフローチャートである。
位置情報テーブル18には、重複排除処理を実行する時点における直前のタイムフレームにおいて、自装置(この場合、親機)が通信機器20から受信した位置情報を記録した自装置テーブル18Aと、各々の子機から転送された位置情報を記録した子機テーブル18Bが作成されているものとする。すなわち、子機は、タイムフレームが経過する毎に、直前のタイムフレームで受信したすべての通信機器20の位置情報に、位置情報を送信した通信機器20のデバイスID、位置情報を親機に送信する子機の装置ID、及び位置情報の受信時刻を対応付けて親機に送信するものとする。直前のタイムフレームで通信機器20から位置情報を受信しなかった場合、子機は、親機に何も転送しないか、又は、位置情報を受信しなかったことを通知する。
自装置テーブル18A及び子機テーブル18Bを含む位置情報テーブル18は、例えば不揮発性メモリ44に記憶される。送信リスト22に含まれる位置情報データは、図6に示す重複排除処理を実行する前に毎回削除されるものとする。
また、重複排除処理を規定する画像形成プログラムは、例えば画像形成装置10のROM42に予め記憶されている。画像形成装置10のCPU41は、ROM42に記憶される画像形成プログラムを読み込み、重複排除処理を実行する。
まず、ステップS10において、CPU41は、子機テーブル18Bの装置IDを参照して、位置情報を転送した子機の中から何れか1つの子機を選択する。ステップS10で選択した装置IDで表される子機を「選択子機」という。
ステップS20において、CPU41は、選択子機から送信された位置情報の中から、何れか1つの位置情報を選択する。
ステップS30において、CPU41は、自装置テーブル18Aに含まれる位置情報の中に、ステップS20で選択した位置情報と重複する位置情報が存在するか否かを判定する。具体的には、CPU41は、ステップS20で選択した位置情報と対応付けられたデバイスIDが同じで、かつ、ステップS20で選択した位置情報と対応付けられた受信時刻が同じ場合に、位置情報が重複すると判定する。
各々の画像形成装置10は時刻同期機能によって同じ時刻が設定されているが、画像形成装置10で処理する処理量(負荷)の違いによって時刻の設定タイミングがずれ、例えば数ミリ秒程度の誤差が生じる場合がある。したがって、「受信時刻が同じ」とは、位置情報テーブル18に記録された受信時刻が一致する場合だけでなく、受信時刻の差分が同じ受信時刻を表すものとして扱う予め定めた範囲(誤差範囲)に含まれる場合も含まれる。受信時刻の誤差範囲は、画像形成装置10の実機による実験や画像形成装置10の設計仕様に基づくコンピュータシミュレーション等により予め求められ、例えば不揮発性メモリ44に予め記憶される。
重複する位置情報が存在しない場合には、ステップS40に移行する。
ステップS40において、CPU41は、ステップS20で選択した位置情報を含む位置情報データを送信リスト22に追加する。
一方、ステップS30の判定処理で重複する位置情報が存在すると判定された場合には、ステップS40の処理を実行せずにステップS50に移行する。すなわち、子機から送信された位置情報のうち、親機で受信した通信機器20の位置情報と重複する位置情報は送信リスト22に追加されない。
ステップS50において、CPU41は、選択子機から送信された位置情報の中に、未選択の位置情報が存在するか否かを判定する。未選択の位置情報が存在する場合にはステップS20に移行し、選択子機から送信された位置情報の中から、何れか1つの未選択の位置情報を選択する。
選択子機から送信された位置情報の中に、未選択の位置情報が存在しなくなるまでステップS20~S50の処理が繰り返し実行されることによって、選択子機から送信された位置情報のうち、親機で受信した位置情報と重複する位置情報を取り除いた位置情報だけが送信リスト22に追加されることになる。
一方、ステップS50の判定処理において、未選択の位置情報が存在しないと判定された場合にはステップS60に移行する。
ステップS60において、CPU41は、位置情報を送信した子機の中に、ステップS10で選択されていない未選択の子機が存在するか否かを判定する。未選択の子機が存在する場合にはステップS10に移行し、子機テーブル18Bの装置IDを参照して、子機テーブル18Bの中から何れか1つの未選択の子機を選択する。
子機テーブル18Bの中に未選択の子機が存在しなくなるまでステップS10~S60の処理が繰り返し実行されることによって、各々の子機が受信した位置情報のうち、親機で受信した位置情報と重複する位置情報を取り除いた位置情報だけが送信リスト22に追加されることになる。
ステップS70において、CPU41は、直前のタイムフレームで作成された自装置テーブル18Aに記録されている位置情報データを送信リスト22に追加する。これにより、直前のタイムフレームにおいて各々の画像形成装置10が受信した通信機器20のすべての位置情報が、重複することなく送信リスト22に登録されることになる。
ステップS80において、CPU41は、ステップS70で作成した送信リスト22をサーバ30に転送して、図6に示す重複排除処理を終了する。
例えば、直前のタイムフレームにおける自装置テーブル18Aが図3で表され、子機テーブル18Bが図4で表されている場合、装置IDが“Print2”で表される子機の位置情報は、自装置テーブル18Aの位置情報と重複している。しかし、装置IDが“Print3”で表される子機の位置情報は、自装置テーブル18Aの位置情報と重複していない。
したがって、図6に示す重複排除処理を実行した場合、図7に示すように、送信リスト22には図3の自装置テーブル18Aに記録されている位置情報データと、図4の子機テーブル18Bのうち、装置IDが“Print3”で表される子機の位置情報データが登録される。
<第2実施形態>
第1実施形態に係る画像形成システム100の画像形成装置10の子機は、通信機器20から受信したすべての位置情報をタイムフレーム毎に親機に送信する。子機が親機に送信する位置情報の中には、親機が通信機器20から受信した位置情報と重複する位置情報も含まれる。重複する位置情報は親機によって排除され、サーバ30には転送されないため、本来は子機が親機に転送しなくてもよい位置情報であると言える。
第2実施形態では、親機が通信機器20から受信した位置情報と重複しない位置情報だけを子機が親機に送信する画像形成システム100Aについて説明する。
画像形成システム100Aは、図1に示した第1実施形態における画像形成システム100の構成例と同じ構成を備える。
図8は、第2実施形態に係る画像形成装置10の親機におけるデータの中継機能に関する機能構成例を示す図である。
図8に示した機能構成図が、図2に示した第1実施形態に係る画像形成装置10の親機における機能構成例と異なる点は、制御部14が制御部14Aに置き換えられた点であり、その他の機能部の処理は同じである。
制御部14Aは、受信部12で通信機器20から受信した位置情報を受け付けると、受け付けた位置情報を位置情報テーブル18の自装置テーブル18Aで管理する。その上で、制御部14Aは、位置情報を受信した通信機器20毎に受信した位置情報の受信時刻がわかる情報を送信部16に通知し、送信部16が当該情報を画像形成システム100Aに含まれる各々の子機に通知する。親機で受信した位置情報の受信時刻を子機に通知する送信部16は、本実施の形態に係る通知部の一例でもある。
通知を受けた各々の子機では、通知された位置情報と重複しない位置情報を通信機器20毎に親機へ送信する。
制御部14Aは、通知に対して各々の子機から送信された位置情報を受信部12から受け付けると、子機から送信された位置情報を子機テーブル18Bで管理する。
制御部14Aは、例えばタイムフレームが経過する毎に、直前のタイムフレームで作成された位置情報テーブル18から抽出した位置情報を含む送信リスト22を作成して、作成した送信リスト22を送信部16に通知し、送信リスト22をサーバ30に転送する。
なお、画像形成システム100Aにおける画像形成装置10も、図5に示したコンピュータ40を用いて構成される。
次に、図9を参照して、第2実施形態に係る画像形成装置10の親機の動作について説明する。
図9は、タイムフレームが経過する毎にCPU41によって実行される重複排除処理の流れの一例を示すフローチャートである。
位置情報テーブル18には、重複排除処理を実行する時点における直前のタイムフレームにおいて、親機が通信機器20から受信した位置情報を記録した自装置テーブル18Aが作成されているものとする。
自装置テーブル18A及び子機テーブル18Bを含む位置情報テーブル18は、例えば不揮発性メモリ44に記憶される。送信リスト22及び受信リスト24の内容は、図9に示す重複排除処理を実行する前に毎回削除されるものとする。
ステップS100において、CPU41は、自装置テーブル18Aを参照して、各々の通信機器20から受信した各位置情報に対応付けられた受信時刻の範囲を通信機器20毎に表した受信リスト24を作成する。
例えば自装置テーブル18Aの内容が図3で表される場合、CPU41は、デバイスIDが“Dev1”で表される通信機器20から受信した位置情報の受信時刻の範囲を確定する。図3で表される自装置テーブル18Aによれば、2018年6月28日10時18分50秒から2018年6月28日10時18分53秒にかけて位置情報を受信していることがわかる。したがって、CPU41は、図10に示すような受信リスト24を作成する。
受信リスト24は、位置情報を送信した通信機器20を特定するデバイスIDと、通信機器20から位置情報を受信した時刻範囲が対応付けられた情報である。位置情報を受信した時刻範囲は時刻範囲の開始時刻と終了時刻によって表され、図3の自装置テーブル18Aの例に従えば、開始時刻には“2018年6月28日10時18分50秒”、終了時刻には“2018年6月28日10時18分53秒”がそれぞれ設定される。
なお、図10に示した受信リスト24にはデバイスIDが1つしか設定されていないが、タイムフレームの間に複数の通信機器20から位置情報を受信した場合には、時刻範囲と共に複数のデバイスIDが設定される。
ステップS110において、CPU41は、ステップS100で作成した受信リスト24を、画像形成システム100Aに含まれる各々の子機に送信する。
受信リスト24を受信した子機からは、後述する応答処理によって親機に応答リスト26が送信される。
応答リスト26は、同じタイムフレームの間に子機が通信機器20から受信した位置情報のうち、受信リスト24で通知されたデバイスID以外のデバイスIDで表される通信機器20から受信した位置情報、及び受信リスト24で通知されたデバイスIDで表される通信機器20から、受信リスト24で通知された受信時刻の範囲と異なる時刻に受信した位置情報を通信機器20毎に通知する情報である。応答リスト26に含まれる位置情報には、位置情報を送信した通信機器20のデバイスID、及び位置情報の受信時刻が対応付けられている。親機で受信した位置情報と重複していない位置情報を含む応答リスト26の送信を子機に指示する受信リスト24は、本実施の形態に係る送信指示の一例である。
すなわち、親機が受信した位置情報と重複していない位置情報が応答リスト26によって親機に通知される。なお、親機で受信した位置情報と重複していない位置情報が存在しない場合、一例として子機は、何れの位置情報も含まれない応答リスト26(空の応答リスト26)を親機に送信するものとする。
したがって、ステップS120において、CPU41は、何れかの子機から応答リスト26を受け付けたか否かを判定する。応答リスト26を受け付けていない場合にはステップS120の処理を繰り返し実行して、応答リスト26の受け付けを監視する。一方、応答リスト26を受け付けた場合には、応答リスト26を送信した子機の装置IDと共に、応答リスト26に含まれる位置情報を含む位置情報データを、子機テーブル18Bに登録してステップS130に移行する。
ステップS130において、CPU41は、ステップS120で受信した応答リスト26に位置情報が含まれるか否かを判定する。位置情報が含まれる場合にはステップS140に移行する。
上述したように、応答リスト26には親機が受信した位置情報と重複していない位置情報が含まれる。したがって、ステップS140において、CPU41は、ステップS120で受信した応答リスト26に含まれる位置情報を含む位置情報データを、送信リスト22に追加する。
一方、ステップS130の判定処理において、応答リスト26に位置情報が含まれないと判定された場合には、ステップS140の処理を実行せずにステップS150に移行する。
ステップS150において、CPU41は、画像形成システム100Aに含まれるすべての子機から応答リスト26を受け付けたか否かを判定する。応答リスト26を送信していない子機が存在する場合にはステップS120に移行し、応答リスト26の受け付けを監視する。すべての子機から応答リスト26を受け付けるまでステップS120~S150の処理が繰り返し実行されることによって、同じタイムフレームの間に各々の子機が通信機器20から受信した位置情報であって、かつ、親機が受信した位置情報と重複していない位置情報が、通信機器20毎に送信リスト22へ追加される。
画像形成システム100Aに含まれるすべての子機から応答リスト26を受け付けた場合には、ステップS160に移行する。
ステップS160において、CPU41は、直前のタイムフレームで作成された自装置テーブル18Aに記録されている位置情報データを送信リスト22に追加する。これにより、直前のタイムフレームにおいて各々の画像形成装置10が受信した通信機器20のすべての位置情報が、重複することなく送信リスト22に登録されることになる。
ステップS170において、CPU41は、ステップS160で作成した送信リスト22をサーバ30に転送して、図9に示す重複排除処理を終了する。
一方、図11は、親機から受信リスト24を受け付けた場合に、子機のCPU41によって実行される応答処理の流れの一例を示すフローチャートである。
位置情報テーブル18には、応答処理を実行する時点における直前のタイムフレームにおいて、子機が通信機器20から受信した位置情報を記録した自装置テーブル18Aが作成されているものとする。応答リスト26の内容は、図11に示す応答処理を実行する前に毎回削除されるものとする。
ステップS200において、CPU41は、親機から受け付けた受信リスト24に含まれるデバイスIDのうち、何れか1つのデバイスIDを選択する。
ステップS210において、CPU41は、自装置テーブル18Aを参照して、ステップS200で選択したデバイスIDと対応付けられたすべての位置情報を取得する。CPU41は、受信リスト24においてステップS200で選択したデバイスIDと対応付けられた時刻範囲を参照して、取得した位置情報のうち、取得した位置情報と対応付けられている受信時刻が、参照した時刻範囲に含まれていない位置情報を抽出する。すなわち、CPU41は、ステップS200で選択したデバイスIDで表される通信機器20について、親機が受信した位置情報と重複していない位置情報を自装置テーブル18Aから抽出する。
ステップS220において、CPU41は、ステップS210で抽出した位置情報を含む位置情報データを応答リスト26に追加する。当然のことながら、ステップS210で抽出された位置情報が存在しない場合には、位置情報データは応答リスト26に追加されない。
ステップS230において、CPU41は、受信リスト24に含まれるデバイスIDの中に、未選択のデバイスIDが存在するか否かを判定する。未選択のデバイスIDが存在する場合にはステップS200に移行し、受信リスト24の中から何れか1つの未選択のデバイスIDを選択する。
受信リスト24の中に、未選択のデバイスIDが存在しなくなるまでステップS200~S230の処理が繰り返し実行されることによって、受信リスト24によって親機から通知された各々の通信機器20について、親機と重複しない位置情報を含む位置情報データが応答リスト26に追加されることになる。
一方、ステップS230の判定処理において、未選択のデバイスIDが存在しないと判定された場合にはステップS240に移行する。
子機が通信機器20から受信した位置情報には、親機が受信していない通信機器20の位置情報も含まれることがある。
したがって、ステップS240において、CPU41は、受信リスト24に含まれていないデバイスIDを有する通信機器20から位置情報を受信しているか否かを判定する。具体的には、CPU41は、自装置テーブル18Aに記録されているデバイスIDのうち、受信リスト24に含まれていないデバイスIDが存在する場合には、親機が位置情報を受信していない通信機器20から位置情報を受信していると判定する。
親機が位置情報を受信していない通信機器20から位置情報を受信している場合にはステップS250に移行する。
ステップS250において、CPU41は自装置テーブル18Aを参照して、受信リスト24に含まれていないデバイスIDと対応付けられているすべての位置情報を含む位置情報データを、応答リスト26に追加する。ステップS250で応答リスト26に追加した位置情報データの位置情報は、親機が受信した位置情報と重複しない位置情報であることは明らかである。
一方、親機が位置情報を受信していない通信機器20から受信した位置情報がない場合には、ステップS250の処理を実行せずにステップS260に移行する。
ステップS260において、CPU41は、応答リスト26を親機に転送して、図11に示す応答処理を終了する。
例えば、親機から各々の子機に送信された受信リスト24が図10で表され、子機である画像形成装置10Bの自装置テーブル18Aが図12(A)、子機である画像形成装置10Cの自装置テーブル18Aが図12(B)で表されているとする。
画像形成装置10Bが受信した位置情報は、受信リスト24で通知されたデバイスIDで表される通信機器20と同じ通信機器20から受信した位置情報で、かつ、その受信時刻は、受信リスト24で通知された時刻範囲に含まれる。したがって、画像形成装置10Bは、空の応答リスト26を親機に送信する。
一方、画像形成装置10Cが受信した位置情報は、受信リスト24で通知されたデバイスIDで表される通信機器20と同じ通信機器20から受信した位置情報ではあるが、その受信時刻は、受信リスト24で通知された時刻範囲に含まれない。したがって、画像形成装置10Cは、図12(B)の自装置テーブル18Aに含まれる各々の位置情報データを含む応答リスト26を親機に送信する(図13参照)。
各々の子機から応答リスト26を受け付けた親機は、親機の自装置テーブル18Aに含まれる各々の位置情報データ(図3参照)に、子機である画像形成装置10Cから受け付けた応答リスト26に含まれる位置情報データを追加した送信リスト22をサーバ30に転送する(図13参照)。
上述した重複排除処理では、1つのタイムフレームの間に受信した位置情報の受信時刻の範囲を通信機器20毎に受信リスト24に設定したが、受信時刻自体を受信リスト24に設定してもよい。
例えば親機の自装置テーブル18Aの内容が図3で表される場合、親機のCPU41は、図3に示される4つの位置情報の各々の受信時刻を、デバイスIDと対応付けて受信リスト24に設定してもよい。
位置情報の受信時刻の範囲ではなく、受信時刻自体を受信リスト24に設定する場合、1つのタイムフレームの間に受信した位置情報が多くなるに従って、受信リスト24のデータサイズが増加する。すなわち、タイムフレームの間に受信した位置情報が多くなるに従って、受信リスト24の作成及び送信に要する処理量が増加する。したがって、CPU41は、当初は位置情報の受信時刻を設定した受信リスト24を作成し、自らにおける情報の処理量の度合いを表す指標、例えばCPU41の負荷率が予め定めた閾値(CPU閾値)を超えた場合に、位置情報の受信時刻の範囲を設定した受信リスト24を作成するように、受信リスト24の設定内容を切り替えてもよい。CPU41は、CPU41の負荷率がCPU閾値以下になった場合には、再び位置情報の受信時刻を設定した受信リスト24を作成する。
CPU閾値は、これ以上CPU41の負荷率が上昇すると、中継機能以外の画像形成装置10の機能(例えば画像形成機能)の処理に影響を与えると認められる負荷率に設定される。CPU閾値は、画像形成装置10の実機による実験や画像形成装置10の設計仕様に基づくコンピュータシミュレーション等により予め求められ、例えば不揮発性メモリ44に予め記憶される。
なお、CPU41の負荷率が、例えば数秒~数十秒毎にCPU閾値を超えたり下回ったりする場合、これにあわせて受信リスト24の設定内容を変更する処理が行われてしまう。すなわち、本来の重複排除処理に伴う処理量ではなく、受信リスト24の設定内容の変更に伴う処理量、すなわちオーバーヘッドが増加することになる。したがって、CPU閾値にヒステリシス特性を持たせて、受信時刻の設定から受信時刻の範囲の設定に変えるCPU閾値と、受信時刻の範囲の設定から受信時刻の設定に戻すCPU閾値を変えてもよい。
<第2実施形態の変形例1>
第2実施形態では、画像形成システム100Aに含まれる1台の通信機器20に注目して説明を行ってきたが、本変形例では、複数の通信機器20が送信する位置情報の重複排除について説明する。ここでは説明を分かりやすくするため、2台の通信機器20から位置情報が送信される例について説明するが、3台以上の通信機器20が存在する場合であっても、後述する内容が適用される。
図14は、本変形例の説明に用いる画像形成システム100Aの一例を示す構成図である。図14に示すように、本変形例の説明に用いる画像形成システム100Aには、2つの通信機器20A、20Bが含まれる。各々の通信機器20A、20Bは、同じユーザ又は異なるユーザに携帯され、それぞれ位置情報を送信している。
以降では、各々の通信機器20A、20Bを区別せずにまとめて説明する場合には、「通信機器20」のように、通信機器20を区別するアルファベットの符号を付加せずに表記する。
図15は、親機である画像形成装置10Aが、特定のタイムフレームにおいて通信機器20から受信した位置情報が記録された自装置テーブル18Aの一例を示す図である。
図15において、デバイスID欄の“Dev1”は、通信機器20Aから受信した位置情報であることを表し、“Dev2”は、通信機器20Bから受信した位置情報であることを表している。
図16は、タイムフレームが経過する毎に、画像形成装置10の親機のCPU41によって実行される重複排除処理の流れの一例を示すフローチャートである。
図16に示すフローチャートが、図9に示した重複排除処理のフローチャートと異なる点は、ステップS100、S110の代わりにステップS102~S112が追加され、ステップS160がステップS160Aに置き換えられた点である。その他の処理は、図9のフローチャートと同じである。
まず、ステップS102において、CPU41は、タイムフレーム毎に重複する通信機器20が存在するか否かを判定する。ここで「重複する通信機器20」とは、タイムフレームにおいて同じ位置情報を送信した異なる通信機器20同士のことをいう。例えば1人のユーザが複数の通信機器20を携帯している場合には、同じ位置情報が送信されることがある。
なお、「位置情報が同じ」とは、位置情報が一致する場合の他、通信機器20同士の位置情報の差分、すなわち、通信機器20の距離が、例えばユーザが両腕を横に伸ばした場合の一般的な長さ以下に含まれる等、運用上、複数の通信機器20が同じ位置にあるものとして扱っても、ユーザの動線の分析に与える影響がないと考えられる予め定めた距離以下となる場合を含む。予め定めた距離は、画像形成システム100Aの実機による実験や画像形成システム100Aの設計仕様に基づくコンピュータシミュレーション等により予め求められ、例えば不揮発性メモリ44に予め記憶される。位置情報が同じになることを、「位置情報が重複する」ともいう。
重複する通信機器20は同じ時刻において同じ場所に存在することから、重複する通信機器20における位置情報の受信時刻が同じになる傾向が見られる。したがって、CPU41は、重複する通信機器20か否かを判定する場合、通信機器20の位置情報だけでなく位置情報の受信時刻も同じか否かを判定することによって、位置情報だけを比較する場合に比べて重複する通信機器20の判定精度が向上する。
ステップS102の判定処理において重複する通信機器20が存在すると判定された場合、ステップS104に移行する。
重複する通信機器20の場合、何れか1つの通信機器20の位置情報があればユーザの動線が分析されるため、重複する通信機器20の各々の位置情報をサーバ30に転送しなくてもよい。
したがって、ステップS104において、CPU41はステップS102で重複する通信機器20と判定された通信機器20のうち、位置情報をサーバ30に転送する1つの通信機器20(代表通信機器20)と、代表通信機器20以外の残りの通信機器20とに分類する。代表通信機器20以外の残りの通信機器20の位置情報はサーバ30に転送されないことから、以降では「排除通信機器20」ということにする。
代表通信機器20は、例えば親機における位置情報の送受信に関する統計量を用いて選択される。具体的には、例えば重複する通信機器20のうち、タイムフレームにおいて最も多くの位置情報が受信された通信機器20を代表通信機器20に設定してもよい。また、例えば重複する通信機器20のうち、1日や1週間といった予め定めた期間において、最も多くの位置情報が受信された通信機器20を代表通信機器20に設定してもよい。また、例えば重複する通信機器20のうち、1日や1週間といった予め定めた期間において、サーバ30に転送した位置情報が最も多い通信機器20を代表通信機器20に設定してもよい。また、例えば重複する通信機器20のうち、位置情報テーブル18で管理されている位置情報の数が最も多い通信機器20を代表通信機器20に設定してもよい。
代表通信機器20の選択に位置情報の送受信に関する統計量を用いることで、他の通信機器20よりも位置情報の送受信回数が多い通信機器20が選択されるため、他の通信機器20の位置情報を用いてユーザの動線を分析する場合と比較して、ユーザの動線が詳細に分析されることになる。
ステップS106において、CPU41は、ステップS104で設定した排除通信機器20のデバイスIDを含む排除通信機器リスト28を作成する。図17は排除通信機器リスト28の一例を示す図である。排除通信機器20が複数存在する場合には、排除デバイスID欄に排除通信機器20と対応付けられたデバイスIDが複数記載される。
ステップS108において、CPU41は、図9に示したステップS100の処理と同じように、自装置テーブル18Aを参照して、各々の通信機器20から受信した各位置情報に対応付けられた受信時刻の範囲を通信機器20毎に表した受信リスト24を作成する。
ステップS112において、CPU41は、ステップS106で作成した排除通信機器リスト28と、ステップS108で作成した受信リスト24を、画像形成システム100Aに含まれる各々の子機に送信する。
各々の子機から応答リスト26を受信すると、既に説明したステップS120~S150の処理によって、子機が受信した位置情報で、かつ、親機が受信した位置情報と重複していない位置情報が送信リスト22に追加され、ステップS160Aが実行される。
ステップS160Aにおいて、CPU41は、直前のタイムフレームで作成された自装置テーブル18Aに記録されている位置情報データのうち、排除通信機器20以外のすべての位置情報データを送信リスト22に追加する。これにより、直前のタイムフレームにおいて各々の画像形成装置10が受信した排除通信機器20以外の通信機器20におけるすべての位置情報が、重複することなく送信リスト22に登録されることになる。
以上により図16に示した重複排除処理を終了する。
なお、図16に示した重複排除処理では、例えばそれぞれ通信機器20を携帯したユーザ同士が予め定めた範囲まで近づいた場合、位置情報が重複したと判定されることがある。しかしながら、こうした状況において位置情報が重複したと判定された場合、それぞれの位置情報が異なるユーザの動線を表すにもかかわらず、何れか1人のユーザが携帯する通信機器20の位置情報しかサーバ30に転送されないことになる。
したがって、図16のステップS102の判定処理において、例えば位置情報が時系列に沿って予め定めた回数だけ連続して他の通信機器20の位置情報と重複する場合に、重複する通信機器20であると判定してもよい。
一方、図18は、親機から排除通信機器リスト28及び受信リスト24を受け付けた場合に、子機のCPU41によって実行される応答処理の流れの一例を示すフローチャートである。
図18に示すフローチャートが、図11に示した応答処理のフローチャートと異なる点は、ステップS250がステップS250Aに置き換えられた点である。その他の処理は、図11のフローチャートと同じである。
子機のCPU41は、ステップS200~S230で、受信リスト24に含まれるデバイスIDで表される通信機器20について、親機が受信した位置情報と重複していない位置情報を応答リスト26に追加した後、ステップS240で、受信リスト24に含まれていないデバイスIDを有する通信機器20から位置情報を受信していると判定された場合、ステップS250Aを実行する。
ステップS250Aにおいて、CPU41は自装置テーブル18Aを参照して、受信リスト24に含まれていないデバイスIDから、排除通信機器リスト28に含まれるデバイスIDを排除した残りのデバイスIDの各々と対応付けられている位置情報を含む位置情報データを、応答リスト26に追加する。
これにより、同じ通信機器20における重複する位置情報だけでなく、重複する通信機器20における位置情報も排除された応答リスト26が、ステップS260で親機に送信される。
例えば親機である画像形成装置10Aの自装置テーブル18Aが図15で表され、デバイスIDが“Dev1”で表される通信機器20が代表通信機器20に設定された場合、親機は、図10に示した受信リスト24と、図17に示した排除通信機器リスト28を、子機である画像形成装置10B及び画像形成装置10Cに送信する。
一方、例えば画像形成装置10Bの自装置テーブル18Aが図19(A)、画像形成装置10Cの自装置テーブル18Aが図19(B)で表されているとする。
この場合、画像形成装置10Bでは、受信リスト24で通知されたデバイスID(Dev1)で表される通信機器20と同じ通信機器20から受信した位置情報の受信時刻は、受信リスト24で通知された時刻範囲に含まれる。また、排除通信機器リスト28によって、デバイスIDが“Dev2”で表される通信機器20は排除通信機器20に設定されている。したがって、画像形成装置10Bは、空の応答リスト26を親機に送信する。
一方、画像形成装置10Cが受信した位置情報は、受信リスト24で通知されたデバイスID(Dev1)で表される通信機器20と同じ通信機器20から受信した位置情報ではあるが、その受信時刻は、受信リスト24で通知された時刻範囲に含まれない。また、デバイスIDが“Dev1”で表される通信機器20は排除通信機器20でもない。したがって、画像形成装置10Cは図13に示したように、図19(B)の自装置テーブル18Aに含まれる各々の位置情報データを含む応答リスト26を親機に送信する。
なお、第1実施形態に係る画像形成システム100においても、画像形成装置10の親機は、子機の各々に排除通信機器リスト28を送信するようにしてもよい。この場合、排除通信機器リスト28を受け付けた子機は、自装置テーブル18Aのうち、排除通信機器リスト28で通知された排除通信機器20を除く通信機器20の位置情報を含む位置情報データを、タイムフレーム毎に親機に送信する。
<第2実施形態の変形例2>
第2実施形態に係る画像形成システム100Aでは、画像形成装置10の親機が、親機と重複しない子機の位置情報を取りまとめ、サーバ30に転送するようにした。しかしながら、各々の子機は、親機から受け付けた受信リスト24及び排除通信機器リスト28の内容から、親機が通信機器20から受信した位置情報と重複する位置情報と、排除通信機器20として設定された通信機器20をそれぞれ把握している。したがって、各々の子機は、同じ通信機器20における重複する位置情報だけでなく、重複する通信機器20における位置情報も排除された応答リスト26を、親機ではなくサーバ30に転送したとしても、他の画像形成装置10と重複する位置情報がサーバ30に転送されることはない。
図20は、タイムフレームが経過する毎に、画像形成装置10の親機のCPU41によって実行される、本変形例に係る重複排除処理の流れの一例を示すフローチャートである。
図20に示すフローチャートが、図16に示した第2実施形態の変形例1における重複排除処理のフローチャートと異なる点は、ステップS108とステップS112の間にステップS109及びS111が追加され、ステップS120~S150が削除された点である。その他の処理は、図16のフローチャートと同じである。
ステップS102~S108で受信リスト24及び排除通信機器リスト28を作成した後、ステップS109において、CPU41は、CPU41の負荷率がCPU閾値を越えるか否かを判定する。なお、ステップS109でCPU41の負荷率と比較するCPU閾値は、受信リスト24に位置情報の受信時刻の範囲を設定するか、又は受信時刻自体を設定するかを決定する際に用いたCPU閾値と同じ閾値を用いても、異なる閾値を用いてもどちらでもよい。
CPU41の負荷率がCPU閾値を超える場合には、ステップS111に移行する。
この場合、各々の子機から応答リスト26を受け付けて、親機で各々の子機が受信した通信機器20の位置情報を取りまとめてサーバ30に転送すると、更にCPU41の負荷率が増加することが考えられる。
したがって、ステップS111において、CPU41は、排除通信機器20以外の通信機器20から受信した位置情報で、かつ、親機が通信機器20から受信した位置情報と重複しない位置情報を各々の子機で管理し、親機を経由せずに子機からサーバ30に転送するように指示する管理指示を例えば受信リスト24に付加する。
これにより、管理指示が付加された受信リスト24を受け付けた子機のCPU41は、図18のステップS260において、作成した応答リスト26を親機に送信せずにサーバ30に転送する。
一方、ステップS109の判定処理でCPU41の負荷率がCPU閾値以下と判定された場合には、ステップS111の処理を実行せずにステップS112に移行する。この場合、受信リスト24に管理指示が付加されないため、受信リスト24を受け付けた子機のCPU41は、図18のステップS260において、作成した応答リスト26を親機に送信する従来の処理を行う。
ステップS170において、親機のCPU41は、自身の自装置テーブル18Aを参照して、タイムフレームにおいて排除通信機器20以外の通信機器20から受信したすべての位置情報が含まれる送信リスト22をサーバ30に転送する。
以上により図20に示す重複排除処理を終了する。
上述した実施形態では、ユーザの動線の分析を目的とするものであるため、1人のユーザが複数の通信機器20を携帯している場合には、複数の通信機器20のうち、代表通信機器20の位置情報だけをサーバ30に転送した。
しかしながら、ユーザが携帯している通信機器20の種別が異なり、各々の通信機器20における位置情報を含めた各種情報もサーバ30で収集する場合、画像形成装置10の親機は、代表通信機器20の位置情報を含む各種情報だけをサーバ30に転送するのではなく、重複するすべての通信機器20の位置情報を含む各種情報をサーバ30に転送する。
例えば1人のユーザが、それぞれ位置情報を送信するスマートフォンと腕時計型ウェアラブル装置を携帯している場合について説明する。
スマートフォンは、例えばユーザが歩いた歩数を計測し、腕時計型ウェアラブル装置は、例えばユーザの手首に取り付けられ、ユーザの脈拍を計測し、サーバ30は位置情報と共に、ユーザが歩いた歩数とユーザの脈拍を収集するものとする。
そして、スマートフォンは、位置情報と共に、通信機器20の種別がスマートフォンであることを表す種別ID、及び通知データとしてのユーザの歩数を同報送信する。また、腕時計型ウェアラブル装置は、位置情報と共に、通信機器20の種別が腕時計型ウェアラブル装置であることを表す種別ID、及び通知データとしてのユーザの脈拍を同報送信する。
この場合、画像形成装置10の親機は、スマートフォンと腕時計型ウェアラブル装置の位置情報が重複したとしても、各々の位置情報に対応付けられた種別IDが異なるため、重複する通信機器20ではないと判定する。したがって、親機は、スマートフォンと腕時計型ウェアラブル装置の何れか一方を排除通信機器20に設定した排除通信機器リスト28を作成しない。親機は各々の位置情報に、位置情報の受信時刻、種別ID、及び通知データを対応付けて自装置テーブル18Aで管理する。
すなわち、スマートフォン及び腕時計型ウェアラブル装置の両方の位置情報が、位置情報の受信時刻、種別ID、及び通知データと共にサーバ30に転送されることになる。
各実施の形態では、画像形成装置10が受信した位置情報に受信時刻を設定したが、通信機器20が位置情報に送信時刻を対応付けて画像形成装置10に送信するようにしてもよい。この場合、通信機器20にも時刻同期機能が備えられ、画像形成システム100、100Aにおける画像形成装置10、通信機器20、及びサーバ30の時刻はそれぞれ同期しているものとする。
また、各実施の形態では、親機となる画像形成装置10が1台の場合について説明したが、親機となる画像形成装置10を2台以上設定してもよい。この場合、各々の親機に対して、重複しないように分割した子機のグループをそれぞれ割り当て、1つの子機のグループと、当該子機のグループに割り当てられた1台の親機との間で、各実施の形態で説明した重複排除処理及び応答処理を実行すればよい。親機を複数設定することで、画像形成システム100、100Aにおける画像形成装置10の親機が1台の場合と比較して、親機の負荷率が低下することになる。
更に、各実施の形態では、画像形成装置10がサーバ30に通信機器20の位置情報を転送する例について説明したが、画像形成装置10は通信機器20の位置情報を転送せずに、タイムフレーム毎に作成した送信リスト22を管理してもよい。この場合、例えばサーバ30が親機によって管理される送信リスト22を読み出して、位置情報の分析を実行すればよい。親機が子機に管理指示を通知して、重複しない位置情報を子機に管理させている場合には、サーバ30は親機で管理されている送信リスト22、及び子機で管理されている応答リスト26をそれぞれ読み出して、位置情報の分析を実行すればよい。
以上、各実施の形態を用いて本発明について説明したが、本発明は各実施の形態に記載の範囲には限定されない。本発明の要旨を逸脱しない範囲で各実施の形態に多様な変更又は改良を加えることができ、当該変更又は改良を加えた形態も本発明の技術的範囲に含まれる。例えば、本発明の要旨を逸脱しない範囲で処理の順序を変更してもよい。
また、本実施の形態では、一例として重複排除処理及び応答処理をソフトウエアで実現する形態について説明したが、図6、図9、図11、図16、図18、及び図20に示したフローチャートと同等の処理を、例えばASIC(Application Specific Integrated Circuit)に実装し、ハードウエアで処理させるようにしてもよい。この場合、重複排除処理及び応答処理をソフトウエアで実現した場合と比較して、処理の高速化が図られる。
また、上述した各実施の形態では、画像形成プログラムがROM42にインストールされている形態を説明したが、これに限定されるものではない。本発明に係る画像形成プログラムは、コンピュータで読み取り可能な記憶媒体に記録された形態で提供することも可能である。例えば、本発明に係る画像形成プログラムを、CD(Compact Disc)-ROM、又はDVD(Digital Versatile Disc)-ROM等の光ディスクに記録した形態で提供してもよい。また、本発明に係る画像形成プログラムを、USB(Universal Serial Bus)メモリ及びフラッシュメモリ等の半導体メモリに記録した形態で提供してもよい。更に、画像形成装置10は、通信回線2に接続される図示しない装置から本発明に係る画像形成プログラムを取得するようにしてもよい。