以下、通信費のコストパフォーマンスが優れたデータ通信システム及びデータ通信方法の実施形態について、図面を用いて説明する。なお、この実施形態は、保守対象の装置として1台のPOS端末を使用している店舗がリモート保守システムを活用する場合を例示する。
図1は、リモート保守システムとして活用されるデータ通信システム1の概略構成図である。データ通信システム1は、保守会社Mのサーバ10と、店舗SのPOS端末20と、無線通信端末30とを含む。
サーバ10は、インターネット等の広域の公衆ネットワーク40に接続されている。公衆ネットワーク40にはアクセスポイント41が接続されている。アクセスポイント41は、商業施設、公共交通機関、宿泊施設等の公共の場所に設けられている。アクセスポイント41は、例えば店舗管理者の自宅に設けられていてもよい。サーバ10は、公衆ネットワーク40のアクセスポイント41を介して無線通信領域A1内の無線通信端末30と無線LAN(Local Area Network)によるデータ通信を可能とする。無線LANは、例えば標準規格IEEE802.11を利用したWi−Fi(登録商標)である。
POS端末20は、店舗S内に敷設された有線LAN50に接続されている。有線LAN50にはアクセスポイント51が接続されている。アクセスポイント51は、店舗内に設けられている。POS端末20は、LAN50のアクセスポイント51を介して無線通信領域A2内の無線通信端末30と無線LANによるデータ通信を可能とする。無線LANは、例えば標準規格IEEE802.11を利用したWi−Fi(登録商標)である。
サーバ10は、POS端末20の保守サービスを実行する。POS端末20は、サーバ10によって管理される保守対象の端末である。無線通信端末30は、店長等の店舗管理者によって所有される。したがって無線通信端末30は、店舗管理者が無線通信領域A1と無線通信領域A2との間を行き来することによって、無線通信領域A1と無線通信領域A2との間を移動する移動端末となる。無線通信端末30としては、例えば専用のアプリケーションプログラムがインストールされたスマートフォン、タブレット端末等の携帯型無線通信機器を用いることができる。
データ通信システム1は、保守会社Mのサーバ10と、店舗SのPOS端末20とを、公衆無線ネットワーク60で接続している。したがって、サーバ10とPOS端末20とは、公衆無線ネットワーク60の基地局61を介して直接、データ通信を行うことができる。公衆無線ネットワーク60としては、データ転送速度が低速で一度に通信できるデータ量に制約があるものの、省電力で広域をカバーでき、通信費のコストパフォーマンスが高いネットワークが採用される。
なお、図1では、公衆ネットワーク40のアクセスポイント41を1つしか示していない。しかし実際には、商業施設、公共交通機関、宿泊施設等の公共の場所も含め、多数のアクセスポイント41が公衆ネットワーク40に接続されている。また、図1では、店舗Sを1店舗しか示していない。しかし、データ通信システム1は、典型的には複数の店舗Sと保守会社Mとの間で構成される。勿論、1つの店舗Sと保守会社Mとの間だけでデータ通信システム1が構成されてもよい。
次に、サーバ10、POS端末20及び無線通信端末30の要部回路構成について、図2乃至図4のブロック図を用いて説明する。なお、各ブロック図において、キーボード、タッチパネル、スキャナ、ディスプレイ、リーダライタ等のデバイス機器については、図示とその説明を省略している。
図2は、サーバ10の要部回路構成を示すブロック図である。図2に示すようにサーバ10は、プロセッサ11、記憶部12、時計部13、暗号化部14、第1通信ユニット15、第2通信ユニット16及びシステムバス17を備える。そしてサーバ10は、システムバス17に、プロセッサ11、記憶部12、時計部13、暗号化部14、第1通信ユニット15及び第2通信ユニット16を直接または信号入出力回路を介して接続する。かくしてサーバ10は、プロセッサ11、記憶部12、時計部13、暗号化部14、第1通信ユニット15及び第2通信ユニット16と、これらを接続するシステムバス17とによって、コンピュータを構成する。
プロセッサ11は、上記コンピュータの中枢部分に相当する。プロセッサ11は、オペレーティングシステムやアプリケーションプログラムに従って、サーバ10としての各種の機能を実現するべく各部を制御する。
記憶部12は、上記コンピュータの記憶部分に相当する。記憶部12は、不揮発性のメモリ領域と揮発性のメモリ領域とを含む。記憶部12は、不揮発性のメモリ領域ではオペレーティングシステムやアプリケーションプログラムを記憶する。記憶部12は、揮発性のメモリ領域では、プロセッサ11が各部を制御するための処理を実行する上で必要なデータを記憶する。これらのデータは、不揮発性のメモリ領域に記憶されていてもよい。記憶部12は、揮発性のメモリ領域の一部を、EEPROM(Electric Erasable Programmable Read-Only Memory)、HDD(Hard Disc Drive)、あるいはSSD(Solid State Drive)等の補助記憶デバイスで構成する場合もある。
時計部13は、サーバ10の時刻情報源として機能する。プロセッサ11は、時計部13によって計時される時刻情報を基に、現在の日付及び時刻を計時する。
暗号化部14は、プロセッサ11の制御下で暗号鍵を生成する。そして暗号化部14は、その暗号鍵で暗号化対象のデータの暗号化を行う。また暗号化部14は、暗号化されたデータの平文化も行う。
第1通信ユニット15は、送信機と受信機とを含み、公衆ネットワーク40を介して行うデータ通信を制御する。第2通信ユニット16は、送信機と受信機とを含み、公衆無線ネットワーク60を介して行うデータ通信を制御する。
記憶部12は、その記憶領域の一部を、動作プログラム領域121、管理ID保存領域122、保守プログラム保存領域123、配信データ保存領域124、受信データ保存領域125及び配信管理テーブル126として使用する。
動作プログラム領域121は、サーバ10としての動作を制御する種々のプログラムデータを記憶する領域である。管理ID保存領域122は、当該サーバ10に対して予め設定された固有の管理IDを記憶する領域である。また、保守対象であるPOS端末20に対して設定された固有の管理IDと、そのPOS端末20に対して割り当てられた少なくとも1つの無線通信端末30固有の管理IDも、管理ID保存領域122は記憶する。具体的には、POS端末20の管理IDと関連付けて、当該POS端末20が設置されている店舗の店舗管理者が所有する無線通信端末30の管理IDを記憶する。保守プログラム保存領域123は、POS端末20を保守するための種々のプログラムデータを記憶する領域である。配信データ保存領域124は、無線通信端末30を介してPOS端末20に配信するデータを一時的に記憶する領域である。受信データ保存領域125は、無線通信端末30を介してPOS端末20から受信したデータを一時的に記憶する領域である。配信管理テーブル126については、後述する。
図3は、POS端末20の要部回路構成を示すブロック図である。図3に示すようにPOS端末20は、プロセッサ21、記憶部22、時計部23、暗号化部24、第1通信ユニット25、第2通信ユニット26及びシステムバス27を備える。そしてPOS端末20は、システムバス27に、プロセッサ21、記憶部22、時計部23、暗号化部24、第1通信ユニット25及び第2通信ユニット26を直接または信号入出力回路を介して接続する。かくしてPOS端末20は、プロセッサ21、記憶部22、時計部23、暗号化部24、第1通信ユニット25及び第2通信ユニット26と、これらを接続するシステムバス27とによって、コンピュータを構成する。
プロセッサ21は、上記コンピュータの中枢部分に相当する。プロセッサ21は、オペレーティングシステムやアプリケーションプログラムに従って、POS端末20としての各種の機能を実現するべく各部を制御する。
記憶部22は、上記コンピュータの記憶部分に相当する。記憶部22は、不揮発性のメモリ領域と揮発性のメモリ領域とを含む。記憶部22は、不揮発性のメモリ領域ではオペレーティングシステムやアプリケーションプログラムを記憶する。記憶部22は、揮発性のメモリ領域では、プロセッサ21が各部を制御するための処理を実行する上で必要なデータを記憶する。これらのデータは、不揮発性のメモリ領域に記憶されていてもよい。記憶部22は、揮発性のメモリ領域の一部を、EEPROM、HDD、あるいはSSD等の補助記憶デバイスで構成する場合もある。
時計部23は、POS端末20の時刻情報源として機能する。プロセッサ21は、時計部23によって計時される時刻情報を基に、現在の日付及び時刻を計時する。
暗号化部24は、プロセッサ21の制御下で暗号鍵を生成する。そして暗号化部24は、その暗号鍵で暗号化対象のデータの暗号化を行う。また暗号化部24は、暗号化されたデータの平文化も行う。
第1通信ユニット25は、送信機と受信機とを含み、公衆ネットワーク40を介して行うデータ通信を制御する。第2通信ユニット26は、送信機と受信機とを含み、公衆無線ネットワーク60を介して行うデータ通信を制御する。
記憶部22は、その記憶領域の一部を、動作プログラム領域221、管理ID保存領域222、緊急情報保存領域223、解析データ保存領域224、配信データ保存領域225、受信データ保存領域226及び配信管理テーブル227として使用する。
動作プログラム領域221は、POS端末20としての動作を制御する種々のプログラムデータを記憶する領域である。管理ID保存領域222は、当該POS端末20に対して予め設定された固有の管理IDを記憶する領域である。また、当該POS端末20に割り当てられた少なくとも1つの無線通信端末30固有の管理IDも、管理ID保存領域222は記憶する。具体的には、POS端末20の管理IDと関連付けて、店舗管理者が所有する無線通信端末30の管理IDを記憶する。緊急情報保存領域223は、POS端末20において発生した障害等を示す緊急情報を記憶する領域である。解析データ保存領域224は、POS端末20で発生したログデータ等の解析用データを記憶する領域である。配信データ保存領域225は、無線通信端末30を介してサーバ10に配信するデータを一時的に記憶する領域である。受信データ保存領域226は、無線通信端末30を介してサーバ10から受信したデータを一時的に記憶する領域である。配信管理テーブル227については、後述する。
図4は、無線通信端末30の要部回路構成を示すブロック図である。図4に示すように無線通信端末30は、プロセッサ31、記憶部32、時計部33、無線ユニット34及びシステムバス35を備える。そして無線通信端末30は、システムバス35に、プロセッサ31、記憶部32、時計部33及び無線ユニット34を直接または信号入出力回路を介して接続する。かくして無線通信端末30は、プロセッサ31、記憶部32、時計部33及び無線ユニット34と、これらを接続するシステムバス35とによって、コンピュータを構成する。
プロセッサ31は、上記コンピュータの中枢部分に相当する。プロセッサ31は、オペレーティングシステムやアプリケーションプログラムに従って、無線通信端末30としての各種の機能を実現するべく各部を制御する。
記憶部32は、上記コンピュータの記憶部分に相当する。記憶部32は、不揮発性のメモリ領域と揮発性のメモリ領域とを含む。記憶部32は、不揮発性のメモリ領域ではオペレーティングシステムやアプリケーションプログラムを記憶する。記憶部32は、揮発性のメモリ領域では、プロセッサ31が各部を制御するための処理を実行する上で必要なデータを記憶する。これらのデータは、不揮発性のメモリ領域に記憶されていてもよい。記憶部32は、揮発性のメモリ領域の一部を、EEPROM、HDD、あるいはSSD等の補助記憶デバイスで構成する場合もある。
時計部33は、無線通信端末30の時刻情報源として機能する。プロセッサ31は、時計部33によって計時される時刻情報を基に、現在の日付及び時刻を計時する。
無線ユニット34は、送信機と受信機とを含み、アクセスポイント41又はアクセスポイント51を介して行う無線通信を制御する。
記憶部32は、その記憶領域の一部を、動作プログラム領域321、管理ID保存領域322、配信データ保存領域323及び配信管理テーブル324として使用する。
動作プログラム領域321は、無線通信端末30としての動作を制御する種々のプログラムデータを記憶する領域である。管理ID保存領域322は、当該無線通信端末30に対して予め設定された固有の管理IDを記憶する領域である。配信データ保存領域323は、アクセスポイント41を介してサーバ10から受信した配信データ又はアクセスポイント51を介してPOS端末20から受信した配信データを一時的に記憶する領域である。配信管理テーブル324については、後述する。
本実施形態は、データ通信システム1を、サーバ10がPOS端末20を保守対象とするリモート保守システムとして活用する場合である。リモート保守システムの場合、保守対象のPOS端末20は、ログデータ等の解析用データを、無線通信端末30を介して、定期的にサーバ10へと送信する。また、緊急を要する障害が発生した場合にもPOS端末20は、上記の解析用データを、無線通信端末30を介して、サーバ10へと送信する。したがってこの場合には、POS端末20が送信側装置となり、サーバ10が受信側装置となる。一方、POS端末20の解析用データを受信したサーバ10は、その解析用データを解析する。そしてサーバ10は、POS端末20の保守が必要であると認識すると、必要な保守プログラムを、無線通信端末30を介して、POS端末20へとダウンロードする。したがってこの場合には、サーバ10が送信側装置となり、POS端末20が受信側装置となる。
図5は、送信側装置の配信管理テーブルに記憶される配信管理レコード71のデータ構造を示す模式図である。すなわちPOS端末20が送信側装置として動作する場合には、配信管理レコード71が配信管理テーブル227に記憶される。一方、サーバ10が送信側装置として動作する場合には、配信管理レコード71が配信管理テーブル126に記憶される。図5に示すように、配信管理レコード71は、配信先管理ID、配信データファイル名、暗号鍵、配信セット日時、タイムアウト日時、配信結果、移動端末管理ID、移動端末配信日時、配信元移動端末管理ID、配信元移動端末配信日時、配信データ展開日時の各項目を含む。移動端末管理ID及び移動端末配信日時は、少なくとも1組を含む。図4では、2組を含んでいる場合を例示している。
図6は、無線通信端末30の配信管理テーブル324に記憶される配信管理レコード72のデータ構造を示す模式図である。図6に示すように、配信管理レコード72は、配信先管理ID、配信データファイル名、タイムアウト日時、配信結果、配信日時の各項目を含む。
図7は、受信側装置の配信管理テーブルに記憶される配信管理レコード73のデータ構造を示す模式図である。すなわちPOS端末20が受信側装置として動作する場合には、配信管理レコード73が配信管理テーブル227に記憶される。一方、サーバ10が受信側装置として動作する場合には、配信管理レコード73が配信管理テーブル126に記憶される。図7に示すように、配信管理レコード73は、配信元管理ID、配信データファイル名、緊急情報、暗号鍵、タイムアウト日時、配信結果、移動端末管理ID、配信日時、配信データ展開日時の各項目を含む。ただし、POS端末20が受信側装置として動作する場合には、緊急情報は省略される。
次に、データ通信システム1の動作について説明する。上述した各配信管理レコード71〜73の各項目については、以下の動作説明の中で明らかにする。始めに、POS端末20からサーバ10に解析用データを送信する場合、すなわちPOS端末20が送信側装置となり、サーバ10が受信側装置となる場合の動作について、図8乃至図13を用いて説明する。
因みに、図8及び図9は、POS端末20のプロセッサ21が、プログラムに基づいて実行する情報処理の要部手順を示す流れ図である。図10乃至図12は、無線通信端末30のプロセッサ31が、プログラムに基づいて実行する情報処理の要部手順を示す流れ図である。図13は、サーバ10のプロセッサ11が、プログラムに基づいて実行する情報処理の要部手順を示す流れ図である。なお、図8乃至図13に示すとともに以下に説明する処理の内容は一例である。同様な結果を得ることが可能であれば、その処理手順及び処理内容は特に限定されるものではない。
図8に示すように、POS端末20のプロセッサ21は、Act1として第2通信の有無を判定する。第2通信とは、第2通信ユニット26を介したデータ通信、すなわち公衆無線ネットワーク60を介して行うデータ通信を示す。第2通信無しの場合(Act1、NO)、プロセッサ21は、Act2として定期通信のタイミングであるか否かを判定する。前述したようにPOS端末20は、ログデータ等の解析用データを定期的にサーバ10へと送信する。したがってAct2では、プロセッサ21は、時計部13で計時される日時情報に基づき、解析用データの送信タイミングであるか否かを判定する。
定期通信のタイミングでない場合(Act2、NO)、プロセッサ21は、Act3として異常の有無を判定する。異常有りの場合、障害等を示す緊急情報が緊急情報保存領域223に保存される。プロセッサ21は、緊急情報保存領域223を調べ、緊急情報が保存されているか否かを判定する。緊急情報が保存されていない場合、すなわち異常無しの場合には(Act3、NO)、プロセッサ21は、Act4として内部のテーブル、つまりは配信管理テーブル227を検索する。そしてプロセッサ21は、Act5として配信結果が記録されていない配信管理レコード71が配信管理テーブル227に存在するか否かを判定する。配信結果が記録されていない配信管理レコード71が配信管理テーブル227に存在しない場合(Act5、NO)、プロセッサ21は、Act1に戻る。
配信結果が記録されていない配信管理レコード71が配信管理テーブル227に存在する場合には(Act5、YES)、プロセッサ21は、Act6としてその配信管理レコード71に対して配信データ展開日時が記述されているか否かを判定する。配信データ展開日時が記述されている場合(Act6、YES)、プロセッサ21は、Act7としてその配信管理レコード71に配信結果として正常を示す“OK”を記述する。その後、プロセッサ21は、Act1に戻る。なお、配信管理レコード71に対して配信データ展開日時が記述されるタイミングについては、後述する。
配信結果が記録されていない配信管理レコード71に配信データ展開日時も記録されていない場合には(Act6、NO)、プロセッサ21は、Act8としてその配信管理レコード71のタイムアウト日時を確認する。そしてプロセッサ21は、Act9として時計部23で計時されている現在日時がタイムアウト日時を経過しているか否かを判定する。現在日時がタイムアウト日時を経過していない場合(Act9、NO)、プロセッサ21は、Act1に戻る。
現在日時がタイムアウト日時を経過している場合には(Act9、YES)、プロセッサ21は、Act10としてその配信管理レコード71に配信結果としてエラーを示す“NG”を記述する。その後、プロセッサ21は、Act1に戻る。
プロセッサ21は、定期通信のタイミングである場合(Act2、YES)、あるいは緊急情報保存領域223に緊急情報が保存されており、異常有と判定した場合には(Act3、YES)、図9のAct21に進む。すなわちプロセッサ21は、Act21として、暗号化部24を制御して暗号鍵を生成する。暗号鍵が生成されると、プロセッサ21は、Act22としてその暗号鍵を用いて解析データ保存領域224に保存されている解析用データを暗号化するように暗号化部24を制御する。解析用データが暗号化されると、プロセッサ21は、Act23として暗号化された解析用データを配信データ保存領域225に保存する。
プロセッサ21は、Act24として配信通知を作成する。配信通知は、解析用データの配信先であるサーバ10に対して、解析用データが配信されることを事前に配信を通知するための情報である。配信通知には、管理ID保存領域222に記憶されているID、つまりは当該POS端末20の管理IDと、当該POS端末20に割り当てられた少なくとも1つの無線通信端末30の管理IDとが含まれる。
因みに、当該POS端末20には、店舗管理者、例えば店長が所有する無線通信端末30の管理IDが割り当てられている。店長と副店長の両名が店舗管理者である場合、その両名がそれぞれ所有する2台の無線通信端末30の管理IDが割り当てられていてもよい。
また配信通知には、緊急情報保存領域223に保存されている緊急情報と、Act21の処理で生成された暗号鍵と、配信データ保存領域225に保存された解析用データのファイル名とが含まれる。さらに配信通知には、時計部23で計時されている日時から所定時間経過後の日時がタイムアウト日時として含まれる。所定時間は、例えば24時間とする。
プロセッサ21は、Act25として送信側装置用の配信管理レコード71を作成する。このときプロセッサ21は、項目「配信先管理ID」としてサーバ10の管理IDを記述する。またプロセッサ21は、項目「配信データファイル名」として配信データ保存領域225に保存された解析用データのファイル名を記述する。またプロセッサ21は、項目「暗号鍵」として、Act21の処理で生成された暗号鍵を記述する。またプロセッサ21は、項目「配信セット日時」として、配信通知を作成した時点の時計部23の日時を記述する。またプロセッサ21は、項目「タイムアウト日時」として、配信通知に含まれるタイムアウト日時を記述する。またプロセッサ21は、項目「移動端末管理ID」として、配信通知に含まれる無線通信端末30の管理ID、つまりは当該POS端末20に割り当てられた無線通信端末30の管理IDを記述する。なお、当該POS端末20に割り当てられた無線通信端末30が1つだけの場合には、項目「移動端末1管理ID」だけ記述する。当該POS端末20に割り当てられた無線通信端末30が2つの場合には、項目「移動端末1管理ID」と項目「移動端末2管理ID」とに記述する。当該POS端末20に割り当てられた無線通信端末30が3つ以上の場合には、各々の管理IDを移動端末管理IDとして記述する。他の項目「配信結果」、「移動端末配信日時」、「配信元移動端末管理ID」、「配信元移動端末配信日時」及び「配信データ展開日時」はいずれも未記入である。
プロセッサ21は、Act26として、Act25の処理で作成した配信管理レコード71を配信管理テーブル227に保存する。またプロセッサ21は、Act27として、Act24の処理で作成した配信通知を、第2通信でサーバ10に送信するように、第2通信ユニット26を制御する。その後プロセッサ21は、Act1に戻る。
このように、POS端末20においては、定期的に或いは緊急を要する障害が発生した場合に、解析用データを暗号化した配信データが配信データ保存領域225に保存される。また配信通知が作成され、公衆無線ネットワーク60経由でサーバ10へと送信される。さらに、項目「配信結果」、「配信データ展開日時」等が記述されていない配信管理レコード71が作成され、配信管理テーブル227に保存される。
図13に示すように、サーバ10のプロセッサ11は、Act61として第2通信の有無を判定する。第2通信とは、第2通信ユニット16を介したデータ通信、すなわち公衆無線ネットワーク60を介して行うデータ通信を示す。第2通信無しの場合(Act61、NO)、プロセッサ11は、Act62として第1通信の有無を判定する。第1通信とは、第1通信ユニット15を介したデータ通信、すなわちアクセスポイント41を経由したデータ通信を示す。第1通信無しの場合(Act62、NO)、プロセッサ11は、Act61に戻る。
第2通信有の場合、すなわち公衆無線ネットワーク60を介してのデータ通信が行われた場合には(Act61、YES)、プロセッサ11は、Act71としてそのデータ通信によって配信通知を受信したか否かを判定する。配信通知を受信していない場合(Act71、NO)、プロセッサ11は、Act61に戻る。
POS端末20からの配信通知を受信した場合には(Act71、YES)、プロセッサ11は、Act72としてその配信通知に含まれるデータを基に、配信管理レコード73を作成する。前述したように配信通知には、POS端末20の管理IDと、当該POS端末20に割り当てられた少なくとも1つの無線通信端末30の管理IDとが含まれる。また、配信通知には、配信データファイル名、緊急情報、暗号鍵及びタイムアウト日時が含まれる。プロセッサ11は、POS端末20の管理IDを配信管理レコード73の項目「配信元管理ID」として記述する。またプロセッサ11は、配信データファイル名、緊急情報、暗号鍵及びタイムアウト日時を、それぞれ配信管理レコード73の同一項目として記述する。
プロセッサ11は、Act73として、Act72で作成した配信管理レコード73を配信管理テーブル126に保存する。その後、プロセッサ11は、Act61に戻る。
したがって、POS端末20から公衆無線ネットワーク60を介して送られてくる配信通知を受信したサーバ10においては、配信管理レコード73が作成され、配信管理テーブル126に保存される。
図10に示すように、無線通信端末30のプロセッサ31は、Act31としてアクセスポイントへの接続要求を行う。そしてプロセッサ31は、Act32としてPOS端末20に接続されているアクセスポイント51との接続が確立したか否かを確認する。アクセスポイント51との接続が確立していない場合(Act32、NO)、プロセッサ31は、Act33としてサーバ10に接続されているアクセスポイント41との接続が確立したか否かを確認する。アクセスポイント41との接続が確立していない場合(Act33、NO)、プロセッサ31は、Act34として内部のテーブル、つまりは配信管理テーブル324を検索する。そしてプロセッサ31は、Act35として配信結果が記録されていない配信管理レコード72が配信管理テーブル324に存在するか否かを判定する。配信結果が記録されていない配信管理レコード72が配信管理テーブル324に存在しない場合(Act35、NO)、プロセッサ31は、Act31に戻る。
配信結果が記録されていない配信管理レコード72が配信管理テーブル324に存在する場合には(Act35、YES)、プロセッサ31は、Act36として、その配信管理レコード72のタイムアウト日時を確認する。そしてプロセッサ31は、Act37として時計部33で計時されている現在日時がタイムアウト日時を経過しているか否かを判定する。現在日時がタイムアウト日時を経過していない場合(Act37、NO)、プロセッサ31は、Act31に戻る。
現在日時がタイムアウト日時を経過している場合には(Act37、YES)、プロセッサ31は、Act38としてその配信管理レコード72に配信結果としてエラーを示す“NG”を記述する。その後、プロセッサ31は、Act31に戻る。
したがって、無線通信端末30を所有する店舗管理者が、アクセスポイント41の無線通信領域A1又はアクセスポイント51の無線通信領域A2のいずれの領域からも外れている場合、プロセッサ31は、Act31乃至Act38の処理を繰り返し実行している。この状態で、店舗管理者がアクセスポイント51の無線通信領域A2内に入ると、当該店舗管理者が所有する無線通信端末30とアクセスポイント51との接続が確立する。また、店舗管理者がアクセスポイント41の無線通信領域A1内に入ると、当該店舗管理者が所有する無線通信端末30とアクセスポイント41との接続が確立する。
無線通信端末30において、アクセスポイント51との接続が確立した場合には(Act32、YES)、プロセッサ31は、図11のAct41に進む。すなわちプロセッサ31は、Act41として管理ID保存領域322に保存されているID、つまりは当該無線通信端末30の管理IDを取得する。管理IDを取得すると、プロセッサ31は、Act42としてアクセスポイント51を介して接続されたPOS端末20の配信管理テーブル227を検索する。そしてプロセッサ31は、Act43として、Act41の処理で取得した管理IDを移動端末管理IDとする配信管理レコード71の有無を判定する。該当する配信管理レコード71が存在しない場合(Act43、NO)、プロセッサ31は、Act31に戻る。
該当する配信管理レコード71が存在する場合には(Act43、YES)、プロセッサ31は、Act44としてその配信管理レコード71に移動端末配信日時が記述されているか否かを確認する。移動端末配信日時が記述されている場合(Act44、YES)、プロセッサ31は、Act31に戻る。なお、配信管理レコード71に対して移動端末配信日時が記述されるタイミングについては、後述する。
該当する配信管理レコード71に移動端末配信日時が記録されていない場合には(Act44、NO)、プロセッサ31は、Act45として配信管理レコード72を作成する。このときプロセッサ31は、項目「配信先管理ID」、「配信データファイル名」及び「タイムアウト日時」として、該当する配信管理レコード71の同一項目のデータを記述する。他の項目「配信結果」及び「配信日時」はいずれも未記入である。
プロセッサ31は、Act46として、Act45の処理で作成した配信管理レコード72を配信管理テーブル324に保存する。またプロセッサ31は、Act47としてPOS端末20の配信データ保存領域225に保存されている配信データを、第1通信で受信する。第1通信とは、無線ユニット34を介したデータ通信、すなわちこの場合には、アクセスポイント51を経由した無線通信を示す。プロセッサ31は、Act48として無線ユニット34を介して受信した配信データを配信データ保存領域323に保存する。またプロセッサ31は、Act49としてPOS端末20の配信管理テーブル227を更新する。具体的にはプロセッサ31は、該当する配信管理レコード71の項目「移動端末配信日時」に、時計部33で計時されている日時を記述する。その後プロセッサ31は、Act31に戻る。
このように、無線通信端末30を所有する店舗管理者がアクセスポイント51の無線通信領域A2内に入る。そうすると、当該無線通信端末30の管理IDが移動端末管理IDとしてセットされた配信管理レコード71で管理される配信データが、アクセスポイント51経由でPOS端末20から当該無線通信端末30に転送される。すなわち、無線通信端末30を所有する店舗管理者が意識することなく、POS端末20で暗号化された解析用データが、当該無線通信端末30にダウンロードされる。
無線通信端末30において、アクセスポイント41との接続が確立した場合には(Act33、YES)、プロセッサ31は、図12のAct51に進む。すなわちプロセッサ31は、Act51としてアクセスポイント41に接続されているサーバ10の管理IDを取得する。管理IDは、当該サーバ10の管理ID保存領域122に保存されている。管理IDを取得すると、プロセッサ31は、Act52として内部のテーブル、つまりは配信管理テーブル324を検索する。そしてプロセッサ31は、Act53として、Act51の処理で取得した管理IDを配信先管理IDとする配信管理レコード72が配信管理テーブル324に存在するか否かを判定する。該当する配信管理レコード72が配信管理テーブル324に存在しない場合(Act53、NO)、プロセッサ31は、Act31に戻る。
該当する配信管理レコード72が配信管理テーブル324に存在する場合には(Act53、YES)、プロセッサ31は、Act54として当該サーバ10の配信管理テーブル126を検索する。そしてプロセッサ31は、Act55として該当する配信管理レコード72の配信データファイル名が記述された配信管理レコード73が配信管理テーブル126に保存されているか否かを判定する。該当する配信管理レコード73が配信管理テーブル126に保存されていない場合(Act55、NO)、プロセッサ31は、Act31に戻る。
該当する配信管理レコード73が配信管理テーブル126に保存されている場合には(Act55、YES)、プロセッサ31は、Act56として当該配信データファイル名の配信データがサーバ10に対して配信済であるか否かを確認する。例えば該当する配信管理レコード73に配信日時が記述されている場合、プロセッサ31は、配信済と判定する。配信データが配信済の場合(Act56、YES)、プロセッサ31は、Act31に戻る。
配信データが配信済でない場合には(Act56、NO)、プロセッサ31は、Act57として配信データ保存領域323に保存されている当該配信データファイル名の配信データを、アクセスポイント41経由でサーバ10へと送信するように無線ユニット34を制御する。またプロセッサ31は、Act58としてサーバ10の配信管理テーブル126を更新する。すなわちプロセッサ31は、配信管理テーブル126の該当する配信管理レコード73の項目「配信結果」に、“OK”と記述する。また、項目「移動端末管理ID」に当該無線通信端末30の管理IDを記述する。さらに、項目「配信日時」に時計部33で計時されている日時を記述する。
同様に、プロセッサ31は、Act59としてPOS端末20の配信管理テーブル227を更新する。すなわちプロセッサ31は、配信管理テーブル227の配信データファイル名等が一致する配信管理レコード71の項目「配信元移動端末管理ID」に当該無線通信端末30の管理IDを記述する。さらに、項目「配信元移動端末配信日時」に時計部33で計時されている日時を記述する。
さらにプロセッサ31は、Act60として内部のテーブル、つまりは配信管理テーブル324を更新する。具体的にはプロセッサ31は、該当する配信管理レコード72の項目「配信結果」に“OK”を記述する。また、項目「配信日時」に時計部33で計時されている日時を記述する。その後、プロセッサ31は、Act31に戻る。
このように、配信データがダウンロードされた無線通信端末30を所有する店舗管理者がアクセスポイント41の無線通信領域A1内に入る。そうすると、サーバ10において、当該無線通信端末30の管理IDが移動端末管理IDとしてセットされた配信管理レコード73で管理される配信データファイル名の配信データが、アクセスポイント41経由で無線通信端末30からサーバ10へと転送される。すなわち、無線通信端末30を所有する店舗管理者が意識することなく、POS端末20で暗号化された解析用データがサーバ10へと無線送信される。
そこで次に、配信データ(解析用データ)を受信したサーバ10の動作について、図13を用いて説明する。サーバ10のプロセッサ11は、第1通信有と判定した場合、すなわちアクセスポイント41を経由したデータ通信が行われた場合には(Act62、YES)、Act63として無線通信端末30から配信データを受信したか否かを確認する。配信データ以外のデータを受信した場合(Act63、NO)、プロセッサ11は、Act61に戻る。
配信データを受信した場合には(Act63、YES)、プロセッサ11は、Act64としてその配信データを受信データ保存領域125で保存する。またプロセッサ11は、Act65として内部のテーブル、すなわち配信管理テーブル126を検索する。そして、プロセッサ11は、Act66として受信データ保存領域125で保存した配信データのファイル名を項目「配信データファイル名」として記述した配信管理レコード73から暗号鍵を取得する。
暗号鍵を取得したならば、プロセッサ11は、Act67としてその暗号鍵を用いて受信データ保存領域125で保存した配信データを平文化するように暗号化部14を制御する。またプロセッサ11は、Act68として内部のテーブル、すなわち配信管理テーブル126を更新する。すなわちプロセッサ11は、該当する配信管理レコード73の項目「配信データ展開日時」に時計部13で計時されている日時を記述する。
またプロセッサ11は、Act69として展開通知を作成する。展開通知は、解析用データの配信元であるPOS端末20に対して、配信データの展開(平文化)を通知する情報である。展開通知には、該当する配信管理レコード73の配信データファイル名と配信データ展開日時とが含まれる。
プロセッサ11は、Act70として、Act69の処理で作成した展開通知を、第2通信でPOS端末20へと送信するように、第2通信ユニット16を制御する。その後、プロセッサ21は、Act61に戻る。
このように、無線通信端末30を介してPOS端末20で暗号化された解析用データを受信したサーバ10においては、その解析用データが平文化される。そして、当該解析用データの配信データファイル名とともに、平文化された日時、つまりは配信データ展開日時を含む展開通知が作成されて、公衆無線ネットワーク60経由でPOS端末20へと送信される。
そこで次に、展開通知を受信したPOS端末20の動作について説明する。図8のAct1において、第2通信有と判定した場合(Act1、YES)、プロセッサ21は、Act11として展開通知を受信したか否かを確認する。展開通知以外のデータを受信した場合(Act11、NO)、プロセッサ21は、Act2に進む。
展開通知を受信した場合には(Act11、YES)、プロセッサ21は、Act12として内部のテーブル、すなわち配信管理テーブル227を更新する。具体的にはプロセッサ21は、展開通知に含まれる配信データファイル名が記述された配信管理レコード71の配信データ展開日時を、同展開通知に含まれる配信データ展開日時とする。その後、プロセッサ21は、Act2に進む。
以上説明したように、POS端末20からサーバ10に解析用データを送信する場合、POS端末20は、アクセスポイント51を介してデータ通信が可能な第1装置として機能する。サーバ10は、アクセスポイント41を介してデータ通信が可能な第2装置として機能する。無線通信端末30は、アクセスポイント51の無線通信領域A2内とアクセスポイント41の無線通信領域A1内とを移動可能な第3装置として機能する。
そしてPOS端末20は、サーバ10に送信すべきデータの固有情報である配信データファイル名を、無線通信端末30を識別する移動端末管理IDと関連付けて記憶する第1記憶部、つまりは配信管理テーブル227を有する。同様にサーバ10は、POS端末20から受信すべきデータの固有情報である配信データファイル名を、無線通信端末30を識別する移動端末管理IDと関連付けて記憶する第2記憶部、つまりは配信管理テーブル126を有する。
無線通信端末30は、アクセスポイント51の無線通信領域A2内においてPOS端末20と通信して、図11のAct41〜Act47の処理を実行する。すなわち無線通信端末30は、POS端末20の配信管理テーブル227に記憶される移動端末管理IDが当該無線通信端末30の管理IDと一致するとき、当該移動端末管理IDと関連付けられた配信データファイル名で特定される配信データをPOS端末20から受信する(受信手段)。そして無線通信端末30は、Act48の処理において、POS端末20から受信した配信データを第3記憶部、つまりは配信データ保存領域323で保存する。
また無線通信端末30は、アクセスポイント41の無線通信領域A1内においてサーバ10と通信して、図12のAct51〜Act57の処理を実行する。すなわち無線通信端末30は、サーバ10の配信管理テーブル126に記憶される移動端末管理IDが当該無線通信端末30の管理IDと一致するとき、当該移動端末管理IDと関連付けられた配信データファイル名で特定される配信データを配信データ保存領域323から読み出してサーバ10へと送信する(送信手段)。
また、データ通信システム1においては、第1装置であるPOS端末20と、第2装置であるサーバ10とは、公衆無線ネットワーク60で接続されている。そしてPOS端末20は、公衆無線ネットワーク60を介して通信を行う第1通信部として第2通信ユニット26を備えている。そしてPOS端末20は、図9のAct27の処理において、第2通信ユニット26を制御し、サーバ10に送信すべき配信データの固有情報である配信データファイル名を含む配信通知のデータを、公衆無線ネットワーク60経由でサーバ10へと送信する(第1制御手段)。
一方、サーバ10は、公衆無線ネットワーク60を介して通信を行う第2通信部として第2通信ユニット16を備えている。そしてサーバ10は、図13のAct71〜Act73の処理において、第2通信ユニット16で受信した配信通知に含まれる配信データファイル名を、無線通信端末30を識別する管理IDと関連付けて配信管理テーブル126に記憶させる(第2制御手段)。
さらにPOS端末20は、図9のAct21〜Act22の処理において、サーバ10に送信すべき解析用データを暗号化する(暗号化手段)。そしてPOS端末20は、Act24及びAct27の処理において、第2通信ユニット26を制御して、暗号化で用いた暗号鍵の情報を含む配信通知のデータをサーバ10へと送信する(第3制御手段)。
一方、サーバ10は、図13のAct63〜Act67の処理において、第2通信ユニット16で受信した配信通知に含まれる暗号鍵の情報で、無線通信端末30経由で受信した解析用データを平文化する(平文化手段)。
次に、サーバ10からPOS端末20に保守プログラムを送信する場合、すなわちサーバ10が送信側装置となり、POS端末20が受信側装置となる場合の動作について、図14乃至図19を用いて説明する。
因みに、図14及び図15は、サーバ10のプロセッサ11が、プログラムに基づいて実行する情報処理の要部手順を示す流れ図である。図16乃至図18は、無線通信端末30のプロセッサ31が、プログラムに基づいて実行する情報処理の要部手順を示す流れ図である。図19は、POS端末20のプロセッサ21が、プログラムに基づいて実行する情報処理の要部手順を示す流れ図である。なお、図14乃至図19に示すとともに以下に説明する処理の内容は一例である。同様な結果を得ることが可能であれば、その処理手順及び処理内容は特に限定されるものではない。
図14に示すように、サーバ10のプロセッサ11は、Act71として第2通信、すなわち第2通信ユニット16を介したデータ通信の有無を判定する。第2通信無しの場合(Act71、NO)、プロセッサ11は、Act72としてPOS端末20の保守が必要か否かを判定する。前述したようにサーバ10は、POS端末20から取得した解析用データを解析して、保守が必要か否かを判定する。保守が必要である場合、その保守プログラムをPOS端末20にダウンロードする。したがってAct72では、プロセッサ11は、POS端末20の保守が必要であると判定されたか否かを確認する。
POS端末20の保守が必要でない場合(Act72、NO)、プロセッサ11は、Act73として内部のテーブル、つまりは配信管理テーブル126を検索する。そしてプロセッサ11は、Act74として配信結果が記録されていない配信管理レコード71が配信管理テーブル126に存在するか否かを判定する。配信結果が記録されていない配信管理レコード71が配信管理テーブル126に存在しない場合(Act74、NO)、プロセッサ11は、Act71に戻る。
配信結果が記録されていない配信管理レコード71が配信管理テーブル126に存在する場合には(Act74、YES)、プロセッサ11は、Act75としてその配信管理レコード71に対して配信データ展開日時が記述されているか否かを判定する。配信データ展開日時が記述されている場合(Act75、YES)、プロセッサ11は、Act76としてその配信管理レコード71に配信結果として正常を示す“OK”を記述する。その後、プロセッサ11は、Act71に戻る。
配信結果が記録されていない配信管理レコード71に配信データ展開日時も記録されていない場合には(Act75、NO)、プロセッサ11は、Act77としてその配信管理レコード71のタイムアウト日時を確認する。そしてプロセッサ11は、Act78として時計部23で計時されている現在日時がタイムアウト日時を経過しているか否かを判定する。現在日時がタイムアウト日時を経過していない場合(Act78、NO)、プロセッサ11は、Act71に戻る。
現在日時がタイムアウト日時を経過している場合には(Act78、YES)、プロセッサ11は、Act79としてその配信管理レコード71に配信結果としてエラーを示す“NG”を記述する。その後、プロセッサ11は、Act71に戻る。
プロセッサ11は、POS端末20の保守が必要である場合には(Act72、YES)、図15のAct91に進む。すなわちプロセッサ11は、Act91として、暗号化部14を制御して暗号鍵を生成する。暗号鍵が生成されると、プロセッサ11は、Act92としてその暗号鍵を用いて保守プログラム保存領域123に保存されている保守プログラムを暗号化するように暗号化部14を制御する。保守プログラムが暗号化されると、プロセッサ11は、Act93として暗号化された保守プログラムを配信データ保存領域124に保存する。
プロセッサ11は、Act94として配信通知を作成する。配信通知は、保守プログラムの配信先であるPOS端末20に対して、保守プログラムが配信されることを事前に配信を通知するための情報である。配信通知には、管理ID保存領域122に記憶されているID、つまりは当該サーバ10の管理IDと、保守対象であるPOS端末20に対して割り当てられた少なくとも1つの無線通信端末30の管理IDとが含まれる。
また配信通知には、Act91の処理で生成された暗号鍵と、配信データ保存領域124に保存された保守プログラムのファイル名とが含まれる。さらに配信通知には、時計部13で計時されている日時から所定時間経過後の日時がタイムアウト日時として含まれる。所定時間は、例えば24時間とする。
プロセッサ11は、Act95として配信管理レコード71を作成する。このときプロセッサ11は、項目「配信先管理ID」として保守対象であるPOS端末20の管理IDを記述する。またプロセッサ11は、項目「配信データファイル名」として配信データ保存領域124に保存された保守プログラムのファイル名を記述する。またプロセッサ11は、項目「暗号鍵」として、Act91の処理で生成された暗号鍵を記述する。またプロセッサ11は、項目「配信セット日時」として、配信通知を作成した時点の時計部13の日時を記述する。またプロセッサ11は、項目「タイムアウト日時」として、配信通知に含まれるタイムアウト日時を記述する。またプロセッサ11は、項目「移動端末管理ID」として、配信通知に含まれる無線通信端末30の管理ID、つまりは保守対象のPOS端末20に割り当てられた無線通信端末30の管理IDを記述する。なお、保守対象のPOS端末20に割り当てられた無線通信端末30が1つだけの場合には、項目「移動端末1管理ID」だけ記述する。保守対象のPOS端末20に割り当てられた無線通信端末30が2つの場合には、項目「移動端末1管理ID」と項目「移動端末2管理ID」とに記述する。保守対象のPOS端末20に割り当てられた無線通信端末30が3つ以上の場合には、各々の管理IDを移動端末管理IDとして記述する。他の項目「配信結果」、「移動端末配信日時」、「配信元移動端末管理ID」、「配信元移動端末配信日時」及び「配信データ展開日時」はいずれも未記入である。
プロセッサ11は、Act96として、Act95の処理で作成した配信管理レコード71を配信管理テーブル126に保存する。またプロセッサ11は、Act97として、Act94の処理で作成した配信通知を、第2通信でPOS端末20に送信するように、第2通信ユニット16を制御する。その後プロセッサ11は、Act71に戻る。
このように、サーバ10においては、保守対象のPOS端末20において保守が必要となった場合に、保守プログラムを暗号化した配信データが配信データ保存領域124に保存される。また配信通知が作成され、公衆無線ネットワーク60経由でPOS端末20へと送信される。さらに、項目「配信結果」、「配信データ展開日時」等が記述されていない配信管理レコード71が作成され、配信管理テーブル126に保存される。
図19に示すように、POS端末20のプロセッサ21は、Act131として第2通信、つまりは第2通信ユニット26を介したデータ通信の有無を判定する。第2通信無しの場合(Act131、NO)、プロセッサ21は、Act132として第1通信の有無、すなわち第1通信ユニット25を介したデータ通信の有無を判定する。第1通信無しの場合(Act132、NO)、プロセッサ21は、Act131に戻る。
第2通信有の場合、すなわち公衆無線ネットワーク60を介してのデータ通信が行われた場合には(Act131、YES)、プロセッサ21は、Act141としてそのデータ通信によって配信通知を受信したか否かを判定する。配信通知を受信していない場合(Act141、NO)、プロセッサ21は、Act131に戻る。
サーバ10からの配信通知を受信した場合には(Act141、YES)、プロセッサ21は、Act142としてその配信通知に含まれるデータを基に、配信管理レコード73を作成する。前述したように配信通知には、サーバ10の管理IDと、当該POS端末20に割り当てられた少なくとも1つの無線通信端末30の管理IDとが含まれる。また、配信通知には、配信データファイル名、暗号鍵及びタイムアウト日時が含まれる。プロセッサ21は、サーバ10の管理IDを配信管理レコード73の項目「配信元管理ID」として記述する。またプロセッサ21は、配信データファイル名、暗号鍵及びタイムアウト日時を、それぞれ配信管理レコード73の同一項目として記述する。
プロセッサ21は、Act143として、Act142で作成した配信管理レコード73を配信管理テーブル227に保存する。その後、プロセッサ21は、Act131に戻る。
したがって、サーバ10から公衆無線ネットワーク60を介して送られてくる配信通知を受信したPOS端末20においては、配信管理レコード73が作成され、配信管理テーブル227に保存される。
図16に示すように、無線通信端末30のプロセッサ31は、Act101としてアクセスポイントへの接続要求を行う。そしてプロセッサ31は、Act102としてサーバ10に接続されているアクセスポイント41との接続が確立したか否かを確認する。アクセスポイント41との接続が確立していない場合(Act102、NO)、プロセッサ31は、Act103としてPOS端末20に接続されているアクセスポイント51との接続が確立したか否かを確認する。アクセスポイント51との接続が確立していない場合(Act103、NO)、プロセッサ31は、Act104乃至Act108として、図10のAct34乃至Act38と同様の処理を実行する。
したがって、無線通信端末30を所有する店舗管理者が、アクセスポイント41の無線通信領域A1又はアクセスポイント51の無線通信領域A2のいずれの領域からも外れている場合、プロセッサ31は、Act101乃至Act108の処理を繰り返し実行している。この状態で、店舗管理者がアクセスポイント41の無線通信領域A1内に入ると、当該店舗管理者が所有する無線通信端末30とアクセスポイント41との接続が確立する。また、店舗管理者がアクセスポイント51の無線通信領域A2内に入ると、当該店舗管理者が所有する無線通信端末30とアクセスポイント51との接続が確立する。
無線通信端末30において、アクセスポイント41との接続が確立した場合には(Act102、YES)、プロセッサ31は、図17のAct111に進む。すなわちプロセッサ31は、Act111として管理ID保存領域322に保存されているID、つまりは当該無線通信端末30の管理IDを取得する。管理IDを取得すると、プロセッサ31は、Act112としてアクセスポイント41を介して接続されたサーバ10の配信管理テーブル126を検索する。そしてプロセッサ31は、Act113として、Act111の処理で取得した管理IDを移動端末管理IDとする配信管理レコード71の有無を判定する。該当する配信管理レコード71が存在しない場合(Act113、NO)、プロセッサ31は、Act101に戻る。
該当する配信管理レコード71が存在する場合には(Act113、YES)、プロセッサ31は、Act114としてその配信管理レコード71に移動端末配信日時が記述されているか否かを確認する。移動端末配信日時が記述されている場合(Act114、YES)、プロセッサ31は、Act101に戻る。
該当する配信管理レコード71に移動端末配信日時が記録されていない場合には(Act114、NO)、プロセッサ31は、Act115として配信管理レコード72を作成する。このときプロセッサ31は、項目「配信先管理ID」、「配信データファイル名」及び「タイムアウト日時」として、該当する配信管理レコード71の同一項目のデータを記述する。他の項目「配信結果」及び「配信日時」はいずれも未記入である。
プロセッサ31は、Act116として、Act115の処理で作成した配信管理レコード72を配信管理テーブル324に保存する。またプロセッサ31は、Act117としてサーバ10の配信データ保存領域124に保存されている配信データを、第1通信で受信する。第1通信とは、無線ユニット34を介したデータ通信、すなわちこの場合には、アクセスポイント41を経由した無線通信を示す。プロセッサ31は、Act118として無線ユニット34を介して受信した配信データを配信データ保存領域323に保存する。またプロセッサ31は、Act119としてサーバ10の配信管理テーブル126を更新する。具体的にはプロセッサ31は、該当する配信管理レコード71の項目「移動端末配信日時」に、時計部33で計時されている日時を記述する。その後プロセッサ31は、Act101に戻る。
このように、無線通信端末30を所有する店舗管理者がアクセスポイント41の無線通信領域A1内に入る。そうすると、当該無線通信端末30の管理IDが移動端末管理IDとしてセットされた配信管理レコード71で管理される配信データが、アクセスポイント41経由でサーバ10から当該無線通信端末30に転送される。すなわち、無線通信端末30を所有する店舗管理者が意識することなく、サーバ10で暗号化された保守プログラムが、当該無線通信端末30にダウンロードされる。
無線通信端末30において、アクセスポイント51との接続が確立した場合には(Act103、YES)、プロセッサ31は、図18のAct121に進む。すなわちプロセッサ31は、Act121としてアクセスポイント51に接続されているPOS端末20の管理IDを取得する。管理IDは、当該POS端末20の管理ID保存領域222に保存されている。管理IDを取得すると、プロセッサ31は、Act122として内部のテーブル、つまりは配信管理テーブル324を検索する。そしてプロセッサ31は、Act123として、Act121の処理で取得した管理IDを配信先管理IDとする配信管理レコード72が配信管理テーブル324に存在するか否かを判定する。該当する配信管理レコード72が配信管理テーブル324に存在しない場合(Act123、NO)、プロセッサ31は、Act101に戻る。
該当する配信管理レコード72が配信管理テーブル324に存在する場合には(Act123、YES)、プロセッサ31は、Act124として当該POS端末20の配信管理テーブル227を検索する。そしてプロセッサ31は、Act125として該当する配信管理レコード72の配信データファイル名が記述された配信管理レコード73が配信管理テーブル227に保存されているか否かを判定する。該当する配信管理レコード73が配信管理テーブル227に保存されていない場合(Act125、NO)、プロセッサ31は、Act101に戻る。
該当する配信管理レコード73が配信管理テーブル227に保存されている場合には(Act125、YES)、プロセッサ31は、Act126として当該配信データファイル名の配信データがPOS端末20に対して配信済であるか否かを確認する。例えば該当する配信管理レコード73に配信日時が記述されている場合、プロセッサ31は、配信済と判定する。配信データが配信済の場合(Act126、YES)、プロセッサ31は、Act101に戻る。
配信データが配信済でない場合には(Act106、NO)、プロセッサ31は、Act127として配信データ保存領域323に保存されている当該配信データファイル名の配信データを、アクセスポイント51経由でPOS端末20へと送信するように無線ユニット34を制御する。またプロセッサ31は、Act128としてPOS端末20の配信管理テーブル227を更新する。すなわちプロセッサ31は、配信管理テーブル227の該当する配信管理レコード73の項目「配信結果」に、“OK”を記述する。また、項目「移動端末管理ID」に当該無線通信端末30の管理IDを記述する。さらに、項目「配信日時」に時計部33で計時されている日時を記述する。
同様に、プロセッサ31は、Act129としてサーバ10の配信管理テーブル126を更新する。すなわちプロセッサ31は、配信管理テーブル126の配信データファイル名等が一致する配信管理レコード71の項目「配信元移動端末管理ID」に当該無線通信端末30の管理IDを記述する。さらに、項目「配信元移動端末配信日時」に時計部33で計時されている日時を記述する。
さらにプロセッサ31は、Act130として内部のテーブル、つまりは配信管理テーブル324を更新する。具体的にはプロセッサ31は、該当する配信管理レコード72の項目「配信結果」に“OK”を記述する。また、項目「配信日時」に時計部33で計時されている日時を記述する。その後、プロセッサ31は、Act101に戻る。
このように、配信データがダウンロードされた無線通信端末30を所有する店舗管理者がアクセスポイント51の無線通信領域A2内に入る。そうすると、POS端末20において、当該無線通信端末30の管理IDが移動端末管理IDとしてセットされた配信管理レコード73で管理される配信データファイル名の配信データが、アクセスポイント51経由で無線通信端末30からPOS端末20へと転送される。すなわち、無線通信端末30を所有する店舗管理者が意識することなく、サーバ10で暗号化された保守プログラムがPOS端末20へと無線送信される。
そこで次に、配信データ(保守プログラム)を受信したPOS端末20の動作について、図19を用いて説明する。POS端末20のプロセッサ21は、第1通信有と判定した場合、すなわちアクセスポイント51を経由したデータ通信が行われた場合には(Act132、YES)、Act133として無線通信端末30から配信データを受信したか否かを確認する。配信データ以外のデータを受信した場合(Act133、NO)、プロセッサ21は、Act131に戻る。
配信データを受信した場合には(Act133、YES)、プロセッサ21は、Act134としてその配信データを受信データ保存領域226で保存する。またプロセッサ21は、Act135として内部のテーブル、すなわち配信管理テーブル227を検索する。そして、プロセッサ21は、Act136として受信データ保存領域226で保存した配信データのファイル名を項目「配信データファイル名」として記述した配信管理レコード73から暗号鍵を取得する。
暗号鍵を取得したならば、プロセッサ21は、Act137としてその暗号鍵を用いて受信データ保存領域226で保存した配信データを平文化するように暗号化部24を制御する。またプロセッサ21は、Act138として内部のテーブル、すなわち配信管理テーブル227を更新する。すなわちプロセッサ21は、該当する配信管理レコード73の項目「配信データ展開日時」に時計部13で計時されている日時を記述する。
またプロセッサ21は、Act139として展開通知を作成する。展開通知は、保守プログラムの配信元であるサーバ10に対して、配信データの展開(平文化)を通知する情報である。展開通知には、該当する配信管理レコード73の配信データファイル名と配信データ展開日時とが含まれる。
プロセッサ21は、Act140として、Act139の処理で作成した展開通知を、第2通信でサーバ10へと送信するように、第2通信ユニット26を制御する。その後、プロセッサ21は、Act131に戻る。
このように、無線通信端末30を介してサーバ10で暗号化された保守プログラムを受信したPOS端末20においては、その保守プログラムが平文化される。そして、当該保守プログラムの配信データファイル名とともに、平文化された日時、つまりは配信データ展開日時を含む展開通知が作成されて、公衆無線ネットワーク60経由でサーバ10へと送信される。
そこで次に、展開通知を受信したサーバ10の動作について説明する。図14のAct71において、第2通信有と判定した場合(Act71、YES)、プロセッサ11は、Act80として展開通知を受信したか否かを確認する。展開通知以外のデータを受信した場合(Act80、NO)、プロセッサ21は、Act72に進む。
展開通知を受信した場合には(Act80、YES)、プロセッサ11は、Act81として内部のテーブル、すなわち配信管理テーブル126を更新する。具体的にはプロセッサ11は、展開通知に含まれる配信データファイル名が記述された配信管理レコード71の配信データ展開日時を、同展開通知に含まれる配信データ展開日時とする。その後、プロセッサ11は、Act72に進む。
以上説明したように、サーバ10からPOS端末20に保守プログラムを送信する場合、サーバ10は、アクセスポイント41を介してデータ通信が可能な第1装置として機能する。POS端末20は、アクセスポイント51を介してデータ通信が可能な第2装置として機能する。無線通信端末30は、アクセスポイント51の無線通信領域A2内とアクセスポイント41の無線通信領域A1内とを移動可能な第3装置として機能する。
そしてサーバ10は、POS端末20に送信すべきデータの固有情報である配信データファイル名を、無線通信端末30を識別する移動端末管理IDと関連付けて記憶する第1記憶部、つまりは配信管理テーブル126を有する。同様にPOS端末20は、サーバ10から受信すべきデータの固有情報である配信データファイル名を、無線通信端末30を識別する移動端末管理IDと関連付けて記憶する第2記憶部、つまりは配信管理テーブル227を有する。
無線通信端末30は、アクセスポイント41の無線通信領域A1内においてサーバ10と通信して、図17のAct111〜Act117の処理を実行する。すなわち無線通信端末30は、サーバ10の配信管理テーブル126に記憶される移動端末管理IDが当該無線通信端末30の管理IDと一致するとき、当該移動端末管理IDと関連付けられた配信データファイル名で特定される配信データをサーバ10から受信する(受信手段)。そして無線通信端末30は、Act118の処理において、サーバ10から受信した配信データを第3記憶部、つまりは配信データ保存領域323で保存する。
また無線通信端末30は、アクセスポイント51の無線通信領域A2内においてPOS端末20と通信して、図18のAct121〜Act127の処理を実行する。すなわち無線通信端末30は、POS端末20の配信管理テーブル227に記憶される移動端末管理IDが当該無線通信端末30の管理IDと一致するとき、当該移動端末管理IDと関連付けられた配信データファイル名で特定される配信データを配信データ保存領域323から読み出してPOS端末20へと送信する(送信手段)。
また、データ通信システム1においては、第1装置であるサーバ10と、第2装置であるPOS端末20とは、公衆無線ネットワーク60で接続されている。そしてサーバ10は、公衆無線ネットワーク60を介して通信を行う第1通信部として第2通信ユニット16を備えている。そしてサーバ10は、図15のAct77の処理において、第2通信ユニット16を制御し、POS端末20に送信すべき配信データの固有情報である配信データファイル名を含む配信通知のデータを、公衆無線ネットワーク60経由でPOS端末20へと送信する(第1制御手段)。
一方、POS端末20は、公衆無線ネットワーク60を介して通信を行う第2通信部として第2通信ユニット26を備えている。そしてPOS端末20は、図19のAct141〜Act143の処理において、第2通信ユニット26で受信した配信通知に含まれる配信データファイル名を、無線通信端末30を識別する管理IDと関連付けて配信管理テーブル227に記憶させる(第2制御手段)。
さらにサーバ10は、図9のAct91〜Act92の処理において、POS端末20に送信すべき保守プログラムを暗号化する(暗号化手段)。そしてサーバ10は、Act94及びAct97の処理において、第2通信ユニット16を制御して、暗号化で用いた暗号鍵の情報を含む配信通知のデータをPOS端末20へと送信する(第3制御手段)。
一方、POS端末20は、図19のAct133〜Act137の処理において、第2通信ユニット26で受信した配信通知に含まれる暗号鍵の情報で、無線通信端末30経由で受信した保守プログラムを平文化する(平文化手段)。
このように構成されたデータ通信システム1によれば、データ量が比較的大きいPOS端末20の解析用データについては、無線通信端末30とアクセスポイント51との間の無線通信と、無線通信端末30とアクセスポイント41との間の無線通信とにより、POS端末20からサーバ10へと送信することができる。同様に、データ量が比較的大きい保守プログラムについても、無線通信端末30とアクセスポイント41との間の無線通信と、無線通信端末30とアクセスポイント51との間の無線通信とにより、サーバ10からPOS端末20へと送信することができる。したがって、POS端末20が例えば1台しかないような小型店舗がリモート保守システムを導入しようとした場合であっても、大容量のデータ転送に適したネットワークを保守会社のサーバ10との間で構成する必要がない。したがって、通信費のコストパフォーマンスが優れたデータ通信システム1を提供することができる。
また、データ通信システム1によれば、サーバ10とPOS端末20との間で配信通知および展開通知を送受信するためのネットワークとして公衆無線ネットワーク60を使用している。配信通知および展開通知のデータ量は、解析用データや保守プログラムに比べて極めて小さい。したがって、データ転送速度が低速で一度に通信できるデータ量に制約があるものの、省電力で広域をカバーでき、通信費のコストパフォーマンスが高い公衆無線ネットワーク60を適用することができる。その結果、やはり通信費のコストパフォーマンスが優れたデータ通信システム1を提供することができる。
また、データ通信システム1によれば、POS端末20からサーバ10へと送信する解析用データ、及びサーバ10からPOS端末20へ送信する保守プログラムをそれぞれ暗号化して送信している。そしてその暗号化されたデータを平文化するための暗号鍵の情報は、データ量が小さいので、配信通知に含めて送信するようにしている。したがって、大容量のデータ転送に適したネットワークを適用しなくても、データを暗号化して送信することができる。
このように本実施形態のデータ通信システム1は、POS端末20の保守を行うサーバ10から保守対象のPOS端末20へと保守プログラムを送信する場合に有効である。すなわち管理対象の端末から管理を行うサーバへのデータ送信において大変有効である。また、保守対象のPOS端末20からサーバ10にPOS端末20の解析用データを送信する場合も有効である。すなわち管理を行うサーバから管理対象の端末へのデータ送信においても大変有効である。
以下、実施形態の変形例について説明する。
前記実施形態では、無線通信端末30のプロセッサ31は、図11のAct42においてPOS端末20の配信管理テーブル227を検索して、当該無線通信端末30の管理IDが設定された配信管理レコード71の有無を確認した。この点については、POS端末20のプロセッサ21が、配信管理レコード71に含まれる管理IDで特定される無線通信端末30に対して、配信レコードが有ることを通知する。この通知を受けた無線通信端末30のプロセッサ31が、POS端末20の配信データ保存領域225から配信データを取り込む。このような構成としても、前記実施形態と同様の作用効果を奏し得る。そしてこの点については、図17のAct112についても、同様に適用することができる。
なお、前記実施形態では、保守対象の装置として1台のPOS端末を使用している店舗がリモート保守システムを活用する場合を例示した。データ通信システム1は、リモート保守システムへの活用に限定されるものではない。要は、第1装置と第2装置との間で、データを送受信するシステム全般に適用できるものである。その際のデータ量は大きいことが望ましいが、データ量の小さいデータの通信にも適用することは可能である。
この他、本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。