以下、図1〜図16を参照して、実施形態に係るサーバ、プログラムおよび情報処理装置について説明する。実施形態では、管理サーバをサーバとして説明する。また、テナントを店舗として説明する。また、ショッピングセンターを商業施設として説明する。また、POS端末を情報処理装置として説明する。また、テナントで販売する商品を販売対象として説明する。なお、以下に説明する実施形態によりこの発明が限定されるものではない。
図1は、実施形態のシステムを示す図である。本システムは、管理サーバ1とSC(ショッピングセンター)2a、SC2b、SC2c(総称して「SC2」という)とを備える。SC2aとSC2bとSC2cは、同一企業が運営するショッピングセンターである。SC2aの内部には、テナント3aとテナント3bが設けられている。SC2bの内部には、テナント3cとテナント3dが設けられている。SC2cの内部には、テナント3eとテナント3fが設けられている(テナント3a〜テナント3fを総称して「テナント3」という)。テナント3とは、SC2内の一区画を借り受けて企業が営業する店舗をいう。
また、テナント3aには、POS(Point of Sales)端末4aとPOS端末4bが設置されている。テナント3bには、POS端末4cとPOS端末4dが設置されている。テナント3cには、POS端末4eとPOS端末4fが設置されている。テナント3dには、POS端末4gとPOS端末4hが設置されている。テナント3eには、POS端末4iとPOS端末4jが設置されている。テナント3fには、POS端末4kとPOS端末4lが設置されている(POS端末4a〜POS端末4lを総称して「POS端末4」という)。
管理サーバ1は、SC2の外部(例えばSC2を運営する企業の本部)に設置されたサーバである。管理サーバ1は、専用回線や公衆回線やLAN(Local Area Network)等の有線または無線の通信回線5を介して、POS端末4のそれぞれと直接接続されている。
POS端末4は、入力された商品コードに基づいて商品情報(商品名、価格等)を読み出して、商品販売処理を実行する。またPOS端末4は、商品販売処理を実行した商品の取引情報に基づいて、決済処理を実行する。
また、POS端末4は、例えばテナント3での業務終了時に精算処理を実行する。すなわちPOS端末4は、決済処理に伴い記憶した商品情報や合計金額に基づいて、所定期間(例えば一日)における当該POS端末4で販売した商品の商品情報や決済情報等を集計した精算データを作成する。POS端末4は、作成した精算データを、所定のタイミングで、当該精算データを作成したPOS端末4を特定するPOS端末情報とともに、通信回線5を介して直接管理サーバ1に送信する。
管理サーバ1は、POS端末4から送信された精算データおよびPOS端末情報を受信処理する。受信処理は、管理サーバ1が、POS端末4から送信された精算データを受信する処理、および受信した精算データを、精算データを送信したPOS端末4と対応させて記憶する処理を含む。そして管理サーバ1は、精算データを受信処理してPOS端末4の売上、テナント3の売上、SC2の売上を管理する。
なお、多数のPOS端末4から所定以上の精算データが一度に送信されると、管理サーバ1は、送信された精算データをすべて受信処理しようとする。しかしながら、管理サーバ1の制御部100は、情報の処理能力に限界がある。そのため、このような処理の集中は、制御部100が適正に精算データの受信処理を実行できる能力の低下(例えば、送信された精算データを受信し記憶する処理速度の低下や、送信された精算データの受信と記憶に要する時間の増大)等のパフォーマンスの低下に繋がる恐れがある。そのため、制御部100のパフォーマンスを低下させないためには、制御部100が適正に受信処理を実行できる能力を超えないようにすることが必要となる。
図2は、テナント3の営業時間と閉店時間に対応して、POS端末4と管理サーバ1との間で実行される、精算データの収集のタイミングを示す図である。実施形態では、すべてのテナント3は、朝10時から夜の20時まで営業する。テナント3は、夜20時から翌朝10時までは閉店する。
POS端末4は、テナント3の営業時間中は、商品が販売される都度商品販売処理と決済処理を実行する。テナント3の営業が終了すると、POS端末4の担当者は、POS端末4を操作して精算業務を実行する。POS端末4は、担当者の精算業務の操作に伴い、POS端末4が記憶している商品情報や決済情報に基づいて、精算データを作成する。精算データとは、所定期間に売上げた商品の商品情報(商品コード、商品名、商品の価格等)や決済情報(売上金額、釣銭金額等)を累計した情報をいう。
担当者が精算業務を実行すると、POS端末4は、期間a内に精算処理を実行して精算データを作成する。期間aは、店舗の営業が終了してPOS端末4が精算処理を開始したタイミングから始まり、POS端末4が精算処理を実行して精算データを作成するのに充分な時間である。POS端末4は、作成した精算データが送信可能となったら、管理サーバ1に対して、当該POS端末4において精算データの送信が可能となったことを示す情報である通知a1を、当該POS端末4を特定する端末番号とともに、期間a内に通信回線5を介して送信する。管理サーバ1は、POS端末4から送信された通知a1を受信して、通知があったことを、同時に受信した端末番号で特定されるPOS端末4の情報として記憶する。このようにして、管理サーバ1は、精算データの送信が可能となったPOS端末4と精算データの送信が可能となっていないPOS端末4とを区別して管理する。ここで、POS端末4から精算データの送信が可能となったことを示す通知a1が来ない理由として、POS端末4において精算データの作成が終了していないか、管理サーバ1と通知a1が来ないPOS端末4との間の通信回線5に異常が発生したか、等が考えられる。
次に管理サーバ1は、期間aの経過後の所定の第1タイミングになると、期間b内にPOS端末4から精算データを収集する。すなわち管理サーバ1は、第1タイミングになると、SC2a内に設置されているPOS端末4a〜POS端末4dのうち、精算データの作成が終了したことを示す通知a1を受信しているすべてのPOS端末4(SC2aの単位でグルーピングされた「グループ1」とする)に対し、精算データを送信する旨の指示b1を同時に送信する。指示b1を受信したPOS端末4は、自身が記憶している送信可能な精算データb2を管理サーバ1に送信する。管理サーバ1は、POS端末4から受信した精算データb2を記憶する。同時に管理サーバ1は、精算データb2を受信したことを示す情報を記憶する。なお、所定の第1タイミングとは、SC2またはテナント3の閉店時間である20時から起算し、POS端末4が作成した精算データを管理サーバ1に送信可能となる充分な時間を考慮したタイミングである。
指示b1を送信したPOS端末4から精算データb2を受信した管理サーバ1は、次に、SC2b内に設置されているPOS端末4e〜POS端末4hのうち、精算データの作成が終了したことを示す通知a1を受信しているすべてのPOS端末4(SC2bの単位でグルーピングされた「グループ2」とする)に対し、精算データを送信する旨の指示b3を同時に送信する。指示b3を受信したPOS端末4は、自身が記憶している送信可能な精算データb4を管理サーバ1に送信する。管理サーバ1は、POS端末4から受信した精算データb4を記憶する。同時に管理サーバ1は、精算データb4を受信したことを示す情報を記憶する。
指示b3を送信したPOS端末4から精算データb4を受信した管理サーバ1は、次に、SC2c内に設置されているPOS端末4i〜POS端末4lのうち、精算データの作成が終了したことを示す通知a1を受信しているすべてのPOS端末4(SC2cの単位でグルーピングされた「グループ3」とする)に対し、精算データを送信する旨の指示b5を同時に送信する。指示b5を受信したPOS端末4は、自身が記憶している送信可能な精算データb6を管理サーバ1に送信する。管理サーバ1は、POS端末4から受信した精算データb6を記憶する。同時に管理サーバ1は、精算データb6を受信したことを示す情報を記憶する。管理サーバ1は、ここまでの処理を期間b内に実行する。なお、期間bは、第1タイミングの直後から開始し、該当するすべてのPOS端末4から精算データb6を受信するのに充分の期間である。
次に管理サーバ1は、期間bの経過後の第2タイミングになると、期間c内に、精算データを収集していないPOS端末4から、再度精算データを収集する。多くのPOS端末4は、管理サーバ1からの指示b1、b3、b5に対して精算データを送信する。しかしながら、通信回線5の不具合等の理由で管理サーバ1が精算データを受信できない場合がある。また、第1タイミング以降にPOS端末4から通知a1を受信する場合もある。このように第1タイミングでの指示b1、b3、b5に対するPOS端末4から精算データを受信できていないPOS端末4に対して、管理サーバ1は、期間bの終了後の第2タイミングにおいて、再度精算データ収集処理を開始する。なお、第2タイミングとは、第1タイミングから起算して、管理サーバ1が3つのグループから精算データを収集できる時間を考慮したタイミングである。
すなわち、管理サーバ1は、第2タイミングになると、精算データを収集していないPOS端末4がある場合は、当該すべてのPOS端末4に対し、精算データを送付する旨の指示c1を同時に送信する。指示c1を受信したPOS端末4は、自身が記憶している送信可能な精算データc2を管理サーバ1に送信する。管理サーバ1は、POS端末4から受信した精算データc2を記憶する。同時に管理サーバ1は、精算データc2を受信したことを示す情報を記憶する。なお、期間cは、第2タイミングの直後から開始し、指示c1を受信したすべてのPOS端末4から精算データc2を受信するのに充分の期間である。
期間cの終了後、管理サーバ1は、期間dにおいて、精算データb2、b4、b6、c2を受信したPOS端末4に対し、記憶している精算データをクリアする旨の指示d1を送信する。指示d1を受信したPOS端末4は、自身に記憶している精算データをクリア処理する。そしてPOS端末4は、精算データをクリアしたことを示す応答d2を管理サーバ1に送信する。管理サーバ1は、応答d2を受信し記憶する。なお、期間dは、指示d1を送信した直後から開始し、指示d1を受信したすべてのPOS端末4から応答d2を受信するのに充分の期間である。
図3は、管理サーバ1とPOS端末4aとの間の精算データの収集を示す図である。POS端末4aは、管理サーバ1からの指示に対して支障なく精算データを送信したとする。
POS端末4aは、期間aの間に精算データが送信可能であることを示す通知a1を管理サーバ1に送信する。管理サーバ1は、POS端末4aから送信された通知a1を、POS端末4aに対応させて記憶する。そして管理サーバ1は、第1タイミングになると、SC2a内に設置されているPOS端末4a〜POS端末4dのうち、精算データの作成が終了したことを示す通知a1を受信しているすべてのPOS端末4に対し、精算データを送付する旨の指示b1を同時に送信する。この結果、POS端末4aに対して精算データを送付する旨の指示b1が送信される。
POS端末4aは、指示b1を受信すると、POS端末4aが記憶している精算データb2を管理サーバ1に対して送信する。管理サーバ1は、POS端末4aから受信した精算データb2を、POS端末4aに対応させて記憶する。同時に管理サーバ1は、POS端末4aから精算データb2を受信したことを示す情報を、POS端末4aに対応させて記憶する。
管理サーバ1は、期間b内にPOS端末4aから精算データb2を受信しているため、第2タイミングで、POS端末4aに再度精算データの収集を行わない。
次に管理サーバ1は、期間dにおいて、POS端末4aに対して、記憶している精算データをクリアする旨の指示d1を送信する。指示d1を受信したPOS端末4aは、自身に記憶している精算データをクリア処理する。そしてPOS端末4aは、精算データをクリアしたことを示す応答d2を管理サーバ1に送信する。応答d2を受信した管理サーバ1は、応答d2を、POS端末4aに対応して記憶する。
図4は、管理サーバ1とPOS端末4fとの間の精算データの収集を示す図である。POS端末4fは、通信回線5の故障によって、第1タイミングにおける管理サーバ1からの精算データ収集に対して、精算データを送信できなかったとする。
POS端末4fは、期間aの間に精算データが送信可能であることを示す通知a1を管理サーバ1に送信する。管理サーバ1は、POS端末4fから送信された通知a1を、POS端末4fに対応させて記憶する。そして管理サーバ1は、第1タイミングになると、SC2a内に設置されているPOS端末4に対し、精算データを送付する旨の指示b1を同時に送信して精算データを収集する。
次に管理サーバ1は、SC2b内に設置されているPOS端末4e〜POS端末4hのうち、精算データの作成が終了したことを示す通知a1を受信しているすべてのPOS端末4に対し、精算データを送付する旨の指示b3を同時に送信する。この結果、POS端末4fに対して精算データを送付する旨の指示b3が送信される。POS端末4fは、指示b3を受信すると、POS端末4fが記憶している精算データb4を管理サーバ1に対して送信する。しかしながら、通信回線5が故障しているため、管理サーバ1は、POS端末4fが送信した精算データを受信しない。そのため、管理サーバ1は、POS端末4fから精算データb4を受信していないことを示すエラー情報を、POS端末4fに対応して記憶する。
管理サーバ1は、第2タイミングになると、エラー情報を記憶しているPOS端末4に対して再度指示c1を送信する。その結果、POS端末4fにも指示c1が送信される。POS端末4fは、指示c1を受信すると、POS端末4fが記憶している精算データc2を管理サーバ1に対して送信する。このときには、通信回線5が正常に戻っているとすると、管理サーバ1は、POS端末4fから送信された精算データc2を受信する。そして管理サーバ1は、POS端末4fから受信した精算データc2を、POS端末4fに対応させて記憶する。同時に管理サーバ1は、POS端末4fから精算データc2を受信したことを示す情報を、POS端末4fに対応させて記憶する。
次に管理サーバ1は、期間dにおいて、POS端末4fに対して、記憶している精算データをクリアする旨の指示d1を送信する。指示d1を受信したPOS端末4fは、自身に記憶している精算データをクリア処理する。そしてPOS端末4fは、精算データをクリアしたことを示す応答d2を管理サーバ1に送信する。応答d2を受信した管理サーバ1は、応答d2を、POS端末4fに対応して記憶する。
次に、図5を用いて、POS端末4のハードウェアについて説明する。図5において、POS端末4は、CPU(Central Processing Unit)31、ROM(Read Only Memory)32、RAM(Random Access Memory)33、メモリ部34等を備えている。CPU31は、制御主体となる。ROM32は、各種プログラムを記憶する。RAM33は、各種データを展開する。メモリ部34は、各種プログラムを記憶する。CPU31、ROM32、RAM33、メモリ部34は、互いにデータバス35を介して接続されている。CPU31とROM32とRAM33が、制御部300を構成する。すなわち、制御部300は、CPU31がROM32やメモリ部34に記憶されRAM33に展開された制御プログラム341に従って動作することによって、後述(図10を参照)の制御処理を実行する。
メモリ部34は、電源を切っても記憶情報が保持されるHDD(Hard Disc Drive)やフラッシュメモリ等の不揮発性メモリで構成され、制御プログラム341を含むプログラム等を記憶する。また、メモリ部34は、商品情報部342、売上情報部343、送信情報部344を備える。
商品情報部342は、当該POS端末4で一取引において商品販売処理された商品の商品情報を記憶する。売上情報部343は、当該POS端末4において決済処理された商品の商品情報と決済情報(総称して「販売データ」という)を累積的に記憶する。送信情報部344は、当該POS端末4の精算処理に応じて、所定期間内に販売された商品の販売データから作成された、所定期間の精算データを記憶する。
また、データバス35には、コントローラ36を介して、操作部37と表示部38と印字部39と読取部40が接続されている。操作部37は、種々の操作をするキーを備えたキーボードである。表示部38は、例えば液晶表示器であり、情報を表示する。印字部39は、例えばサーマルヘッドによってロール状のサーマル紙に商品情報や決済情報を印字してレシートを作成する。読取部40は、商品に付されたバーコード等のシンボルに含まれる商品コードを光学的に読取る。
また、データバス35には、通信部41が接続されている。通信部41は、通信回線5を介して管理サーバ1と電気的に接続している。
次に、図6を用いて、管理サーバ1のハードウェアについて説明する。図6において、管理サーバ1は、制御主体となるCPU11、各種プログラムを記憶するROM12、各種データを展開するRAM13、各種プログラムを記憶するメモリ部14等を備えている。CPU11、ROM12、RAM13、メモリ部14は、互いにデータバス15を介して接続されている。CPU11とROM12とRAM13が、制御部100を構成する。すなわち、制御部100は、CPU11がROM12やメモリ部14に記憶されRAM13に展開された制御プログラム141に従って動作することによって、後述する制御処理(図12〜図14を参照)を実行する。
メモリ部14は、電源を切っても記憶情報が保持されるHDD(Hard Disc Drive)やフラッシュメモリ等の不揮発性メモリで構成され、制御プログラム141を含むプログラム等を記憶する。また、メモリ部14は、精算データ記憶部142(詳細は図7および図8で説明する)を備えている。
また、データバス15には、コントローラ16を介して、操作部17と表示部18が接続されている。操作部17は、種々の操作をするキーを備えたキーボードである。表示部18は、例えば液晶表示器であり、情報を表示する。また、データバス15には、通信部19が接続されている。通信部19は、通信回線5を介して管理サーバ1と電気的に接続している。
次に、図7および図8を用いて、管理サーバ1のメモリ部14に設けられた精算データ記憶部142について説明する。図7は、管理サーバ1が期間bに精算データを収集したときのメモリマップである。すなわち、管理サーバ1は、期間bにおいては、POS端末4fから精算データを収集していない。その他のPOS端末4からは、精算データを収集している。
図7において、精算データ記憶部142は、SCコード部1421、テナントコード部1422、POS端末コード部1423、通知フラグ部1424、精算データフラグ部1425、精算データ部1426、クリアフラグ部1427を備えている。
SCコード部1421は、SC2を特定するSCコードを記憶する。実施形態では、SC2a、SC2b、SC2cの3種類のSC2を特定するSCコードを記憶している。テナントコード部1422は、テナント3を特定するテナントコードを、テナントが設置されているSC2に対応して記憶する。実施形態では、SC2aに対応して、テナント3aを特定するテナントコード「0001」と、テナント3bを特定するテナントコード「0002」が記憶されている。また、SC2bに対応して、テナント3cを特定するテナントコード「0003」と、テナント3dを特定するテナントコード「0004」が記憶されている。また、SC2cに対応して、テナント3eを特定するテナントコード「0005」と、テナント3fを特定するテナントコード「0006」が記憶されている。
POS端末コード部1423は、POS端末4を特定するPOS端末コードを記憶する。実施形態では、テナント3aに対応したPOS端末コード部1423は、POS端末4aを特定するPOS端末コードとPOS端末4bを特定するPOS端末コードを記憶している。同様に、テナント3bに対応したPOS端末コード部1423は、POS端末4cを特定するPOS端末コードとPOS端末4dを特定するPOS端末コードを記憶している。また、テナント3cに対応したPOS端末コード部1423は、POS端末4eを特定するPOS端末コードとPOS端末4fを特定するPOS端末コードを記憶している。同様に、テナント3dに対応したPOS端末コード部1423は、POS端末4gを特定するPOS端末コードとPOS端末4hを特定するPOS端末コードを記憶している。また、テナント3eに対応したPOS端末コード部1423は、POS端末4iを特定するPOS端末コードとPOS端末4jを特定するPOS端末コードを記憶している。同様に、テナント3fに対応したPOS端末コード部1423は、POS端末4kを特定するPOS端末コードとPOS端末4lを特定するPOS端末コードを記憶している。
通知フラグ部1424は、それぞれのPOS端末コードで特定されるPOS端末4において精算データの作成が終了したことを示す通知a1を、POS端末4から受信したか否かを示すフラグを記憶する。通知フラグ部1424は、各POS端末コード部1423に記憶したPOS端末コードに対応して設けられている。通知フラグ部1424は、当該POS端末コードで特定されるPOS端末4から通知a1を受信した場合に、受信したことを示す通知フラグ「1」を記憶する。通知フラグ部1424は、当該POS端末コードで特定されるPOS端末4から通知a1を受信していない場合に、通知フラグ「1」を記憶しない(通知a1を受信していないことを示すエラーフラグが記憶される)。
精算データフラグ部1425は、管理サーバ1から送信した指示(b1、b3、b5、c1のいずれか)に対し、POS端末4から精算データb2、b4、b6、c2のいずれかを受信したか否かを示すフラグを記憶する。精算データフラグ部1425は、各POS端末コード部1423に記憶したPOS端末コードに対応して設けられている。精算データフラグ部1425は、当該POS端末コードで特定されるPOS端末4から精算データb2、b4、b6、c2のいずれかを受信した場合に、受信したことを示す精算データフラグ「1」を記憶する。精算データフラグ部1425は、当該POS端末コードで特定されるPOS端末4から精算データb2、b4、b6、c2のいずれも受信していない場合に、精算データフラグ「1」を記憶しない(精算データb2、b4、b6、c2のいずれも受信していないことを示すエラーフラグが記憶される)。
精算データ部1426は、各POS端末コード部1423に記憶したPOS端末コードに対応して設けられている。精算データ部1426は、管理サーバ1から送信した指示b1、b3、b5、c1に対し、POS端末4から送信された精算データb2、b4、b6、c2のいずれかを記憶する。
クリアフラグ部1427は、管理サーバ1から送信した指示d1に対し、各POS端末4の送信情報部344に記憶された精算データのクリア処理が終了したことを示す応答d2を受信したか否かを示すフラグを記憶する。クリアフラグ部1427は、各POS端末コード部1423に記憶したPOS端末コードに対応して設けられている。クリアフラグ部1427は、POS端末4から応答d2を受信した場合に、受信したことを示すクリアフラグ「1」を記憶する。クリアフラグ部1427は、POS端末4から応答d2を受信していない場合にクリアフラグ「1」を記憶しない(POS端末4から応答d2を受信していないことを示すエラーフラグが記憶される)。
図7の場合、POS端末4fは、通知フラグ部1424の通知フラグは「1」であるが、精算データフラグ部1425のフラグがエラーフラグを示す「0」である。これは、管理サーバ1は、POS端末4fから精算データが送信可能であることを示す通知a1を受信したが、第1タイミングで送信した指示b3に対して、期間bの間に、POS端末4fから精算データを受信して記憶していないことを示す。なお、管理サーバ1は、その他のPOS端末4からは、期間bにおいて、正常に精算データを収集している。また、図7において、管理サーバ1は、期間cにおける精算データの収集と期間dにおける精算データのクリア処理は実行していない。そのため、クリアフラグ部1427にはフラグが記憶されていない。
図8は、管理サーバ1が期間cに精算データを収集した状態のメモリマップである。すなわち、管理サーバ1は、期間bでの精算データの収集に加え、期間cにおいて、POS端末4fに対して指示c1を送信し、POS端末4fから精算データc2を収集している。そのため、管理サーバ1は、管理するすべてのPOS端末4から精算データを収集している。そして管理サーバ1は、期間dにおいて、すべてのPOS端末4に対して、精算データをクリアする指示d1を送信し、すべてのPOS端末4から受信した応答d2に基づいて、クリアフラグ部1427にクリアフラグ「1」が記憶されている。
続いて、図9〜図10を用いて、POS端末4の制御処理について説明する。図9は、POS端末4の機能構成を示す機能ブロック図である。制御部300が、ROM32やメモリ部34に記憶された制御プログラム341を含む各種プログラムに従うことで、精算データ作成手段301、送信手段302、精算データ送信手段303を機能させる。
精算データ作成手段301は、販売された商品の所定期間の販売データに基づいて精算データを作成する機能を有する。
送信手段302は、作成された精算データが送信可能となったことを示す情報をサーバに送信する機能を有する。
精算データ送信手段303は、精算データが送信可能となったことを示す情報の送信に応じてサーバから受信した精算データの送信指示に応じて、精算データを送信する機能を有する。
次に、図10のフローチャートを用いて、POS端末4の制御部300が実行する制御処理について説明する。図10において、POS端末4を操作する担当者が読取部40を用いて商品に付されたコードを読み取らせた場合、制御部300は、読取部40が読み取った商品コードが入力されたか否かを判断する(S11)。商品コードが入力されたと判断した場合は(S11のYes)、制御部300は、入力された商品コードに基づいて商品情報を読み出して、当該商品情報を商品情報部342に記憶する商品販売処理を実行する(S12)。そして制御部300は、S11に戻る。
担当者は、顧客が購入するすべての商品についてコードを読み取らせたら、締めキー(図示せず)を操作する。商品コードが入力されていないと判断した場合は(S11のNo)、制御部300は、締めキーが操作されたか否かを判断する(S14)。操作されたと判断した場合は(S14のYes)、制御部300は、商品情報部342に記憶された商品情報に基づいて当該取引の決済処理を実行する(S15)。そして制御部300は、決済処理した商品の販売データを、売上情報部343に累積的に記憶する(S16)。そして制御部300は、商品情報部342に記憶されている商品情報をクリアしてS11に戻る。
担当者は、テナント3の営業が終了したら、当該POS端末4が所定期間に商品販売処理した商品について、精算業務を実行するために例えば精算キー(図示せず)を操作する。締めキーが操作されていないと判断した場合は(S14のNo)、制御部300は、精算キーが操作されたか否かを判断する(S21)。操作されたと判断した場合は(S21のYes)、制御部300(精算データ作成手段301)は、精算処理を実行し、売上情報部343に記憶された所定期間の販売データに基づいて、当該POS端末4が所定期間に商品販売処理した商品の精算データを作成する(S22)。そして制御部300は、作成した精算データを、送信情報部344に記憶する(S23)。精算データを送信情報部344に記憶したことにより、POS端末4から管理サーバ1に対し、精算データが送信可能となる。次に制御部300(送信手段302)は、管理サーバ1に対し、精算データの送信が可能となったことを示す通知a1を送信する(S24)。そして制御部300は、S11に戻る。
一方、精算キーが操作されていないと判断した場合は(S21のNo)、制御部300は、管理サーバ1から、精算データを送付する旨の指示(指示b1、b3、b5、c1のいずれか)を受信したか否かを判断する(S31)。受信したと判断した場合は(S31のYes)、制御部300(精算データ送信手段303)は、管理サーバ1に対し、送信情報部344に記憶した精算データを送信する(S32)。そして制御部300は、S11に戻る。
また、精算データを送付する旨の指示(指示b1、b3、b5、c1のいずれも)を受信していないと判断した場合は(S31のNo)、制御部300は、管理サーバ1から、精算データをクリアする旨の指示d1を受信したか否かを判断する(S41)。受信したと判断した場合は(S41のYes)、制御部300は、送信情報部344に記憶した精算データをクリアする(S42)。そして制御部300は、管理サーバ1に対し、精算データをクリアした応答d2を送信する(S43)。そして制御部300は、S11に戻る。また、指示d1を受信していないと判断した場合は(S41のNo)、制御部300は、S11に戻る。
続いて、図11〜図16を用いて、管理サーバ1の制御処理について説明する。図11は、管理サーバ1の機能構成を示す機能ブロック図である。制御部100が、ROM12やメモリ部14に記憶された制御プログラム141を含む各種プログラムに従うことで、受信手段101、記憶手段102、第1精算データ指示手段103、精算データ受信手段104、第2精算データ指示手段105、データクリア指示手段106を機能させる。
受信手段101は、複数のPOS端末4のそれぞれから、精算データの送信が可能となったことを示す情報を受信する機能を有する。
記憶手段102は、受信した精算データの送信が可能となったことを示す情報をPOS端末毎に記憶する機能を有する。
第1精算データ指示手段103は、受信した精算データの送信が可能となったことを示す情報を送信したPOS端末4置に対して、精算データの受信処理が適正に実行できる能力を超えないように時間差を設けて、前記情報によって送信可能が示された精算データの送信を順次指示する機能を有する。
精算データ受信手段104は、送信指示した前記情報処理装置から前記精算データを受信する機能を有する。
第2精算データ指示手段105は、所定の単位で複数グループ化した、受信した精算データの送信が可能となったことを示す情報を記憶した複数のPOS端末4に対して、精算データの受信処理が適正に実行できる能力を超えないようにグループ毎に時間差を設けて、前記情報によって送信可能が示された精算データの送信を指示する機能を有する。
図12〜図14は、管理サーバ1の制御処理の流れを示すフローチャートである。図12において、制御部100(受信手段101)は、POS端末4から、精算データの送信が可能となったことを示す通知a1を受信したか否かを判断する(S51)。受信したと判断した場合は(S51のYes)、制御部100(記憶手段102)は、通知a1を送信したPOS端末4に対応させて、通知a1を受信したことを示す通知フラグ「1」を通知フラグ部1424に記憶する(S52)。そして制御部100は、S51に戻る。
一方、通知a1を受信していないと判断した場合は(S51のNo)、制御部100は、所定の第1タイミングであるか否かを判断する(S61)。所定の第1タイミングであると判断した場合は(S61のYes)、制御部100は、精算データを収集するPOS端末4を指定する。実施形態では、制御部100は、まずグループ1に含まれるPOS端末4のうち、通知a1を受信しているPOS端末4を指定する(S62)。そして制御部100(第2精算データ指示手段105)は、指定したすべてのPOS端末4に対して、精算データを送付する旨の指示b1を同時に送信する(S63)。
このとき、制御部100は、グループ1のPOS端末4であってかつ通知a1を受信したPOS端末4に対してのみ、精算データを送付する旨の指示b1を送信する。言い換えると、グループ1以外のPOS端末4、およびグループ1に含まれるPOS端末4であって通知a1を受信していないPOS端末4には、精算データを送付する旨の指示b1を送信しない。そのため、S63で指示b1を送信したPOS端末4から一度に精算データを受信しても、制御部100は、適正に精算データを受信できる能力を超えることはない。
次に制御部100(精算データ受信手段104)は、指示b1を送信したPOS端末4から、精算データb2を受信したか否かを判断する(S71)。受信したと判断した場合は(S71のYes)、制御部100は、精算データ記憶部142の当該精算データを送信したPOS端末4に対応した精算データ部1426に、受信した精算データを記憶する(S72)。そして制御部100は、当該精算データを送信したPOS端末4に対応した精算データフラグ部1425に、精算データを受信したことを示す精算データフラグ「1」を記憶する(S73)。そして制御部100は、S71に戻り、指定した他のPOS端末4からの精算データの受信を待機する。受信したら、制御部100は、S72とS73の処理を実行する。
また、精算データb2を受信していないと判断した場合は(S71のNo)、制御部100は、指定したすべてのPOS端末4から精算データを受信したか否かを判断する(S81)。制御部100は、指定したすべてのPOS端末4について、精算データフラグ部1425に精算データフラグ「1」が記憶されている場合に、指定したすべてのPOS端末4から精算データを受信したと判断する。
まだ、指定したすべてのPOS端末4から精算データを受信していないと判断した場合は(S81のNo)、制御部100は、所定期間が経過したか否かを判断する(S85)。所定期間が経過していないと判断した場合は(S85のNo)、制御部100は、S71に戻って、POS端末4からの精算データの受信を待つ。一方、所定期間が経過したと判断した場合は(S85のYes)、制御部100は、精算データフラグ部1425にエラーフラグ「0」を記憶する(S86)。
S81でYesと判断した場合とS86で精算データフラグ部1425にエラーフラグ「0」を記憶したら、次に制御部100は、すべてのPOS端末4を指定したか否かを判断する(S83)。上記では、グループ1に含まれるPOS端末4が指定されているだけなので、Noと判断し、制御部100は、S62に戻って、グループ2に含まれるPOS端末4のうち、通知a1を受信しているPOS端末4を指定する。そして、上述の処理を実行した後、グループ3に含まれるPOS端末4のうち、通知a1を受信しているPOS端末4も指定し、同様の処理を実行する。このようにして、通知a1を受信しているすべてのPOS端末4を指定して、精算データを受信した場合(S83のYes)、制御部100は、第1タイミングでの精算データの受信状況を表示部18に表示する(S84)。そして制御部100は、S51に戻る。
図15は、S84における表示部18の表示例である。図15において、表示部18には、勘定日181、全体件数182、正常件数183、異常件数184、未処理件数185が表示される。勘定日181は、管理サーバ1がPOS端末4から精算データを収集した日である。全体件数182は、管理サーバ1がS62で指定したPOS端末4の台数である。正常件数183は、第1タイミングにおいて、管理サーバ1が精算データを受信して記憶したPOS端末4の台数である。異常件数184は、S86においてエラーフラグ「0」を記憶したPOS端末4の台数である。未処理件数185は、管理サーバ1が、未だPOS端末4から通知a1を受信していないPOS端末4の台数である。
また、表示部18には、精算データ記憶部142に記憶された、第1タイミングでの精算データの受信状況が表示される。具体的には、SC2を特定するSCコード186、テナント3を特定するテナントコード187、テナントコードで特定されるテナント3のテナント名188、POS端末4を特定するPOS端末コード189が表示される。
また、各POS端末コード189に対応して、POS端末4からの通知a1の受信の有無190、POS端末4からの精算データ(b2、b4、b6のいずれか)の受信の有無191、POS端末4からのクリアの応答d2の受信の有無192が表示される。いずれも、受信有の場合に「○」印が表示され、受信無の場合に「×」が表示される。
図15の場合、POS端末4fから精算データを受信していないので、POS端末4fに対応する精算データ191の欄が「×」印が表示されている。その他のPOS端末4からは、精算データを受信しているので、「○」印が表示されている。なお、第1タイミングでは、精算データのクリア処理は未実行であるため、データクリアに関する「○」「×」は表示されていない。
次に図13の説明に移る。S61において、所定の第1タイミングではないと判断した場合は(S61のNo)、制御部100は、所定の第2タイミングであるか否かを判断する(S91)。所定の第2タイミングであると判断した場合は(S91のYes)、制御部100は、精算データフラグ部1425に、S85におけるエラーフラグが記憶されているかを判断する(S92)。同時に制御部100は、S62で指定されていないPOS端末4であって、第1タイミング以降に通知フラグ部1424に通知フラグ「1」が記憶された(すなわち、第1タイミング以降に通知a1を受信した)POS端末4があるか否かを判断する(S92)。エラーフラグが記憶されている場合、あるいは、第1タイミング以降に通知フラグ「1」が記憶されたPOS端末4がある場合は(S92のYes)、制御部100は、該当するすべてのPOS端末4に対し、精算データを送付する旨の指示c1を同時に送信する(S93)。
次に制御部100は、指示c1に応じてPOS端末4から送信された精算データc2を受信したか否かを判断する(S94)。受信したと判断した場合は(S94のYes)、制御部100は、精算データ記憶部142の当該精算データc2を送信したPOS端末4に対応した精算データ部1426に、受信した精算データc2を記憶する(S95)。そして制御部100は、当該精算データc2を送信したPOS端末4に対応した精算データフラグ部1425に、精算データc2を受信したことを示す精算データフラグ「1」を記憶する(S96)。そして制御部100は、S94に戻り、他のPOS端末4からの精算データの受信を待機する。受信したら、S95とS96の処理を実行する。指示c1に応じて精算データc2を受信していないと判断した場合は(S94のNo)、制御部100は、S93で送信を指示したすべてのPOS端末4から精算データc2を受信したか否かを判断する(S101)。受信したと判断した場合は(S101のYes)、制御部100は、第1タイミングに第2タイミングを加えた精算データの受信状況を表示部18に表示する(S102)。
一方、すべてのPOS端末4から精算データを受信していないと判断した場合は(S101のNo)、制御部100は、期間cが経過したか否かを判断する(S107)。経過していないと判断した場合は(S107のNo)、制御部100はS94に戻る。
また、S92において、エラーフラグも記憶されておらず、第1タイミング以降に通知フラグ「1」も記憶されていない場合は(S92のNo)、制御部100は、精算データフラグ部1425に精算データフラグ「1」が記憶されているPOS端末4に対し、精算データをクリアする旨の指示d1を送信する(S103)。また、期間cが経過した場合も(S107のYes)、制御部100は、精算データフラグ部1425に精算データフラグ「1」が記憶されているPOS端末4に対し、精算データをクリアする旨の指示d1を送信する(S103)。また、S102の処理後も、制御部100は、精算データフラグ部1425に精算データフラグ「1」が記憶されているPOS端末4に対し、精算データをクリアする旨の指示d1を送信する(S103)。指示d1を受信したPOS端末4は、自身に記憶している精算データをクリア処理する。そしてPOS端末4は、精算データをクリアしたことを示す応答d2を管理サーバ1に送信する。制御部100は応答d2を受信する(S104)。応答d2を受信した制御部100は、応答d2を送信したPOS端末4に対応して、クリアフラグ部1427にクリアフラグ「1」を記憶する(S105)。そして制御部100は、このタイミングでの精算データの受信状況および精算データのクリア状況を表示部18に表示する(S106)。そして制御部100は、S51に戻る。
図16は、S106における表示例である。図16において、表示部18への表示項目は図15と同一である。ただし、S95においてPOS端末4fから精算データを受信し、S96において精算データフラグ「1」を記憶しているので、すべての精算データ191の欄に「○」印が表示されている。また、すべてのPOS端末4から応答d2を受信して、クリアフラグ「1」を記憶しているので、データクリア192の欄に「○」印が表示されている。
また、S91において、所定の第2タイミングではないと判断した場合は(S91のNo)、制御部100は、図14に示すように、特定のPOS端末4が指定されたか否かを判断する(S111)。担当者は、例えば第1タイミングや第2タイミング以外に、一または複数のPOS端末4の精算データを見たい場合、例えば操作部17から、精算データが見たいPOS端末4のPOS端末コードを入力する。すると、制御部100は、特定のPOS端末4が指定されたか否かを判断する。指定されたと判断した場合は(S111のYes)、制御部100は、指定されたPOS端末4に対し、精算データを送信する旨の指示を送信する(S112)。なお、特定のPOS端末4が指定されていないと判断した場合は(S111のNo)、制御部100は、S51に戻る。
次に制御部100は、精算データを送信する旨の指示を送信したPOS端末4から、精算データを受信したか否かを判断する(S113)。受信したと判断した場合は(S113のYes)、制御部100は、精算データ記憶部142の当該精算データを送信したPOS端末4に対応した精算データ部1426に、受信した精算データを記憶する(S114)。そして制御部100は、当該精算データを送信したPOS端末4に対応した精算データフラグ部1425に、精算データを受信したことを示す精算データフラグ「1」を記憶する(S115)。そして制御部100は、S113に戻り、他のPOS端末4からの精算データの受信を待機する。受信したら、制御部100は、S114とS115の処理を実行する。
また、POS端末4から精算データを受信していないと判断した場合は(S113のNo)、S112で指示を送信したすべてのPOS端末4から精算データを受信したか否かを判断する(S116)。受信したと判断した場合は、受信した精算データの受信状況を表示部18に表示する(S117)。そして制御部100は、S51に戻る。
また、すべてのPOS端末4から精算データを受信していないと判断した場合は(S116のNo)、制御部100は、所定期間経過したか否かを判断する(S118)。所定期間経過していないと判断した場合は(S118のNo)、制御部100は、S113に戻り精算データの受信を待機する。所定期間経過したと判断した場合は(S118のYes)、制御部100は、精算データを受信していないPOS端末4の精算データ部1426に、エラーフラグを記憶する(S119)。そして制御部100は、S117を処理する。
このような管理サーバ1によれば、制御部100は、POS端末4から、精算データが送信可能となったことを示す通知a1を受信して記憶する。そして制御部100は、第1タイミングになったら、通知a1を受信したPOS端末4のうち、まずグループ1に含まれるPOS端末4であって通知a1を受信したPOS端末4に対して精算データを収集するための指示b1を送信する。そして制御部100は、指示b1を送信したPOS端末4から精算データb2を受信する。このようにして受信処理の能力を超えないように時間差を設けた後、管理サーバ1の制御部100は、グループ2に含まれるPOS端末4であって通知a1を受信したPOS端末4に対して精算データを収集するための指示b3を送信する。そして制御部100は、指示b3を送信したPOS端末4から精算データb4を受信する。このようにして受信処理の能力を超えないように時間差を設けた後、制御部100は、グループ3に含まれるPOS端末4であって通知a1を受信したPOS端末4に対して精算データを収集するための指示b5を送信する。そして制御部100は、指示b5を送信したPOS端末4から精算データb6を受信する。
このように、制御部100は、グループ1に含まれるPOS端末4と、グループ2に含まれるPOS端末4と、グループ3に含まれるPOS端末4に対し、受信処理の能力を超えないように時間差を設けて順次指示(b1、b3、b5)を送信する。そのため、管理サーバ1は、指示b1を送信したPOS端末4と、指示b3を送信したPOS端末4と、指示b5を送信したPOS端末4とから、所定の時間差をもって分散させて精算データを受信することができるため、制御部100は、適正に精算データを受信できる能力を超えることはない。よって、管理サーバ1のパフォーマンスの低下を防止することができる。
以上、本発明の実施形態を説明したが、この実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。この実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更、組み合わせを行うことができる。この実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
例えば、実施形態では、管理サーバ1は、各グループ間に受信処理の能力を超えないように時間差を設けて順次POS端末4に精算データを送信するよう指示を送信するようにした。しかしながら、POS端末4をグループ化することなく、すべてのPOS端末4間に受信処理の能力を超えないように時間差を設けて順次精算データを送信するよう指示を送信するようにしてもよい。この場合、制御部100(第1精算データ指示手段103)は、S63において、S62で指定したPOS端末4に対し、精算データを送信するよう指示を送信する。そして制御部100は、当該POS端末4から精算データを受信すると、制御部100は、S72とS73の処理を実行する。そして、S81とS83の処理を経て、制御部100は、S62において次のPOS端末4を指定して、当該POS端末4に対して精算データを送信するよう指示を送信する。制御部100は、この処理を繰り返し、S83においてYesと判断された場合、S84の処理を実行する。
このようにすれば、制御部100は、複数のPOS端末4に対し、受信処理の能力を超えないように時間差を設けて順次指示を送信する。そのため、管理サーバ1は、POS端末4から、所定の時間差をもって分散させて精算データを受信することができるため、管理サーバ1の受信処理の能力を超えない。
また、実施形態では、POS端末4を情報処理装置として説明したが、例えば、各テナント3に設置され、POS端末4と接続した上位コンピュータを情報処理装置としてもよい。また、各SC2に設置され、POS端末4と接続した上位コンピュータを情報処理装置としてもよい。これらの場合、上位コンピュータは、POS端末4が作成した精算データを収集することで、精算データを管理サーバに送信可能とし、管理サーバ1からの指示に応じて収集した精算データを送信する。
また、実施形態では、SC2aとSC2bとSC2cは、同一の企業が運営するショッピングセンターであるとしたが、これらのSC2は異なる企業が運営するショッピングセンターであってもよい。
また、実施形態では、指示を送信したすべてのPOS端末4から精算データを受信してから次のグループのPOS端末に指示を送信したが、管理サーバ1の受信処理の能力を超えない範囲の時間差であれば、指示を送信したPOS端末4から精算データの受信を待たずに次のグループに指示を送信するようにしてもよい。
なお、実施形態の管理サーバ1で実行されるプログラムは、インストール可能な形式または実行可能な形式のファイルでCD−ROM、フレキシブルディスク(FD)、CD−R、DVD(Digital Versatile Disc)等のコンピュータで読み取り可能な記録媒体に記録されて提供される。
また、実施形態の管理サーバ1で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また、実施形態の管理サーバ1で実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成しても良い。
また、実施形態の管理サーバ1で実行されるプログラムを、ROM等に予め組み込んで提供するように構成してもよい。