初めに、一実施形態の概要について説明する。なお、この概要に付記した図面参照符号は、理解を助けるための一例として各要素に便宜上付記したものであり、この概要の記載はなんらの限定を意図するものではない。
一実施形態に係る自動販売機検量システムは、複数の自動販売機101と、管理サーバ102と、を含む(図1参照)。管理サーバ102は、自動販売機101が検量データを送信するか否かを判断する際の条件を規定する送信条件を自動販売機101に設定する。自動販売機101は、オンライン検量を有する自動販売機であって、送信条件を満たす検量データを管理サーバ102に送信する。
管理サーバ102から自動販売機101に設定する送信条件を適切に選択することで、情報として価値のある検量データ(売上や商品在庫に関する情報)が管理サーバ102に提供されることとなり、自動販売機101と管理サーバ102間の通信量を削減できる。例えば、検量データを1日に1回、管理サーバに送信することが設定されている自動販売機が存在したとする。この場合、当該自動販売機から送信されてくる検量データの内容に変化がなければ、日ごとに送信されている検量データは意味のないデータであるといえる。このような場合、例えば、上記自動販売機が検量データを管理サーバ102に送信する頻度を、1日1回から2日に1回あるいはそれ以上に設定することで、意味のない検量データの送信を抑制することが可能となる。
以下に具体的な実施の形態について、図面を参照してさらに詳しく説明する。なお、各実施形態において同一構成要素には同一の符号を付し、その説明を省略する。
[第1の実施形態]
第1の実施形態について、図面を用いてより詳細に説明する。
図2は、第1の実施形態に係る自動販売機検量システムの構成の一例を示す図である。図2を参照すると、自動販売機検量システムは、管理サーバ10と、複数の自動販売機20−1〜20−n(但し、nは正の整数。以下、同じ)と、管理者端末30と、を含んで構成される。なお、以降の説明において、自動販売機20−1〜20−nを区別する特段の理由が無い場合には、単に「自動販売機20」と表記する。
管理サーバ10は、自動販売機20の検量に関する動作と、自動販売機20が出力する検量データと、を管理する装置である。具体的には、管理サーバ10は、オンライン検量に対応する自動販売機20が検量データを管理サーバ10に送信するか否かを判断する際の条件を規定する条件(以下、送信条件と表記する)と、自動販売機20から収集した検量データと、を管理する。
管理サーバ10は、ユーザ(例えば、自動販売機検量システムの管理者)に対し、自動販売機20に設定する送信条件を入力するためのインターフェイスを提供する。例えば、管理サーバ10は、図3に示すような送信条件設定画面を、システム管理者が使用する管理者端末30に表示する(管理サーバ10から管理者端末30に向けて画像データを送信する)。システム管理者は、管理者端末30を操作して送信条件を管理サーバ10に入力する(管理者端末30は操作データを管理サーバ10に向けて送信する)。
図3を参照すると、システム管理者は、送信条件の設定を行う自動販売機20を選択する。さらに、システム管理者は、当該選択された自動販売機20に設定する送信条件を入力する。その際、管理サーバ10は、システム管理者が詳細な条件を入力できるようなグラフィカルユーザインターフェイス(GUI;Graphical User Interface)を提供する。例えば、図3に示すように、管理サーバ10は、各条件が論理和(OR)で接続された条件同士を論理積(AND)演算するような送信条件の入力に関するインターフェイスを提供する。つまり、管理サーバ10は、論理演算子の組み合わせによる条件を、送信条件として入力するためのインターフェイスをシステム管理者に提供する。
図3には、条件1及び条件2の評価が共に真(True)の場合に、ID(ID;Identifier)_1により指定される自動販売機20が検量データを管理サーバ10に送信する条件が示されている。
各条件について説明すると、条件1では、自動販売機20における売上金額が10万円を超えるか、自動販売機20が扱う商品X1の売上数が20個を越えるか、先に検量データを送信してから1日以上経過しているか(検量データを送信していない期間が1日以上か)、商品X1の在庫数が10個を下回っているか、各商品の在庫が切れた場合にその旨を報知するか、に関する設定が行われる。なお、以降の説明において、上記の検量データを送信していない期間を「未送信期間」と表記する。未送信期間とは、自動販売機20が検量データを未送信とすることが許容される期間と捉えることもできる。
また、図3では、商品X1に関する売上数や在庫数の設定が行えるインターフェイスが示されている。システム管理者が、他の商品に関する売上数や在庫数の設定を行う場合には、「商品X1の売上数」や「商品X1の在庫数」の横に示されたプルダウンメニューを用いて、設定したい商品を選択する。
条件2では、先に検量データを送信してから次に検量データを送信できるようになるまでの期間(検量データの連続送信を禁止する期間;送信禁止期間)に関する設定が行われる。図3の例では、先に検量データを送信してから1時間経過した後でなければ、次の検量データが送信できないことが示されている。つまり、送信禁止期間とは、自動販売機20が検量データを連続して送信することを禁ずる期間である。
図3の例では、条件1と条件2は論理積(AND)演算されるので、条件1と条件2の評価が共に真の場合に、自動販売機20は検量データを管理サーバ10に向けて送信可能となる。
なお、以降の説明では、売上金額に関する条件を示す変数をA、各商品の売上数に関する変数をB、検量データの未送信期間に関する変数をC、商品の在庫数に関する変数をD、商品在庫の報知に関する変数をE、送信禁止期間に関する変数をF、とそれぞれ表記する(図4参照)。また、個別の商品に関する売上数や在庫数に関する変数は序数と組み合わせて表記する。例えば、商品X1の売上数に関する変数はB1、商品X2の売上数に関する変数はB2のように表記する。例えば、上記の表記を用いると、売上金額に関する条件は、「A>100000(単位:円)」のように表現可能である。
図3に示す送信条件設定画面は例示であって、その内容を限定する趣旨ではない。例えば、図3には、条件1と条件2の論理積(AND)が送信条件として示されているが、さらなる条件が追加されてもよい。その場合には、例えば、図3に示す「条件追加ボタン」を押下することにより、条件3の入力を受け付ける画面を表示すればよい。あるいは、図3では、条件1と条件2の論理積(AND)を送信条件としているが、条件1と条件2の論理和(OR)を送信条件に設定できるようなインターフェイスを用意してもよい。具体的には、条件1と条件2を組み合わせる論理演算子として、AND及びORのいずれかを選択可能に構成してもよい。
図2に説明を戻すと、管理サーバ10は、入力された送信条件を選択された自動販売機20に向けて送信する。
自動販売機20は、飲料やタバコ等を販売する装置であって、オンライン検量に対応した自動販売機である。但し、自動販売機20が販売する商品を限定する趣旨ではなく、自動販売機20は他の商品を扱うものであってもよい。
自動販売機20は、管理サーバ10から受信した送信条件を満たす検量データ(売上金額や商品在庫に関する情報)を管理サーバ10に送信する。自動販売機20は、例えば、図5に示すような情報を検量データとして管理サーバ10に送信する。図5を参照すると、例えば、売上金額(未回収の売上金額)、商品ごとの売上数、商品ごとの在庫数等が検量データとして管理サーバ10に送信される。なお、図5に示す検量データにおいて、各商品の在庫数を「0」に設定することで、自動販売機20は管理サーバ10に対して「商品在庫切れ」を報知することができる。
管理サーバ10は、各自動販売機20から取得した検量データを内部に記憶する。また、管理サーバ10は、システム管理者等が管理者端末30を操作して、当該検量データの出力要求を行った場合には、指定された自動販売機20に関する検量データを出力する(システム管理者に提供する)。システム管理者は、当該検量データを参照し、商品補充や売上金の回収等に係る作業に利用する。
[管理サーバの構成及び動作]
図6は、第1の実施形態に係る管理サーバ10のハードウェア構成の一例を示すブロック図である。管理サーバ10は、所謂、コンピュータであり、図6に例示する構成を備える。例えば、管理サーバ10は、内部バスにより相互に接続される、CPU(Central Processing Unit)11、メモリ12、入出力インターフェイス13及びNIC(Network Interface Card)14等を備える。管理サーバ10は、NIC14を介して自動販売機20や管理者端末30と通信を行う。なお、図6に示す構成は、管理サーバ10のハードウェア構成を限定する趣旨ではない。管理サーバ10は、図示しないハードウェアを含んでもよい。
メモリ12は、RAM(Random Access Memory)、ROM(Read Only Memory)、HDD(Hard Disk Drive)等である。
入出力インターフェイス13は、図示しない入出力装置のインターフェイスとなる手段である。入出力装置には、例えば、表示装置、操作デバイス、外部記憶装置、印刷装置等が含まれる。表示装置は、例えば、液晶ディスプレイ等である。操作デバイスは、例えば、キーボードやマウス等である。外部記憶装置は、例えば、USB(Universal Serial Bus)メモリ等である。システム管理者は、管理者端末30を用いるのでは無く、管理サーバ10が備える入出力デバイス(液晶ディスプレイ、キーボード等)を用いて送信条件の入力を行ってもよい。
図7は、第1の実施形態に係る管理サーバ10の処理構成の一例を示すブロック図である。図7を参照すると、管理サーバ10は、通信制御部201と、送信条件処理部202と、自動販売機管理部203と、検量データ出力部204と、メモリ12により実現される記憶部205と、を含んで構成される。上記の通信制御部201から検量データ出力部204の処理モジュールは、例えば、メモリ12に格納されたプログラムをCPU11が実行することで実現される。また、そのプログラムは、ネットワークを介してダウンロードするか、あるいは、プログラムを記憶した記憶媒体を用いて、更新することができる。さらに、上記処理モジュールは、半導体チップにより実現されてもよい。即ち、上記処理モジュールが行う機能を何らかのハードウェア、及び/又は、ソフトウェアで実行する手段があればよい。
通信制御部201は、NIC14を制御し、自動販売機20や管理者端末30との間の通信を実現する手段である。管理サーバ10と自動販売機20は、例えば、3GやLTE(Long Term Evolution)等のモバイル回線、無線LAN(Local Area Network)、専用回線(有線)等により相互に接続される。通信制御部201は、他の装置(自動販売機20、管理者端末30)から受信したメッセージ(パケット)を各処理モジュール部に振り分ける、又は、他の装置に向けてメッセージを送信する手段でもある。
送信条件処理部202は、送信条件に関する制御、管理を行う手段である。具体的には、送信条件処理部202は、管理者端末30から「送信条件設定」に係る要求を受信すると、図3に例示するような送信条件設定画面に係る画像データを生成し、通信制御部201を介して当該画像データを管理者端末30に送信する。
また、送信条件処理部202は、通信制御部201を介してシステム管理者の操作(管理者端末30が送信する操作データ)を受信し、当該受信した操作データに応じた動作を行う。このように、送信条件処理部202は、システム管理者による送信条件の入力に関するインターフェイスを提供する。
さらに、送信条件処理部202は、システム管理者により入力された送信条件を自動販売機20に設定可能な形式に変換する機能を備える。より具体的には、送信条件処理部202は、システム管理者が入力した送信条件を論理演算子により組み合わされた少なくとも2以上の条件式を含む条件式により表現する。例えば、図3に例示された送信条件は以下の式(1)に示す条件式Kにより表せる。
K={(A>1000000)||(B1>20)||・・・||(C>24)||(D1<10)||・・・||(E==0)}&&{F>1} ・・・(1)
なお、上記式(1)における各変数は、上述のとおりである(図4参照)また、式(1)における「E==0」は、各商品の在庫切れに関する条件をまとめて表記している。実際には、商品ごとに在庫切れが判断されるため、「E1==0」や「E2==0」の論理和(OR)からなる。
上記(1)に示される条件式Kは、自動販売機20にて検量データを管理サーバ10に送信するか否かの判断に使用されため、管理サーバ10と自動販売機20の両者において、条件式に使用される変数の意味や単位の整合性の確保が必要である。例えば、上記条件式に使用される変数「A」の意味、解釈を管理サーバ10と自動販売機20の両者で揃えておく。あるいは、システム管理者が、管理者端末30を用いて各変数の意味や送信条件に使用する数値の単位を管理サーバ10に入力し、管理サーバ10が上記情報(変数の意味、単位)を自動販売機20に通知してもよい。
送信条件処理部202は、通信制御部201を介して送信条件(論理演算子の組み合わせからなる条件式)を選択された自動販売機20に向けて送信する。また、送信条件処理部202は、送信条件を送信した自動販売機20を特定するID情報と、当該送信条件に関する情報(送信条件を特定するファイル名、送信条件の送信日時)と、を自動販売機管理部203に提供する。
自動販売機管理部203は、自動販売機20ごとに、送信条件と検量データを記憶、管理する手段である。例えば、自動販売機管理部203は、図8に示すような自動販売機管理テーブルを用いて、送信条件と検量データを管理する。なお、自動販売機管理テーブルは記憶部205に構築されるテーブルである。
図8を参照すると、自動販売機20ごとに送信条件に関する情報(送信条件が記載されたファイル名、送信条件の送信日時)と検量データに関する情報(検量データが記載されたファイル名、検量データの取得日時)が管理されている。なお、図8の3行目に示された検量データ及び検量データ取得日時フィールドのハイフン(−)は、ID_3を有する自動販売機20に対応する検量データが未取得であることを示す。
自動販売機管理部203は、送信条件処理部202から提供される送信条件を管理する。具体的には、自動販売機管理部203は、自動販売機管理テーブルに登録されていない自動販売機20のID情報を取得した場合には、新規なレコードを自動販売機管理テーブルに追加する。あるいは、自動販売機管理部203は、既に自動販売機管理テーブルに登録されている自動販売機20のID情報を取得した場合には、当該自動販売機20に対応する送信条件に関する情報を更新する。
また、自動販売機管理部203は、通信制御部201を介して取得する検量データの管理を行う。具体的には、自動販売機管理部203は、検量データを自動販売機20から取得すると、当該取得した検量データに関する情報を自動販売機管理テーブルに反映する(テーブルを更新する)。
検量データ出力部204は、各自動販売機20から取得した検量データを出力する手段である。例えば、システム管理者が管理者端末30を操作し、自動販売機20を指定して検量データの出力を管理サーバ10に対して指示すると、検量データ出力部204は、指定された自動販売機20に対応する検量データを自動販売機管理テーブルから読み出して管理者端末30に応答する。
管理サーバ10の動作をまとめると、図9に示すフローチャートのとおりとなる。
ステップS101において、通信制御部201は、管理者端末30から送信条件設定に係る要求を受け付けたか否かを確認する。送信条件設定に係る要求を受け付けている場合には(ステップS101、Yes分岐)、ステップS102以降の処理が実行される。送信条件設定に係る要求を受け付けていない場合には(ステップS101、No分岐)、ステップS105以降の処理が実行される。
送信条件設定に係る要求を受け付けている場合には、送信条件処理部202は、図3に示すような送信条件設定画面に係る画像データを生成し、管理者端末30に送信する(ステップS102)。
ステップS103において、送信条件処理部202は、管理者端末30から操作データを受け付け、送信条件の入力を行う。その後、送信条件処理部202は、入力した送信条件を、条件式の形式に変換し自動販売機20に向けて送信する(ステップS104)。
通信制御部201は、自動販売機20から検量データを受信したか否かを確認する(ステップS105)。検量データを受信している場合には(ステップS105、Yes分岐)、通信制御部201は受信した検量データを自動販売機管理部203に引き渡す。自動販売機管理部203は、当該取得した検量データを用いて自動販売機管理テーブルを更新する(ステップS106)。
検量データを受信していない場合には(ステップS105、No分岐)、通信制御部201は、管理者端末30から検量データの出力に係る要求(検量データ出力要求)を受信したか否かを確認する(ステップS107)。検量データ出力要求を受信している場合には(ステップS107、Yes分岐)、通信制御部201は、その旨を検量データ出力部204に通知する。
検量データ出力部204は、指定された自動販売機20に対応する検量データを自動販売機管理テーブルから読み出し、当該検量データを出力する(ステップS108)。その後、ステップS101に戻り処理が継続される。
検量データ出力要求を受信していない場合には(ステップS107、No分岐)、ステップS101に戻り処理が継続される。
[自動販売機の構成及び動作]
図10は、第1の実施形態に係る自動販売機20のハードウェア構成の一例を示すブロック図である。自動販売機20は、図10に例示する構成を備える。例えば、自動販売機20は、内部バスにより相互に接続される、CPU21、メモリ22、NIC23等を備える。
なお、図10に示す構成は、自動販売機20のハードウェア構成を限定する趣旨ではない。自動販売機20は、図示しないハードウェアも含む。具体的には、図10には、自動販売機20が有する自動販売機としての機能を実現するためのハードウェア(商品を格納する格納手段、顧客が選択した商品を外部に排出する手段、商品購入代金を処理する決済手段等)が図示されていない。これらのハードウェアは既存の自動販売機にて用いられている手段を使用することができる。
図11は、第1の実施形態に係る自動販売機20の処理構成の一例を示すブロック図である。図11を参照すると、自動販売機20は、通信制御部301と、在庫及び売上管理部302と、検量データ管理部303と、検量データ送信部304と、メモリ22により実現される記憶部305と、を含んで構成される。上記の各処理モジュールは、管理サーバ10と同様に、例えば、メモリ22に格納されたプログラムをCPU21が実行することで実現される。
通信制御部301は、NIC23を制御し、管理サーバ10との間の通信を実現する手段である。通信制御部301は、管理サーバ10から送信条件を受信すると、当該送信条件を記憶部305に格納する。
在庫及び売上管理部302は、自動販売機20が取り扱う商品の売上金額と、各商品の在庫を管理する手段である。在庫及び売上管理部302は、顧客による商品購入や、自動販売機20の管理者(所謂、ルートマン)による商品補充が行われると(上記格納手段や決済手段から情報を取得すると)、売上金額や各商品の情報(売上数、在庫数)を更新する。また、在庫及び売上管理部302は、自動販売機20に蓄積された商品購入代金が回収されると、売上金額の初期化を行う。
在庫及び売上管理部302は、商品購入、商品補充、商品購入代金の回収等のイベントが発生すると、その旨及び上記イベントの詳細(例えば、購入商品名及びその数量)を検量データ管理部303に通知する。
検量データ管理部303は、管理サーバ10に送信が予定される検量データを生成し、管理する手段である。具体的には、検量データ管理部303は、在庫及び売上管理部302から上記イベントの発生を通知されると、当該通知の受信を契機として、検量データの更新を行う。
例えば、ある時刻の検量データが図12(a)のとおりであるとする。検量データ管理部303は、図12(a)に示す検量データの状態において、在庫及び売上管理部302から「商品X1の売上が1個」という通知を受け取ると、売上金額に商品X1の値段(図12の例では150円)を加算し、商品X1の売上数及び在庫数を更新する(図12(b)参照)。なお、各商品の値段等に関する情報は、記憶部305に予め登録されているものとする。
検量データ管理部303は、検量データの更新を行った場合には、その旨を検量データ送信部304に通知する。
検量データ送信部304は、管理サーバ10から設定された送信条件(条件式)に基づいて、検量データを管理サーバ10に送信するか否かを判断する手段である。具体的には、検量データ送信部304は、検量データ管理部303から上記通知(検量データの更新)を受信したタイミングや、予め定めたタイミング(例えば、10分ごと)にて、当該タイミングでの検量データが送信条件を満たすか否かを判定し、送信条件を満たす場合に検量データを管理サーバ10に向けて送信する。なお、検量データ送信部304は、自動販売機20から管理サーバ10に向けて検量データが送信された直近の日時を少なくとも保持、管理する。
例えば、システム管理者が入力した送信条件が図3のとおりであるとすると、その送信条件は上記の式(1)で表現される。また、直近の検量データ送信日時は「2015/1/1 10:00」とする(図13(a)参照)。
さらに、検量データ送信部304が検量データの送信可否を判断するタイミング(現在時刻;2015/1/1 12:00)での検量データが図13(b)のとおりであるとする。この場合、条件1の売上金額に関する条件式(変数Aを含む条件式)が真となり、且つ、現在時刻と直近の検量データ送信時刻との差が2時間であるので送信禁止期間に関する条件2(変数Fを含む条件式)も真となる。従って、図13(a)に示す条件式Kの全体に対する評価が真となり、検量データ送信部304は、図13(b)に示す検量データは管理サーバ10に送信可能と判定する。
あるいは、図13(c)に示すように、条件1の売上金額や商品個数(売上数、在庫数)に関する条件式が偽(変数A、B、D及びEを含む条件式の評価が偽)であっても、現在時刻が「2015/1/2 10:10」であり、検量データを24時間以上送信していないので未送信期間に関する条件式(変数Cを含む条件式)が真となる場合がある。この場合、条件2に関する評価も当然真となるので、検量データ送信部304は、図13(c)に示す検量データを管理サーバ10に送信可能と判定する。
あるいは、図13(d)に示すように、条件1が真(変数Aを含む条件式と変数B1を含む条件式の評価が真)であっても、現在時刻と直近の検量データ送信時刻の差が1時間以内であるので、条件2(変数Fを含む条件式;送信禁止期間に関する条件)が偽(False)となる場合がある。この場合には、検量データ送信部304は、図13(d)に示す検量データを管理サーバ10に送信不可と判定する。
検量データ送信部304は、検量データが送信可能と判定した場合には、当該検量データと、管理サーバ10との間で取り決めた自身(自動販売機20)のID情報と、を管理サーバ10に向けて送信する。また、検量データ送信部304は、当該検量データを管理サーバ10に向けて送信した場合には、直近の検量データ送信日時を更新する。
自動販売機20の動作をまとめると、図14に示すフローチャートのとおりとなる。
ステップS201において、通信制御部301は、管理サーバ10から送信条件を受信したか否かを確認する。送信条件を受信していれば(ステップS201、Yes分岐)、通信制御部301は受信した送信条件(条件式)を記憶部305に格納する(ステップS202)。
送信条件を受信していなければ(ステップS201、No分岐)、ステップS203以降の処理が実行される。
ステップS203において、在庫及び売上管理部302は、商品購入、商品補充、商品購入代金の回収等のイベントが発生したか否かを確認する。イベントが発生していれば(ステップS203、Yes分岐)、在庫及び売上管理部302は、その旨を検量データ管理部303に通知する。当該通知を受信した検量データ管理部303は、記憶部305に記憶された検量データを、在庫及び売上管理部302から取得した内容に応じて更新する(ステップS204)。
検量データを更新した場合や、イベントが発生していなくとも(ステップS203、No分岐)予め定めたタイミングとなった場合に、検量データ送信部304は、記憶部305に記憶された検量データと送信条件を用いて、当該検量データが送信条件を満たすか否かを判定する(ステップS205)。
検量データが送信条件を満たす場合には(ステップS205、Yes分岐)、検量データ送信部304は、当該検量データを管理サーバ10に向けて送信する(ステップS206)。検量データが送信条件を満たさない場合には(ステップS205、No分岐)、ステップS201以降の処理が継続される。
[自動販売機検量システムの動作]
次に、第1の実施形態に係る自動販売機検量システムの動作について説明する。
図15は、自動販売機検量システムの動作の一例を示すシーケンス図である。
ステップS01において、管理サーバ10は、システム管理者による送信条件を入力する。その後、管理サーバ10は、当該入力された送信条件を指定された自動販売機20に設定する(ステップS02)。
上記送信条件が設定された自動販売機20は、所定のタイミングにて送信条件と検量データを比較し、検量データが送信条件を満たすか否かを判定する(ステップS11)。検量データが送信条件を満たすと判定されると、自動販売機20は、当該検量データを管理サーバ10に向けて送信する(ステップS12)。
管理サーバ10は、システム管理者等から検量データの出力を要求されると、指定された自動販売機20に関する検量データを出力する(ステップS03)。
以上のように、第1の実施形態では、管理サーバ10が送信条件を自動販売機20に設定し、自動販売機20は当該設定された送信条件に従って、検量データの送信可否を判断している。そのため、送信条件を適切に選択することで、管理サーバ10と自動販売機20の間の通信量を抑制できる。つまり、送信条件を適切に選択することで、システム管理者等にとって意味のない検量データ(例えば、売上や在庫等にほぼ変化のない検量データ)の送信が抑制され、意味のある検量データが選択的に送信されることになる。
また、自動販売機のオンライン検量を実現するため、自動販売機の運営事業者は、モバイル回線を運営するキャリアとネットワークの使用に関する契約を締結することがある。この場合、自動販売機20と管理サーバ10間の通信量に応じて、通信料金が決まることも多く、通信量が削減されれば自動販売機検量システムの運用コストも低減することになる。
さらに、検量データを商品の販促に利用することが考えられる。この場合、リアルタイムで顧客の売買動向を把握することが理想である。その際、送信条件を用いずにリアルタイムに売買動向の把握を実現しようとすれば、商品の売上に関わらず、所定の間隔にて検量データを管理サーバに送信する必要がある。即ち、売上の有無に関わらず、闇雲に検量データを管理サーバに送信する必要がある。このような場合にも、意味のない検量データが管理サーバに送信されることになる。対して、第1の実施形態では、商品の売上が観測されるたびに検量データが管理サーバ10に送信されるように送信条件を自動販売機20に設定すればよいので、無意味な検量データの送信が抑制される。
[第2の実施形態]
続いて、第2の実施形態について図面を参照して詳細に説明する。
第1の実施形態では、管理サーバ10は、システム管理者が入力した送信条件を、自動販売機20に設定し、当該送信条件に従って送信される検量データを自動販売機20から取得する場合について説明した。第2の実施形態では、管理サーバ10aは、取得した検量データに基づき、自動販売機20に再設定する送信条件を計算する場合について説明する。
図16は、第2の実施形態に係る管理サーバ10aの処理構成の一例を示すブロック図である。第1の実施形態に係る管理サーバ10と第2の実施形態に係る管理サーバ10aの相違点は、送信条件処理部202aの動作が異なる点である。なお、自動販売機に関し、第1の実施形態にて説明した自動販売機20と相違する点は存在しないので、第2及び第3の実施形態において自動販売機の説明を省略する。また、管理サーバ及び自動販売機に関するハードウェア構成についても、第1の実施形態にて説明した内容と相違する点はないので、これらの装置に関する図6や図10に対応する説明を省略する。
送信条件処理部202aは、第1の実施形態にて説明した送信条件処理部202の機能に加えて、自動販売機20が送信する検量データに基づき送信条件を再計算し、当該再計算された送信条件を自動販売機20に設定する機能を有する。即ち、管理サーバ10aは、送信条件が設定された自動販売機20から取得した検量データに基づき、送信条件が設定された自動販売機20(検量データを送信してきた自動販売機20)に設定する送信条件を再計算する。
なお、送信条件処理部202aの機能追加に伴い、記憶部205に格納される自動販売機管理テーブルの内容も変更する。具体的には、第2の実施形態に係る自動販売機管理テーブルは、各自動販売機20に関する送信条件と検量データの履歴及びその内容(実体)が把握可能に構成される(図17参照)。
なお、図17に示す自動販売機管理テーブルにおいて、送信条件に関するフィールド(送信条件フィールド、送信条件送信日時フィールド)と検量データに関するフィールド(検量データフィールド、検量データ取得日時フィールド)は関連性を有するものではなく、互いに独立した関係を有する。具体的には、図17の1行目(ID_1を有する自動販売機の1行目)は、送信条件_1aが設定された自動販売機20から検量データ_1aを取得したことを示すものではない。単に、自動販売機20に設定された送信条件と、自動販売機20から取得した検量データと、を把握するために図17に示す自動販売機管理テーブルは用いられる。
次に、図17〜図19を参照しつつ、第2の実施形態に係る送信条件処理部202aの動作を説明する。
送信条件処理部202aは、自動販売機20が送信する検量データが自動販売機管理テーブルに格納されると、当該格納された検量データと、直前に格納された検量データと、を自動販売機管理テーブルから取得する(図18のステップS301)。
例えば、図17を例にとると、送信条件処理部202aは、検量データ_1cが3行目に追加されると、当該追加された「検量データ_1c」と、その直前に自動販売機管理テーブルに格納された「検量データ_1b」と、を取得する。
次に、送信条件処理部202aは、自動販売機管理テーブルに追加された検量データを送信してきた自動販売機20(図17の例ではID_1の自動販売機20)に設定されている最新の送信条件を、自動販売機管理テーブルから取得する(ステップS302)。
図17の例では、送信条件処理部202aは、送信条件_1bを取得する。ここでは、送信条件処理部202aが取得した各データが、図19(a)〜(c)のとおりとする。
次に、送信条件処理部202aは、取得した2つの検量データについて、それぞれ対応する項目(例えば、売上金額、商品ごとの売上数、在庫数)の変化量(差分値)を計算する(ステップS303)。
図19の例では、検量データ_1bと検量データ_1cの間の変化量は、売上金額(変数Aを含む条件)に関し、200円、商品の売上数(変数Bを含む条件)に関し、商品X1の売上数が2個(在庫数が2個減)、となっている。
次に、送信条件処理部202aは、計算した各変化量に対して閾値処理を施し、各項目の変化量が所定の範囲内にあるか否かを確認する(ステップS304)。
図19の例では、売上金額に関する変化量の200円と2つの閾値(範囲を規定する上限と下限の閾値)が比較され、商品X1の売上数に関する変化量の2個と2つの閾値が比較される。
各項目の変化量が所定の範囲内にある場合(ステップS304、Yes分岐)、送信条件処理部202aは、特段の処理を行わず処理を終了する。
変化量が所定の範囲を超えた項目が1つ以上存在する場合(ステップS304、No分岐)、送信条件処理部202aは、自動販売機20(図17の例ではID_1の自動販売機20)に設定する送信条件を再計算する(ステップS305)。
送信条件の再計算には種々の形態が考えられるが、例えば、検量データの送信時間に関する条件(未送信期間、送信禁止期間)を再計算することが考えられる。
例えば、送信条件処理部202aは、検量データの変化量が所定の範囲を規定する下限の閾値よりも小さい場合、未送信期間に関する条件を変更する。具体的には、送信条件処理部202aは、売上金額や商品売上数の変化量が想定された数に届かない場合には、未送信期間を長く設定する。図19の例では、現状では1日(24時間)に1回は検量データが管理サーバ10aに送信される設定となっているが、2日(48時間)に1回、検量データが送信される設定に変更される(C>48に設定変更される)。なお、送信条件処理部202aによる送信条件の再計算と再設定は、検量データの受信の都度、繰り返し行われるものであるため、上記再設定された送信条件であっても、その後自動販売機20から送信されてくる検量データにより再計算、再設定されることがある。上記の例でいえば、未送信期間が2日に延長された送信条件が自動販売機20に設定されているが、2日間の売上金額等の変動が想定の範囲を下回っていれば、未送信期間は2日の設定からさらに延長されて設定される。
あるいは、送信条件処理部202aは、検量データの変化量が所定の範囲を規定する上限の閾値よりも大きい場合、送信禁止期間に関する条件を変更してもよい。具体的には、送信条件処理部202aは、商品売上が想定されている数よりも多い場合には、送信禁止期間を短く設定してもよい。図19(c)に示す送信条件_1bでは、検量データは1時間に1回以上送信することができない設定となっているが、例えば、30分に一回、検量データが送信可能に変更される(F>0.5に変更される)。つまり、商品売上が想定しているよりも多いことは商品在庫が想定しているよりも少ないことを意味し、管理サーバ10は、自動販売機20に対してより頻繁に検量データを送信させ、在庫切れのリスクを低減させる。
送信条件の再計算が終了すると、送信条件処理部202aは、再計算した送信条件を自動販売機20に向けて送信する(ステップS306)。
以上のように、第2の実施形態に係る管理サーバ10aは、送信条件に基づき送信された検量データを解析し、その解析結果を送信条件に反映して自動販売機20に再設定する。即ち、管理サーバ10aは、取得した検量データを送信条件の計算にフィードバックし、自動販売機20に設定する送信条件を最適化する。その結果、システム管理者にとってさほど重要ではない検量データの送信が抑制されると共に、システム管理者にとって重要な検量データはいち早く管理サーバ10aに送信されることとなる。
[第3の実施形態]
続いて、第3の実施形態について図面を参照して詳細に説明する。
第3の実施形態では、管理サーバ10bが、自動販売機20から取得した検量データに基づき、自動販売機の商品管理等を行う管理者(即ち、ルートマン)や自動販売機の運営業者等に有益な情報を提供することを説明する。具体的には、管理サーバ10bは、自動販売機20から取得した検量データを解析し、その解析結果をユーザ(例えば、ルートマン、自動販売機の運営業者)に提供する。
図20は、第3の実施形態に係る管理サーバ10bの処理構成の一例を示すブロック図である。第1の実施形態に係る管理サーバ10と管理サーバ10bの相違点は、検量データ解析部206が設けられている点である。
さらに、第3の実施形態では、記憶部205において、ルート情報と自動販売機20の位置情報(例えば、自動販売機20の緯度、経度)が登録されている。ルート情報とは、図21に示すように、ルートと、各ルートに属する自動販売機20と、の対応関係を規定する情報である。
検量データ解析部206は、少なくとも2以上の自動販売機20から取得した検量データに基づき、当該2以上の自動販売機20を含む自動販売機群(各ルートの自動販売機20)をどのような順序で訪問すればよいかに関する情報(以下、経路情報と表記する)を生成し、出力する。より具体的には、検量データ解析部206は、管理者端末30から取得した経路情報出力要求に応じて起動し、生成した経路情報(検量データの解析結果)を、要求に対する応答として出力する。
次に、図22を参照しつつ、検量データ解析部206の動作について説明する。検量データ解析部206は、ルートが指定された経路情報出力要求を取得すると、当該指定されたルートに属する自動販売機20の位置情報を記憶部205から取得する。
次に、検量データ解析部206は、各自動販売機20の位置情報に基づいて、互いの間の距離が最も遠い2つの自動販売機20を特定し、特定した2つの自動販売機20をルートの端点に設定する。
ここでは、自動販売機20−1と自動販売機20−2との距離が最も遠いものとし、その位置関係は図22(a)のとおりであるとする。図22(a)の例では、検量データ解析部206は、自動販売機20−1及び20−2をルートの端点に設定する。
次に、検量データ解析部206は、一方の端点から他の端点に向けて経路を設定するべきか、上記経路とは逆の経路を設定すべきか、検量データに基づき決定する。例えば、検量データ解析部206は、2つの端点間を移動する商品の数を計算し、当該計算した商品数に基づき、2つの端点のどちらを始点とし、終点とするかを決定する。
例えば、自動販売機20−1の検量データの一部が図22(b)、自動販売機20−2の検量データの一部が図22(c)のとおりであるとする。また、各自動販売機20の在庫数は50個以上とすることが設定されているものとする。この場合、自動販売機20−1には商品X1を20個、商品X2を35個、それぞれ補充する必要があり、自動販売機20−2には商品X1を50個、商品X2を45個、それぞれ補充する必要がある。従って、ルートマンは、商品X1について70個(20+50)、商品X2について80個(35+45)運搬車に搭載し、自動販売機20−1、20−2に訪れる必要がある。その際、検量データ解析部206は、自動販売機20−1に訪れた後に自動販売機20−2に訪れた方がよいのか、自動販売機20−2に訪れた後に自動販売機20−1に訪れた方がよいのか、をその道中に移動させる商品の量に基づき決定する。この場合、自動販売機20−1から自動販売機20−2に向かうと、その道中に移動する商品の数は、100個(70+80−20−35=100)となる。一方、自動販売機20−2から自動販売機20−1に向かうと、その道中に移動する商品の数は、55個(70+80−50−45=55)となる。
検量データ解析部206は、2つの端点間を移動する商品数のより少ない方の経路(上記の場合、自動販売機20−2から自動販売機20−1に向かう経路)を、指定されたルートの経路情報に決定し、管理者端末30に応答する。
以上のように、第3の実施形態に係る管理サーバ10bは、2以上の自動販売機20から取得した検量データを解析することで、ユーザにとって有益な情報を提供することができる。上述の経路情報を出力する例では、運搬車の燃費向上が期待できる。
なお、第1乃至第3の実施形態にて説明したシステム構成や、管理サーバ10及び自動販売機20の構成、動作は例示であって、その内容を限定する趣旨ではない。
例えば、図2に示す自動販売機検量システムにおいて、送信条件に基づく検量データの送信に対応していない自動販売機が含まれていてもよい。そのような自動販売機がシステムに含まれていても、図2に示す自動販売機検量システムの動作に支障はない。換言するならば、既存のオンライン検量システムにおいて、管理サーバを第1乃至第3の実施形態にて説明した管理サーバ10に置き替え、新規に設置する自動販売機に送信条件に基づく検量データの送信機能を組み込むことで図2に示す自動販売機検量システムの運用が開始できる。
あるいは、自動販売機20から管理サーバ10に送信する検量データに売上金額や商品売上数等に関する付帯情報を追加してもよい。具体的には、商品を販売した時間帯等の情報を各商品に付加して管理サーバ10に送信するようにしてもよい。付帯情報の付加により検量データの価値が高まり、例えば、当該検量データを商品のマーケッティングに利用することも可能となる。
あるいは、商品の売上と商品の在庫には相関関係が認められるので、いずれか一方を管理サーバ10にて管理している場合には、他方の情報に関する送信を省略してもよい(検量データに商品在庫や売上に関する情報が存在しなくともよい)。検量データに含ませる項目を削減することで、管理サーバ10と自動販売機20の間の通信量を削減できる。
第1の実施形態では、個別の商品ごとに売上数や在庫数の閾値を設定する送信条件の説明をしたが、各商品の売上数や在庫数に共通して適用する閾値を設定してもよい。
第1の実施形態では、図3を参照しつつ、システム管理者は自動販売機20を一台ずつ選択して送信条件を入力する送信条件設定画面を説明したが、複数の自動販売機20に同じ送信条件を設定する送信条件設定画面(インターフェイス)をシステム管理者に提供してもよい。管理の対象となる自動販売機20の数が多い場合に、個別の自動販売機20それぞれに送信条件を設定することは多大な労力、コストを要する。しかし、同じ送信条件を一律に設定できれば、このような労力、コストを低減できる。特に、第2の実施形態にて説明したように、検量データのフィードバックによって各自動販売機20に設定される送信条件を変更するようにしておけば、時間の経過と共に各自動販売機20の送信条件は最適化され、管理サーバと自動販売機間の通信量の削減が達成される。
あるいは、自動販売機20の運用開始時には予め定めた初期値を送信条件として設定しておき、当該初期値の送信条件に従って取得された検量データに基づき、自動販売機20の送信条件が最適化されてもよい。
第2の実施形態では、検量データを送信してきた自動販売機20に設定する送信条件を再計算する場合について説明した。しかし、検量データを送信してきた自動販売機20とは異なる自動販売機20に設定する検量データを再計算して設定してもよい。例えば、管理サーバ10aは、自動販売機20−1から取得した検量データから商品X1の在庫が尽きたことを把握したとする。この場合、自動販売機20−1の近傍に位置する自動販売機(例えば、自動販売機20−2とする)でも商品X1の売上が多いことが予想される。そのため、管理サーバ10aは、自動販売機20−2に設定する送信条件において、商品X1の在庫数に関する閾値を引き上げ、自動販売機20−2に早めに検量データを送信させるといった対応が可能である。あるいは、自動販売機20−1に近傍に位置する自動販売機20が複数台存在する場合には、これら複数台の自動販売機20に送信条件を再設定してもよい。このように、管理サーバ10aは、自動販売機20から取得した検量データに基づき、他の自動販売機20又は複数の自動販売機20に設定する送信条件を再計算し、再設定してもよい。
第3の実施形態では、管理サーバ10bが、経路情報を検量データの解析結果として出力する場合について説明したが、他の情報を出力してもよい。例えば、管理サーバ10bは、2以上の自動販売機20から取得した検量データを解析し、自動販売機20にて販売する商品の構成変更を薦める情報(商品構成情報)をユーザに提供してもよい。具体的には、2以上の自動販売機から取得した検量データにおいて、商品の売上に顕著な傾向が確認できた場合には、その内容をユーザに通知してもよい。例えば、商品X1と商品X2を比較すると、商品X1の売上が商品X2よりも明らかに多ければ、検量データ解析部206は、商品X2に変えて商品X1の在庫を多くすることを薦める内容の商品構成情報を出力してもよい。
上述の説明で用いた複数のフローチャートでは、複数の工程(処理)が順番に記載されているが、各実施形態で実行される工程の実行順序は、その記載の順番に制限されない。各実施形態では、例えば各処理を並行して実行する等、図示される工程の順番を内容的に支障のない範囲で変更することができる。また、上述の各実施形態は、内容が相反しない範囲で組み合わせることができる。
上記の実施形態の一部又は全部は、以下の付記のようにも記載され得るが、以下には限られない。
[付記1]
上述の第1の視点に係る自動販売機検量システムのとおりである。
[付記2]
前記管理サーバは、
論理演算子により組み合わされた少なくとも2以上の条件式を含む前記送信条件を、前記自動販売機に設定する、付記1の自動販売機検量システム。
[付記3]
前記管理サーバは、
前記自動販売機が前記検量データを未送信とすることを許容する未送信期間に関する条件を、前記送信条件に含める、付記1又は2の自動販売機検量システム。
[付記4]
前記管理サーバは、
前記自動販売機が前記検量データを連続して送信することを禁ずる送信禁止期間に関する条件を、前記送信条件に含める、付記1乃至3のいずれか一に記載の自動販売機検量システム。
[付記5]
前記管理サーバは、
演算子の組み合わせによる条件を、前記送信条件として入力するためのインターフェイスをユーザに提供する、付記1乃至4のいずれか一に記載の自動販売機検量システム。
[付記6]
前記管理サーバは、
前記送信条件が設定された第1の自動販売機から取得した検量データに基づき、前記第1の自動販売機に設定する前記送信条件を再計算する、付記1乃至5のいずれか一に記載の自動販売機検量システム。
[付記7]
前記管理サーバは、
前記第1の自動販売機から取得した検量データに基づき、前記第1の自動販売機とは異なる第2の自動販売機に設定する前記送信条件を再計算する、付記6の自動販売機検量システム。
[付記8]
前記管理サーバは、
前記第1の自動販売機から取得した検量データに基づき、前記第1の自動販売機を含む複数台の自動販売機に設定する送信条件を計算する、付記6又は7の自動販売機検量システム。
[付記9]
前記管理サーバは、
少なくとも2以上の前記自動販売機から取得した検量データに基づいて、前記少なくとも2以上の自動販売機を含む自動販売機群の訪問順序に関する情報を生成する、付記1乃至8のいずれか一に記載の自動販売機検量システム。
[付記10]
上述の第2の視点に係る管理サーバのとおりである。
[付記11]
上述の第3の視点に係る自動販売機のとおりである。
[付記12]
上述の第4の視点に係る自動販売機の検量方法のとおりである。
[付記13]
上述の第5の視点に係るプログラムのとおりである。
なお、付記10〜付記13の形態は、付記1の形態と同様に、付記2の形態〜付記9の形態に展開することが可能である。
なお、引用した上記の特許文献の開示は、本書に引用をもって繰り込むものとする。本発明の全開示(請求の範囲を含む)の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の全開示の枠内において種々の開示要素(各請求項の各要素、各実施形態ないし実施例の各要素、各図面の各要素等を含む)の多様な組み合わせ、ないし、選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。特に、本書に記載した数値範囲については、当該範囲内に含まれる任意の数値ないし小範囲が、別段の記載のない場合でも具体的に記載されているものと解釈されるべきである。