(58)【調査した分野】(Int.Cl.,DB名)
前記棚札管理装置の前記復元部は、複数の前記電子棚札端末から同一ブロックの外部記憶データを受信した場合には、受信した複数の外部記憶データを比較し、データ内容の一致する外部記憶データ数の多い外部記憶データに基づいて、前記システムデータを復元する
ことを特徴とする請求項2に記載の棚札管理システム。
【発明を実施するための形態】
【0023】
以下、図面を参照しながら本発明の一実施形態について詳しく説明する。
図1は、本発明の一実施形態による棚札管理システムの構成を示すブロック図である。
棚札管理システムは、棚札管理装置1と、複数の中継装置2と、複数の電子棚札端末3とを含んで構成される。そして、棚札管理装置1と中継装置2、および中継装置2と電子棚札端末3がそれぞれ通信ネットワークを介して接続される。なお、本実施形態においては、中継装置2と電子棚札端末3とは無線通信により接続される。
【0024】
図2は、本実施形態による棚札管理装置1の構成を示すブロック図である。
棚札管理装置1は、制御部101と、表示部102と、操作部103と、通信部104と、記憶部105とを含んで構成されるサーバ装置である。
制御部101は、棚札管理装置1を統括して制御する。表示部102は、各種データを表示する液晶表示器等の表示装置である。操作部103は、キーボードやマウス等の入力装置である。通信部104は、中継装置2を介して電子棚札端末3と通信処理を行う。
【0025】
記憶部105は、システムデータ保持部105Aと、外部記憶データ管理テーブル105Bと、端末管理テーブル105Cと、一時バッファ105Dと、データ重要度定義テーブル105Eとを含んで構成される。外部システムデータ保持部105Aは、例えば、商品マスタデータ等、システムで用いるシステムデータを保持(記憶)する。外部記憶データ管理テーブル105Bは、どの電子棚札端末3をシステムデータの外部記憶装置として用いるかを管理するテーブルである。端末管理テーブル105Cは、棚札管理システムに含まれる電子棚札端末3を管理するテーブルである。一時バッファ105Dは、各種処理用のデータを一時的に保持する。データ重要度定義テーブル105Eは、システムデータの重要度を示すテーブルである。
【0026】
図3は、本実施形態によるデータ重要度定義テーブル105Eのデータ構造及びデータ例を示す概略図である。図示するように、データ重要度定義テーブル105Eは、行と列からなる2次元の表形式のデータであり、システムデータと、重要度との各項目の列を有している。このテーブルの各行はシステムデータ毎に存在する。システムデータ種別は、棚札管理システムで用いるシステムデータの種別である。重要度は、システムデータ種別に対応する重要度であり、値が小さいほど重要度が高く、値が大きいほど重要度が低い。
図示する例では、商品の名称や商品価格等の商品マスタデータに対応する重要度は「1」であり、店舗の情報に対応する重要度は「2」であり、従業員の情報に対応する重要度は「3」であり、エラーログに対応する重要度は「4」であり、各種トランザクションデータに対応する重要度は「5」である。つまり、商品マスタデータ、店舗の情報、及び従業員の情報等の棚札管理システムを構成する上で必要なシステムデータは重要度が高く、エラーログ、各種トランザクションデータ等一時的なシステムデータは重要度が低い。
なお、システムデータは、棚札管理システムにおいて用いられるデータであれば、本図に示すデータ例以外のデータであってもよい。
【0027】
図4は、本実施形態によるシステムデータ保持部105Aのデータ構造を示す概略図である。図示するように、システムデータを保持するシステムデータ保持部105Aは、データブロック1からデータブロックNまでのN個のデータブロックに分割されている。データブロックi(i=1,2,…,N)は、iの値が小さいほど重要なシステムデータを保持する。すなわち、システムデータ保持部105Aは、重要度毎にシステムデータをブロック化する。制御部101は、データ重要度定義テーブル105Eに基づいて各システムデータを各データブロックに書き込む。例えば、制御部101は、最も重要度の高い商品マスタデータをデータブロック1に書き込み、次に重要度の高い店舗の情報をデータブロック2に書き込み、次に重要度の高い従業員の情報をデータブロック3に書き込む。同様に、制御部101は、他のシステムデータについてもデータ重要度定義テーブル105Eの重要度に基づいて書き込むデータブロックを決定する。また、本実施形態では、棚札管理装置1は、このシステムデータ保持部105Aに記憶されたシステムデータを外部記憶データとして各電子棚札端末3に保持させる。すなわち、棚札管理装置1は、電子棚札端末3をシステムデータの外部記憶装置として用いる。
【0028】
図5は、本実施形態による外部記憶データ管理テーブル105Bのデータ構成及びデータ例を示す概略図である。
外部記憶データ管理テーブル105Bは、システムデータ保持部105Aのデータブロックiを更に複数(本例では8個)のブロックij(j=1,2,…,8)に分割して管理する。以下、各ブロックijが保持するシステムデータを外部記憶データとする。図示するように、外部記憶データ管理テーブル105Bは、行と列からなる2次元の表形式のデータであり、ブロック論理Noと、データバージョンと、データ日付けと、CS(Check Sum)と、端末ID(k(k=1,2,…,5))との各項目の列を有している。このテーブルの各行はブロックij毎に存在する。ブロック論理Noは、各ブロックijを識別する識別情報である。データバージョンは、ブロックijが保持する外部記憶データのバージョンである。データ日付けは、ブロックijが保持する外部記憶データが更新された日付けである。CSは、ブロック論理No、データバージョン、データ日付け、及び外部記憶データ本体全ての有効性を確認するためのCSであり、該当領域(ブロック論理No、データバージョン、データ日付け、及び外部記憶データ本体)のバイト毎或いはワード毎の加算結果である。端末ID(k)は、ブロックijに記憶された外部記憶データを保持する電子棚札端末3の識別情報である。なお、本例では、1つのブロックijの外部記憶データを保持する電子棚札端末3の上限数を5としたが、上限数は5以上であってもよい。また、端末ID(k)「0000」は、外部記憶データを保持する電子棚札端末3が未設定であることを表す。また、端末ID(k)「−」は、外部記憶データを保持させないことを表す。本図に示す例では、ブロック論理No「D11」の外部記憶データは5台の電子棚札端末3が保持し、ブロック論理No「D31」の外部記憶データは3台の電子棚札端末3が保持する。つまり、重要度の高い外部記憶データほど多くの電子棚札端末3が保持する。
【0029】
図6は、本実施形態による端末管理テーブル105Cのデータ構成及びデータ例を示す概略図である。
図示するように、端末管理テーブル105Cは、行と列からなる2次元の表形式のデータであり、端末IDと、外部データ有無と、電池残量Aと、通信エラー回数Bと、端末再接続回数Cと、端末品質値Qとの各項目の列を有している。このテーブルの各行は端末ID毎に存在する。端末IDは、各電子棚札端末3を識別する識別子である。外部データ有無は、該当する電子棚札端末3に外部記憶データを保持させているかどうかを示す。外部データ有無「1」は外部記憶データを保持させていることを表し、外部データ有無「0」は外部記憶データを保持させていないことを表す。電池残量Aは、該当する電子棚札端末3の電池残量を表す値であり、単位はパーセント(範囲は、0〜100)である。通信エラー回数Bは、例えば、過去10日間に発生した通信エラーの回数である。例えば、棚札管理装置1は、電子棚札端末3にデータを送信した際に、送信したデータに対する応答がなかった場合に通信エラーが発生したと判定する。
【0030】
端末再接続回数Cは、例えば、過去10日間に発生した電子棚札端末3の再接続回数である。電子棚札端末3は、電源をオフからオンにした場合や、無線通信圏外から無線通信圏内に入った場合、電子棚札端末3の移動などによって接続先の中継装置2が変更となった場合等に棚札管理装置1と再接続する。ここで、電子棚札端末3は、無線同期パターンの受信に基づいて自身の無線通信圏内又は無線通信圏外を判定する。この無線同期パターンは、所定の周期(例えば30秒毎)で中継装置2から送信される予め定められた文字列のデータである。電子棚札端末3は、所定の周期で無線同期パターンを受信している場合に無線通信圏内であると判定し、所定時間以上無線同期パターンを受信していない場合に無線通信圏外であると判定する。端末品質値Qは、該当する電子棚札端末3の品質を表す値であり、例えば、次の式(1)により表される。
【0031】
Q=A×(k
B(N
B−B))+k
c(N
c−C))…(1)
【0032】
ただし、k
Bは予め設定された通信エラー回数の重み付けパラメータ係数であり、k
cは予め設定された再接続回数の重み付けパラメータ係数である。また、N
Bは予め設定された通信エラー回数の許容限界値であり、N
cは予め設定された再接続回数の許容限界値である。ただし、棚札管理装置1は、上述した式(1)においてQが負の値になった場合には、端末品質値Q=0とする。
【0033】
図7は、本実施形態による電子棚札端末3の構成を示すブロック図である。
電子棚札端末3は、制御部301と、無線通信部302と、電源部303と、表示部305と、記憶部306とを含んで構成される。制御部301は、電子棚札端末3を統括して制御する。無線通信部302は、中継装置2を介して棚札管理装置1と通信処理を行う。電源部303は、各部に電源を供給する。表示部305は、商品名や商品価格等の表示データを表示する。記憶部306は、端末ID、表示データ及び外部記憶データを記憶する。
【0034】
図8は、本実施形態による電子棚札端末3の記憶部306のデータ構成を示す概略図である。
記憶部306は、端末ID保持部と、表示データ保持部と、外部記憶データ保持部とを含んで構成される。端末ID保持部は、自端末の端末IDを保持する。表示データ保持部は、表示データ等、表示部305に表示するデータを保持する。外部記憶データ保持部は、棚札管理装置1から受信した外部記憶データを保持する。すなわち、外部記憶データ保持部は、棚札管理装置1の外部記憶装置を構成する領域である。
【0035】
図9は、本実施形態による電子棚札端末3の外部記憶データ保持部のデータ構成を示す概略図である。
外部記憶データ保持部は、ブロック論理Noと、データバージョンと、データ日付けと、データ本体と、CSとを保持する。ブロック論理Noは、外部記憶データのブロック論理Noである。データバージョンは、外部記憶データのバージョンである。データ日付けは、外部記憶データが更新された日付けである。データ本体は、外部記憶データ本体である。また、CSは、ブロック論理No、データバージョン、データ日付け、及びデータ本体全てのデータの有効性を確認するためのCSである。
【0036】
図10は、本実施形態によるインストール処理の動作を示すシーケンス図である。
以下に示すインストール処理前の棚札管理装置1の外部記憶データ管理テーブル105Bには、電子棚札端末3の端末IDは格納されていない。
棚札管理装置1は、ソフトウェア機能ボタンの押下等によって「インストール中」のモードに移行する(ステップS101)。この間、棚札管理装置1は、
図6に示す端末管理テーブル105Cを構築する。具体的には、棚札管理装置1は、インストール中に電子棚札端末3から端末参加要求を受信すると(ステップS102)、端末参加応答「端末参加OK/データ無効」を返信する(ステップS103)とともに、受信した端末参加要求に含まれる情報を端末管理テーブル105Cに書き込む。端末参加要求は、棚札管理装置1が管理する棚札管理システムに参加するためのデータであり、端末参加識別と、端末IDと、電池残量と、ブロック論理Noと、データバージョンと、データ日付けと、CSと、その他の情報とを含む(
図10(b)参照)。端末参加識別は、端末参加要求であることを示す識別子である。また、端末参加応答は、端末参加要求に対する応答データであり、「端末参加OK/NG」と「データ有効/無効」とを含む(
図10(c)参照)。「端末参加OK」は電子棚札端末3の棚札管理システムへの参加を許可することを表し、「棚札参加NG」は電子棚札端末3の棚札管理システムへの参加を許可しないことを表す。また、「データ有効」は電子棚札端末3の保持している外部記憶データが有効であることを表し、「データ無効」は電子棚札端末3の保持している外部記憶データが無効であることを表す。
【0037】
棚札管理装置1は、ステップS102からS103までの処理を棚札管理システムに参加する電子棚札端末3の台数分行い、インストール処理を終了する。続いて、棚札管理装置1は、データ同期処理へ移行する。
【0038】
図11は、本実施形態によるインストール処理終了時における端末管理テーブル105Cのデータ例を示す概略図である。
図示するように、全ての電子棚札端末3の外部データ有無は「0」であり、通信エラー回数は「0」であり、端末再接続回数は「0」である。また、各電子棚札端末3の電池残量は、上述したステップS102において各電子棚札端末3から受信した端末参加要求に含まれる電池残量である。
【0039】
図12は、本実施形態によるインストール処理終了時における外部記憶データ管理テーブル105Bのデータ例を示す概略図である。
図示するように、各ブロック論理Noに対応する端末ID(k)の値は全て「0000」であり、設定されていない。なお、データバージョンと、データ日付けと、CSは、予め生成されている。
【0040】
次に、
図13を参照して、棚札管理装置1によるデータ同期処理について説明する。
図13は、本実施形態によるデータ同期処理の手順を示すフローチャートである。
本図に示すデータ同期処理は、インストール処理において全ての電子棚札端末3の参加が終了した時点でソフトウェア機能ボタンの押下等により開始する。又は、棚札管理装置1は、1日に1回或いは1週間に1回等、定期的にデータ同期処理を行う。データ同期処理は、全ての電子棚札端末3と全てのブロックijに対して外部記憶データの分配を最適化するための処理である。
【0041】
まず、棚札管理装置1の制御部101は、端末管理テーブル105Cにおける全ての電子棚札端末3の外部データ有無を「0」とする(ステップS201)。次に、制御部101は、処理対象のブロックblockを最初のブロックである「D11」とする(ステップS202)。次に、制御部101は、全てのブロックについて次のステップS205からS207までの処理が終了したか否かを判定する(ステップS203)。全てのブロックについて処理が終了した場合(ステップS203:Yes)には、この。データ同期処理を終了する。
【0042】
一方、全てのブロックijについて処理が終了していない場合(ステップS203:No)には、端末管理テーブル105Cにおいて外部データ有無「0」である電子棚札端末3のうち端末品質値が最大の電子棚札端末3を選択する(ステップS204)。次に、制御部101は、
図15に示す外部データ送信処理を行うことにより、選択した電子棚札端末3にblockの外部記憶データを送信する(ステップS205)。この外部記憶データ送信処理の詳細については後述する。そして、制御部101は、選択した電子棚札端末3の端末IDをblockに対応付けて外部記憶データ管理テーブル105Bに書き込む(ステップS206)。そして、制御部101は、端末管理テーブル105Cにおいて、選択した電子棚札端末3に対応する外部データ有無を「1」とする(ステップS207)。制御部101は、上述したステップS204からS207までの処理を、外部記憶データ管理テーブル105Bのblockに対応する端末ID(k)に「0000」がなくなるまで繰り返す。そして、制御部101は、対象となるblockを次のブロックとし(ステップS208)、ステップS203へ戻る。
【0043】
図14は、本実施形態による外部記憶データ送信処理の動作を示すシーケンス図である。
まず、棚札管理装置1は、電子棚札端末3に外部記憶データを送信する(ステップS301)。ここで送信する外部記憶データは、外部記憶データ識別と、ブロック論理Noと、データバージョンと、データ日付けと、データ本体と、CSとを含む(
図14(b)参照)。外部記憶データ識別は、外部記憶データであることを表す識別子である。データ本体は、外部記憶データ本体である。電子棚札端末3は、外部記憶データを受信すると、外部記憶データのCSチェックをする(ステップS302)。具体的には、電子棚札端末3の制御部301は、CSの対象領域(ブロック論理No、データバージョン、データ日付け、及びデータ本体)のバイト毎又はワード毎の加算値が受信したCSと一致する場合に外部記憶データが有効(OK)であると判定する。一方、制御部301は、加算値が受信したCSと一致しない場合に外部記憶データが無効(NG)であると判定する。そして、電子棚札端末3は、外部記憶データが有効であると判定すると(ステップS302:Yes)、外部記憶データ応答「OK」を棚札管理装置1に送信する(ステップS303)。一方、電子棚札端末3は、外部記憶データが無効であると判定すると(ステップS302:No)、外部記憶データ応答「NG」を棚札管理装置1に送信する(ステップS304)。外部記憶データ応答は、外部記憶データに対する応答データであり、「OK/NG」と電池残量とを含む(
図14(c)参照)。棚札管理装置1は、外部記憶データ応答に応じて外部記憶データ管理テーブル105Bと端末管理テーブル105Cとを更新する(ステップS305)。
【0044】
次に、
図15を参照して、棚札管理装置1による外部記憶データ送信処理の詳細について説明する。
図15は、本実施形態による外部記憶データ送信処理の手順を示すフローチャートである。
まず、棚札管理装置1の制御部101は、選択した電子棚札端末3に外部記憶データを送信する(ステップS401)。次に、制御部101は、外部記憶データの送信先の電子棚札端末3からの外部記憶データ応答「OK」を受信したか否かを判定する(ステップS402)。制御部101は、外部記憶データ応答「OK」を受信した場合には(ステップS402:Yes)、外部記憶データの送信に成功したと判定し、処理を終了する。
【0045】
一方、制御部101は、外部記憶データ応答「OK」を受信していない場合(ステップS402:No)には、端末管理テーブル105Cにおいて外部データ有無が「0」であって外部記憶データを送信していない電子棚札端末3のうち、端末品質値が最も大きいものを選択する(ステップS403)。そして、制御部101は、ステップS403において電子棚札端末3を選択できたか否かを判定する(ステップS404)。制御部101は、電子棚札端末3を選択できなかった場合には(ステップS404:No)、外部記憶データの送信に失敗したと判定し、処理を終了する。一方、制御部101は、電子棚札端末3を選択できた場合には(ステップS404:Yes)、選択した電子棚札端末3に外部記憶データを送信する(ステップS405)。次に、制御部101は、外部記憶データの送信先の電子棚札端末3からの外部記憶データ応答が「OK」であるか否かを判定する(ステップS406)。制御部101は、外部記憶データ応答が「OK」である場合には(ステップS406:Yes)、外部記憶データの送信に成功したと判定し、処理を終了する。一方、制御部101は、外部記憶データ応答が「NG」である場合には(ステップS406:No)、ステップS403へ戻る。
【0046】
図16は、本実施形態による表示データ送信処理の動作を示すシーケンス図である。
まず、棚札管理装置1は、商品名称や商品価格等の表示データを電子棚札端末3に送信する(ステップS501)。電子棚札端末3は、受信した表示データを表示部305に表示する(ステップS502)。そして、電子棚札端末3は、受信した表示データに対する応答である表示データ応答を棚札管理装置1に送信する(ステップS503)。表示データ応答は、「OK/NG」と、電池残量と、ブロック論理Noと、データバージョンと、データ日付けと、CSとを含むデータである(
図16(b)参照)。
【0047】
棚札管理装置1は、表示データ応答を受信すると、受信した表示データ応答に含まれるブロック論理Noに対応するデータバージョンと、データ日付けと、CSとを外部記憶データ管理テーブル105Bから読み出し、読み出した各データが表示データ応答に含まれる各データと夫々一致するか否かを判定する(ステップS504)。棚札管理装置1は、表示データ応答が外部記憶データ管理テーブル105Bと一致する場合には(ステップS504:Yes)、処理を終了する。
【0048】
一方、棚札管理装置1は、表示データ応答が外部記憶データ管理テーブル105Bと一致しない場合には(ステップS504:No)、外部記憶データを送信する(ステップS505)。電子棚札端末3は、外部記憶データを受信すると、受信したCSに基づき受信した外部記憶データの有効性を判定する(ステップS506)。そして、電子棚札端末3は、外部記憶データが有効であると判定すると(ステップS506:Yes)、外部記憶データ応答「OK」を棚札管理装置1に送信する(ステップS507)。一方、電子棚札端末3は、外部記憶データが有効でないと判定すると(ステップS506:No)、外部記憶データ応答「NG」を棚札管理装置1に送信する(ステップS508)。棚札管理装置1は、外部記憶データ応答に応じて外部記憶データ管理テーブル105Bと端末管理テーブル105Cとを更新する(ステップS509)。
【0049】
図17は、本実施形態による状態確認処理の動作を示すシーケンス図である。
棚札管理装置1は、例えば1日に1回等定期的に以下の状態確認処理を行う。
まず、棚札管理装置1は、電子棚札端末3の状態を確認するための状態確認コマンドを電子棚札端末3に送信する(ステップS601)。電子棚札端末3は、状態確認コマンドを受信すると、自端末の各種状態を取得する(ステップS602)。各種状態とは、例えば、無線の受信強度、エラー回数、データ更新回数等の各電子棚札端末3の状態を示す情報である。そして、電子棚札端末3は、状態確認コマンドの応答である状態応答を棚札管理装置1に送信する(ステップS603)。状態応答は、状態応答識別と、電池残量と、ブロック論理Noと、データバージョンと、データ日付けと、CSと、各種状態とを含む(
図17(b)参照)。状態応答識別は、データが状態応答であることを表す識別子である。以下の処理は、上述した表示データ送信処理のステップS504〜S509までの処理と同様である。
【0050】
次に、
図18を参照して、棚札管理装置1による表示データ送信処理及び状態確認処理の詳細について説明する。
図18は、本実施形態による表示データ送信処理及び状態確認処理の手順を示すフローチャートである。
まず、棚札管理装置1の制御部101は、電子棚札端末3に表示データ又は状態確認コマンドを送信する(ステップS701)。次に、制御部101は、送信した表示データ又は状態確認コマンドに対する応答の受信に成功したか否かを判定する(ステップS702)。制御部101は、応答の受信に失敗した場合(ステップS702:No)には、処理を終了する。一方、応答の受信に成功した場合(ステップS702:Yes)には、受信した応答に含まれるブロック論理Noに対応するデータバージョンとデータ日付けとCSとを外部記憶データ管理テーブル105Bから読み出し、読み出した各データが応答に含まれる各データと夫々一致するか否かを判定する(ステップS703)。制御部101は、応答が外部記憶データ管理テーブル105Bと一致する場合(ステップS703:Yes)には、外部記憶データの送信に成功したと判定し、処理を終了する。一方、制御部101は、応答が外部記憶データ管理テーブル105Bと一致しない場合(ステップS703:No)には、
図15に示す外部記憶データ送信処理を行う(ステップS704)。
【0051】
図19は、本実施形態による端末参加処理の動作を示すシーケンス図である。
この端末参加処理は、電子棚札端末3の再接続処理である。棚札管理装置1は、端末参加要求を受信すると、端末参加要求を送信した電子棚札端末3が再接続したと判定する。電子棚札端末3は、例えば、電源がオフからオンになった場合や、無線通信圏外から無線通信圏内になった場合にこの端末参加処理を行う。例えば、電子棚札端末3は、自身が無線通信圏外になると、無線同期パターンをサーチし、無線同期パターンが見つかると、無線通信圏内になったと判定して本図に示す端末参加処理を開始する。
【0052】
まず、電子棚札端末3は、端末参加要求を棚札管理装置1に送信する(ステップS801)。棚札管理装置1は、端末参加要求を受信すると、受信した端末参加要求に含まれる端末IDに基づいて電子棚札端末3が参加可能であるか否かを判定する(ステップS802)。棚札管理装置1は、電子棚札端末3が参加できない場合(ステップS802:No)には処理を終了する。一方、棚札管理装置1は、電子棚札端末3が参加可能である場合(ステップS802:Yes)には、受信した端末参加要求に含まれるブロック論理Noの外部記憶データが有効であるか又は無効であるかを判定する(ステップS803)。この外部記憶データ有効/無効の判定処理の詳細については後述する。棚札管理装置1は、外部記憶データが有効である場合には、端末参加応答「参加OK/データ有効」を電子棚札端末3に送信する(ステップS804)。電子棚札端末3は、端末参加応答「参加OK/データ有効」を受信すると、端末参加処理を終了する。一方、棚札管理装置1は、外部記憶データが無効であると判定した場合には、端末参加応答「参加OK/データ無効」を電子棚札端末3に送信する(ステップS805)。電子棚札端末3は、端末参加応答「参加OK/データ無効」を受信すると、外部記憶データ保持部をイニシャライズする(ステップS806)。この外部記憶データ保持部のイニシャライズ処理については後述する。
【0053】
次に、
図20を参照して、棚札管理装置1による外部記憶データ有効/無効判定処理の詳細について説明する。
図20は、本実施形態による外部記憶データ有効/無効判定処理の手順を示すフローチャートである。
まず、棚札管理装置1の制御部101は、受信した端末参加要求から、端末IDと、ブロック論理Noと、データバージョンと、データ日付けと、CSとを取得する(ステップS901)。次に、制御部101は、取得したブロック論理No(以下、該当ブロック論理Noとする)がD11からDN8までの範囲内であるか否かを判定する(ステップS902)。制御部101は、該当ブロック論理Noが範囲内でない場合(ステップS902:No)には、外部記憶データが無効であると判定し、処理を終了する。一方、制御部101は、該当ブロック論理Noが範囲内である場合(ステップS902:Yes)には、該当ブロック論理Noに対応するデータバージョンと、データ日付けとCSとを外部記憶データ管理テーブル105Bから読み出す。そして、制御部101は、読み出した各データを端末参加要求から取得した各データと夫々比較する(ステップS903)。
【0054】
そして、制御部101は、比較した結果、各データが一致するか否かを判定する(ステップS904)。制御部101は、各データが一致しない場合(ステップS904:No)には、外部記憶データが無効であると判定し、処理を終了する。一方、制御部101は、各データが一致する場合(ステップS904:Yes)には、外部記憶データ管理テーブル105Bにおいて該当ブロック論理Noに端末参加要求の端末IDが対応付けられているか否かを判定する(ステップS905)。制御部101は、対応付けられている場合(ステップS905:Yes)場合には、外部記憶データが有効であると判定し、処理を終了する。一方、制御部101は、対応付けられていない場合(ステップS905:No)には、外部記憶データ管理テーブル105Bにおいて該当ブロック論理Noに端末ID領域の空きがあるか否かを判定する(ステップS906)。制御部101は、端末ID領域に空きがない場合(ステップS906:No)には、外部記憶データが無効であると判定し、処理を終了する。一方、制御部101は、端末ID領域に空きがある場合(ステップS906:Yes)には、端末参加要求の端末IDを外部記憶データ管理テーブル105Bの該当ブロック論理Noに対応付けて書き込む(ステップS907)。そして、制御部101は、外部記憶データが有効であると判定し、処理を終了する。
【0055】
次に、
図21を参照して、電子棚札端末3による外部記憶データ保持部のイニシャライズ処理の詳細について説明する。
図21は、本実施形態による外部記憶データ保持部のイニシャライズ処理の手順を示すフローチャートである。
電子棚札端末3の制御部301は、外部記憶データ保持部の各領域を「ブロック論理No=000、データバージョン=000、データ日付け=0年0月0日0時0分、データ本体=オール(全て)0、CS=FFFF…(NGの状態)」とすることにより外部記憶データ保持部をイニシャライズする(ステップS1001)。
【0056】
次に、
図22を参照して、電子棚札端末3による電源投入時の処理について説明する。
図22は、本実施形態による電源投入時の処理の手順を示すフローチャートである。
まず、電子棚札端末3の制御部301は、必要なハードウェア(H/W)をイニシャライズする(ステップS1101)。次に、制御部301は、必要はソフトウェア(S/W)をイニシャライズする(ステップS1102)。次に、制御部301は、
図21に示す外部記憶データ保持部のイニシャライズ処理を行う(ステップS1103)。最後に、制御部301は、
図19に示す端末参加処理を行う(ステップS1104)。
【0057】
次に、
図23を参照して、電子棚札端末3による再接続時の処理について説明する。
図23は、本実施形態による再接続時の処理の手順を示すフローチャートである。
まず、電子棚札端末3の制御部301は、中継装置2との無線同期を維持しているか否かを判定する(ステップS1201)。具体的には、制御部301は、所定間隔毎に無線同期データを受信している場合に無線同期を維持していると判定し、所定時間以上無線同期データを受信していない場合に無線同期を維持していないと判定する。制御部301は、中継装置2との無線同期を維持している場合(ステップS1201:Yes)には通常処理を行う(ステップS1202)。一方、制御部301は、中継装置2との無線同期を維持していない場合(ステップS1201:No)には、無線の周波数チャネルを変えながら無線同期パターンを検索して、中継装置2をサーチする(ステップS1203)。そして、制御部301は、中継装置2のサーチに成功した否かを判定する(ステップS1204)。制御部301は、中継装置2のサーチに失敗した場合(ステップS1204:No)にはステップS1203へ戻る。一方、制御部301は、中継装置2のサーチに成功した場合(ステップS1204:Yes)には、外部記憶データ保持部に記憶された外部記憶データのCSをチェックする。(ステップS1205)。そして、制御部301は、CSのチェックがOKであるかNGであるかを判定する(ステップS1206)。制御部301は、CSのチェックがNGであれば(ステップS1206:No)、
図21に示す外部記憶データ保持部のイニシャライズ処理を行う(ステップS1207)。そして、最後に、制御部301は、
図19に示す端末参加処理を行う(ステップS1208)。
【0058】
次に、
図24を参照して、棚札管理装置1によるシステムデータ更新処理について説明する。
図24は、本実施形態によるシステムデータ更新処理の手順を示すフローチャートである。
棚札管理装置1は、システムデータ保持部105Aにおいてシステムデータの更新があった場合に、以下に示すシステムデータ更新処理を行う。なお、棚札管理装置1は、システムデータが大きく(所定値より多く)変更された場合には、
図13に示すデータ同期処理を行ってもよい。
【0059】
まず、棚札管理装置1の制御部101は、システムデータに更新のあったブロック論理Noを抽出する(ステップS1301)。次に、制御部101は、変更のあった(ブロック論理Noを抽出した)ブロック全てに対して以下に示すステップS1303〜S1308までの処理を行ったか否かを判定する(ステップS1302)。制御部101は、変更のあったブロック全て終了した場合(ステップS1302:Yes)には処理を終了する。一方、制御部101は、変更のあったブロック全て終了していない場合(ステップS1302:No)には、抽出したブロック論理No(以下、対象ブロック論理Noとする)に格納する外部記憶データのデータバージョンとデータ日付け付番する(ステップS1303)。そして、制御部101は、外部記憶データのCSを算出する(ステップS1304)。
【0060】
次に、制御部101は、外部記憶データ管理テーブル105Bから対象ブロック論理Noの端末IDを読み出す(ステップS1305)。そして、制御部101は、読み出した端末IDの電子棚札端末3に対して、
図15に示す外部記憶データ送信処理を行う(ステップS1306)。次に、制御部101は、読み出した端末IDを対象ブロック論理Noに対応付けて外部記憶データ管理テーブル105Bに書き込む(ステップS1307)。そして、制御部101は、端末管理テーブル105Cの読み出した端末IDに対応する外部記憶データ有無を「1」にする(ステップS1308)。そして、制御部101は、対象ブロック論理Noを次の抽出したブロック論理Noとし(ステップS1309)、ステップS1302へ戻る。
【0061】
次に、
図25を参照して、棚札管理装置1による端末品質管理処理について説明する。
図25は、本実施形態による端末品質管理処理の手順を示すフローチャートである。
棚札管理装置1は、電子棚札端末3との通信が発生した際に、この図に示す端末品質管理処理を行う。この端末品質管理処理は、端末品質値Qに基づいて、外部記憶データを保持する電子棚札端末3を代替する処理である。
【0062】
まず、棚札管理装置1の制御部101は、通信の必要性があるか否かを判定する(ステップS1401)。制御部101は、通信の必要性がない場合にはステップS1401へ戻る。一方、制御部101は、通信の必要性がある場合には、電子棚札端末3と通信を実行する。制御部101は、例えば、商品の価格情報が変更になったときに電子棚札端末3の表示データを書き換える場合等、電子棚札端末3に送信するデータがあるときに通信の必要性があると判定する。そして、制御部101は、通信を実行した電子棚札端末3(以下、通信実行電子棚札端末3とする)から受信したデータに基づき、端末管理テーブル105Cを更新する(ステップS1402)。具体的には、制御部101は、通信実行電子棚札端末3から受信したデータに含まれる電池残量を端末管理テーブル105Cに書き込む。
【0063】
次に、制御部101は、端末管理テーブル105Cにおいて、更新したデータに基づき、通信実行電子棚札端末3の端末品質値を再度算出して更新する(ステップS1403)。次に、制御部101は、通信実行電子棚札端末3の外部データ有無が「1」であるか否かを判定する(ステップS1404)。外部データ有無が「0」である場合(ステップS1404:No)には処理を終了する。一方、制御部101は、外部データ有無が「1」である場合(ステップS1404:Yes)には、通信実行電子棚札端末3の端末品質値が所定の閾値以下であるか否かを判定する(ステップS1405)。端末品質値が閾値以下でない場合(ステップS1405:No)には処理を終了する。一方、制御部101は、端末品質値が閾値以下である場合(ステップS1405:Yes)には、端末管理テーブル105Cの外部データ有無が「0」であり、かつ、端末品質値が通信実行電子棚札端末3より大きい電子棚札端末3を抽出する(ステップS1406)。そして、制御部101は、抽出した電子棚札端末3(以下、代替候補電子棚札端末3とする)に対して
図15に示す外部記憶データ送信処理を行う(ステップS1407)。次に、制御部101は、代替候補電子棚札端末3から外部記憶データ応答「OK」を受信したか否かを判定する(ステップS1408)。制御部101は、外部記憶データ応答「OK」を受信した場合(ステップS1408:Yes)には、端末代替処理を行い、代替成功として処理を終了する(ステップS1409)。具体的には、制御部101は、端末管理テーブル105Cにおいて、通信実行電子棚札端末3の外部データ有無を「0」とし、代替候補電子棚札端末3の外部データ有無を「1」とする。そして、制御部101は、外部記憶データ管理テーブル105Bにおける通信実行電子棚札端末3の端末IDを代替候補電子棚札端末3の端末IDに書き換える。
【0064】
一方、制御部101は、外部記憶データ応答「OK」を受信しなかった場合(ステップS1408:No)には、抽出した全ての代替候補電子棚札端末3に対して外部記憶データ送信処理が終了したか否かを判定する(ステップS1410)。全ての代替候補電子棚札端末3に対して終了している場合には、代替失敗として処理を終了する。一方、全ての代替候補電子棚札端末3に対して終了していない場合には、ステップS1407へ戻る。
【0065】
図26は、本実施形態によるデータ参照処理の動作を示すシーケンス図である。このデータ参照処理は、棚札管理装置1が各電子棚札端末3の保持する外部記憶データを収集する処理である。
まず、棚札管理装置1が、外部記憶データを要求するコマンドである外部記憶データリクエストを電子棚札端末3に送信する(ステップS1501)。電子棚札端末3は、外部記憶データリクエストを受信すると、外部記憶データを外部記憶データ保持部から読み出し、読み出した外部記憶データを含む端末データを棚札管理装置1に送信する(ステップS1502)。電子棚札端末3が送信する端末データは、外部記憶データ識別と、ブロック論理Noと、電池残量と、データバージョンと、データ日付けと、外部記憶データと、CSとを含む(
図26(b)参照)。外部記憶データ識別は、外部記憶データを含むことを表す識別子である。
【0066】
次に、
図27を参照して、棚札管理装置1によるデータ参照処理について説明する。
図27は、本実施形態によるデータ参照処理の手順を示すフローチャートである。
まず、棚札管理装置1の制御部101は、kに1を代入する(ステップS1601)。次に、制御部101は、該当ブロックの端末ID(k)を外部記憶データ管理テーブル105Bから読み出す(ステップS1602)。次に、制御部101は、読み出した端末ID(k)の電子棚札端末3に外部記憶データリクエストを送信する(ステップS1603)。そして、制御部101は、送信した外部記憶データリクエストに対する応答である端末データを受信したか否かを判定する(ステップS1604)。制御部101は、端末データを受信した場合(ステップS1604:Yes)には、参照成功として処理を終了する。一方、制御部101は、応答を受信していない場合(ステップS1604:No)には、kに1を加算する(ステップS1605)。そして、制御部101は、該当ブロックの端末ID(k)に端末IDが設定されているか否かを判定する(ステップS1606)。制御部101は、端末IDが設定されている場合(ステップS1606:No)には、ステップS1602へ戻る。一方、制御部101は、端末IDが設定されていない場合(ステップS1606:Yes)には、参照失敗として処理を終了する。
【0067】
次に、
図28及び
図29を参照して、棚札管理装置1によるデータ再構築処理について説明する。
図28及び
図29は、本実施形態によるデータ再構築処理の手順を示すフローチャートである。
このデータ再構築処理は、棚札管理装置1の故障等により棚札管理装置1の交換を実施したときに、電子棚札端末3から外部記憶データを収集してシステムデータを復元する処理である。このデータ再構築処理を開始するときは、外部記憶データ管理テーブル105Bと端末管理テーブル105Cとは全て初期状態である。
【0068】
まず、棚札管理装置1の制御部101は、外部記憶データリクエストを全ての電子棚札端末3にブロードキャスト送信する(ステップS1701)。次に、制御部101は、電子棚札端末3から端末データを受信したか否かを判定する(ステップS1702)。制御部101は、端末データを受信した場合には(ステップS1702:Yes)、受信した端末データに基づき端末管理テーブル105Cを更新する(ステップS1704)。具体的には、受信した端末データに含まれる端末IDと、外部データ有無「0」と、受信した端末データに含まれる電池残量と、通信エラー回数「0」と、端末再接続回数「0」と、上述した式(1)により算出した端末品質値との組のレコードを新たに端末管理テーブル105Cに追加する。
【0069】
次に、制御部101は、受信した外部記憶データのCSチェックを行う。(ステップS1705)。そして、制御部101は、CSチェックがNGであればステップS1702へ戻る。一方、制御部101は、CSチェックがOKであれば、受信した端末データを一時バッファ105Dに格納する(ステップS1706)。このとき、制御部101は、ブロック論理No毎に、各電子棚札端末から受信した端末データ(端末IDと、データバージョンと、データ日付けと、CSと、外部記憶データ)を対応付けて一時バッファ105Dに書き込む(
図30参照)。
【0070】
一方、制御部101は、電子棚札端末3から端末データを受信していない場合(ステップS1702:No)には、ブロードキャスト送信してから所定時間経過した(タイムアップ)か否かを判定する(ステップS1703)。この所定時間は、全ての電子棚札端末3から外部記憶データを受信したことを担保するための時間である。制御部101は、所定時間経過していない場合(ステップS1703:No)にはステップS1702へ戻る。
【0071】
一方、制御部101は、所定時間経過した場合(ステップS1703:Yes)には、対象ブロックNoを「D11」とする(ステップS1707)。そして、制御部101は、対象ブロックNoの外部記憶データが一時バッファ105Dに記憶されているか否かを判定する(ステップS1708)。制御部101は、一時バッファ105Dに外部記憶データが記憶されていない場合(ステップS1708:No)には再構築失敗として処理を終了する。
【0072】
一方、制御部101は、一時バッファ105Dに外部記憶データが記憶されている場合(ステップS1708:Yes)には、対象ブロックNoに対応する端末データのCSを全て読み出す。そして、制御部101は、読み出したCSを比較し、値の一致するCS数を計数し、計数したCS数が読み出したCSのうち過半数を示すCSがあるか否かを判定する(ステップS1709)。制御部101は、過半数を示すCSがない場合(ステップS1709:No)には再構築失敗として処理を終了する。一方、制御部101は、過半数を示すCSがある場合(ステップS1709:Yes)には、過半数を示すCSを持つ端末IDを一時バッファ105Dから読み出し、読み出した端末IDを対照ブロックNoに対応付けて外部記憶データ管理テーブル105Bに書き込む(ステップS1710)。すなわち、制御部(復元部)101は、複数の電子棚札端末3から同一ブロックの外部記憶データを受信した場合には、受信した複数の外部記憶データを比較し、データ内容の一致する外部記憶データ数を計数し、計数した外部記憶データ数の多い外部記憶データに基づいて、システムデータを復元する。
【0073】
次に、制御部101は、端末管理テーブル105Cを更新する(ステップS1711)。具体的には、制御部101は、外部記憶データ管理テーブル105Bに書き込んだ端末IDに対応する外部データ有無を「1」にする。次に、制御部101は、外部記憶データ管理テーブル105Bに書き込んだ端末IDに対応する外部記憶データを一時バッファ105Dから読み出し、読み出した外部記憶データを対象ブロックNoのブロックに書き込むことにより、システムデータ保持部105Aを更新する(ステップS1712)。最後に、制御部101は、システムデータ保持部105Aの全てのブロックについて終了したか否かを判定する(ステップS1713)。全てのブロックについて終了した場合には再構築成功として処理を終了する。一方、全てのブロックについて終了していない場合には、対象ブロックNoを次のブロックとし(ステップS1714)、ステップS1708へ戻る。
【0074】
なお、棚札管理装置1は、このデータ再構築処理の終了後に
図13に示すデータ同期処理を行ってもよい。
また、上述したデータ再構築処理では、ステップS1709において、多数決方式にて再構築に用いる外部記憶データを選択しているが、例えば、データ日付けやデータバージョンが最新の外部記憶データを選択してもよい。
【0075】
このように、本実施形態によれば、棚札管理装置1は、システムデータを分割し、分割したシステムデータを電子棚札端末3に保持させる。これにより、棚札管理装置1に故障が発生した場合には、電子棚札端末3から分割したシステムデータを収集することにより、システムデータを容易に復元することができる。
また、既存の電子棚札端末3をシステムデータの外部記憶装置として利用するため、外部記憶装置を新たに用意する必要がない。
また、1つのブロックの外部記憶データを複数台の電子棚札端末3が保持しているため、例えば、1台の電子棚札端末3に故障や電池切れ、盗難等の事故が発生した場合であっても、他の電子棚札端末3を用いてシステムデータを復元することができる。
また、重要度の高いデータほどより多くの電子棚札端末3が保持するため、より耐障害性が向上する。
また、棚札管理装置1は、外部記憶データを保持する電子棚札端末3として端末品質値の大きな電子棚札端末3を優先的に選択するため、より外部記憶装置としての信頼性が向上する。
また、棚札管理装置1は、システムデータを再構築(復元)する際に、1つのブロックに対して複数の電子棚札端末3から異なる外部記憶データを受信した場合には、多数決方式にて再構築に用いる外部記憶データを決定する。これにより、例えば、1台の電子棚札端末3の保持する外部記憶データが無効であった場合であっても、他の電子棚札端末3を用いてシステムデータを復元することができる。
【0076】
また、
図10,
図13から
図29までに示す各ステップを実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、各処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものであってもよい。
また、「コンピュータシステム」は、WWWシステムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、フラッシュメモリ等の書き込み可能な不揮発性メモリ、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
【0077】
さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(例えばDRAM(Dynamic Random Access Memory))のように、一定時間プログラムを保持しているものも含むものとする。
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。
【0078】
以上、図面を参照してこの発明の一実施形態について詳しく説明してきたが、具体的な構成は上述のものに限られることはなく、この発明の要旨を逸脱しない範囲内において様々な設計変更等をすることが可能である。
例えば、本実施形態では、CSを用いて外部記憶データの有効性をチェックしたが、CRC(Cyclic Redundancy Check)等他の誤り検出データを用いてもよい。