(57)【特許請求の範囲】
【請求項１】
各自動販売機毎に、各自動販売機で動作が許可されているソフトウェアを管理する第１のテーブルと、
各ソフトウェア毎に、それらが自動販売機上で動作するために必要な他のソフトウェアに関する情報を格納している第２のテーブルと、
各自動販売機毎に、各自動販売機で実装済みのソフトウェアを管理する第３のテーブルと、
ある自動販売機に対するあるソフトウェアのローディング要求を入力したとき、上記第１のテーブルを参照して、該ソフトウェアが上記自動販売機上で動作が許可されている正当なソフトウェアであるかチェックするソフトウェア動作許可チェック手段と、
該ソフトウェア動作許可チェック手段によって正当であると判断されたソフトウェアについて、上記第２及び第３のテーブルを参照して、該ソフトウェアが上記自動販売機上で動作可能かチェックするソフトウェア動作可能性チェック手段と、
該ソフトウェア動作可能性チェック手段によって動作可能であると判断されたソフトウェアを外部装置に転送する転送手段と、
を備えることを特徴とする自動販売機管理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、自動販売機、該自動販売機に実装されるソフトウェアを管理する自動販売機管理装置に関する。
【０００２】
【従来の技術】
自動販売機は、単に、陳列された商品を自動販売する機能のみでなく、その他の複数の機能を備えている。これらの機能は、セールスプロモーションとしてのバーゲン販売やポイント付加、籤による追加商品提供、機器の故障の予防や診断などの各種機能がある。
【０００３】
これらの機能を変更する際には、自動販売機に実装される当該ソフトウェアを変更・追加する必要が生じる。このような変更は、多数の該当する自動販売機に対して出きるかぎり、同時期に実施することが望ましく、かつ、正常に動作する正当なソフトウェアが、確実に、変更・追加されることが必要である。
【０００４】
従来、自動販売機のソフトウェア変更は、自販機制御ユニットのソフトウェアの一括変換によって実施していた。この場合の作業は、ソフトウェアを格納するＲＯＭの差し替え、現場での携帯型端末からの一括ローディングなどにより行われていた。しかしながら、これらの従来手法には、以下に述べるような問題点があった。
【０００５】
１）  現場でのＲＯＭの差し替えは、専門的技能と自動販売機の電気系統に関係する注意が必要であり、これらの作業をこなせる要員の確保の問題、あるいは、自動販売機内の部品が破壊される問題をかかえている。
【０００６】
２）  自動販売機は、各機毎に、機能の組み合わせが様々であり、例え、一つの機能の変更でも、それに合わせて、対象自動販売機の機種毎に、ＲＯＭや携帯端末のメモリを持たせるなければならなかった。
【０００７】
３）  ＲＯＭの書換えや携帯端末による一括ローディングでは、自動販売機の毎の機能の組み合わせに合わせて、ソフトウェアの一部を編集して、一つのソフトウェアを生成しなければならないが、一部の機能の入替えをする際にも、ソフトウェア全体の編集が必要になっていた。
【０００８】
４）  ソフトウェアは、最近、大容量になってきており、ソフトウェア全体をネットワーク経由でローディング（ダウンロード）することは、時間と費用（通信コスト等を含む）点で問題があり、今後も事情は変わらないものと想定される。
【０００９】
５）  ソフトウェアの一部だけの入替え、追加をした場合、そのプログラムが既存の他のプログラムと協調して正しく動作できるか、実際に動かしてみないと分からないという欠点があり、その点で、信頼性、安全性等に欠けるという問題があった。
【００１０】
したがって、今後は、ソフトウェアの変更による機能の変更を、効率的かつ安全に行うことが求められる。
【００１１】
本発明の目的は、自動販売機の機能の変更・追加を行うためにソフトウェアの変更・追加を行うに際し、そのために必要となるソフトウェアの一部のみを交換したり、追加できるようにすることである。
【００１２】
また、本発明の他の目的は、追加するプログラム（ソフトウェアの一部）が、既に、自動販売機に組み込まれているソフトウェア（の他のプログラム）と連携して正常に動作すること、及び、新たに自動販売機にローディングされたソフトウェアが正規の手続きを経て開発・検証されたものであることを保証できるようにすることである。
【００１３】
【課題を解決するための手段】
本発明の自動販売機管理装置は、各自動販売機毎に、各自動販売機で動作が許可されているソフトウェアを管理する第１のテーブルと、各ソフトウェア毎に、それらが自動販売機上で動作するために必要な他のソフトウェアに関する情報を格納している第２のテーブルと、各自動販売機毎に、各自動販売機で実装済みのソフトウェアを管理する第３のテーブルと、ある自動販売機に対するあるソフトウェアのローディング要求を入力したとき、上記第１のテーブルを参照して、該ソフトウェアが上記自動販売機上で動作が許可されている正当なソフトウェアであるかチェックするソフトウェア動作許可チェック手段と、該ソフトウェア動作許可チェック手段によって正当であると判断されたソフトウェアについて、上記第２及び第３のテーブルを参照して、該ソフトウェアが上記自動販売機上で動作可能かチェックするソフトウェア動作可能性チェック手段と、該ソフトウェア動作可能性チェック手段によって動作可能であると判断されたソフトウェアを外部装置に転送する転送手段とを備えることを特徴とする。
【００１４】
上記本発明の自動販売機管理装置によれば、複数の自動販売機について、実行が許可されているソフトウェアを管理できる。また、各自動販売機にローディングしようとするソフトウェアの正当性（実行が許可されているか）及び動作可能性（当該自動販売機上で動作可能か）を検証し、該正当性かつ該動作可能性を有するソフトウェアのみを、ローディング装置等に転送することができ、不正使用や無用なローディングを防止できる。
【００１５】
【発明の実施の形態】
以下、図面を参照しながら、本発明の実施形態を説明する。
図１は、本発明の一実施形態の自動販売機管理システムの全体構成を示す図である。
【００１６】
同図において、自販機管理装置１０は、ネットワーク（自販機ネットワーク等）２０で接続された複数の自動販売機（自販機）３０のＩＤ（識別子）とその自動販売機３０に実装されるソフトウェア構成を管理する装置である。自販機管理装置１０は、自販機ソフトウェア動作許可テーブル４０、自販機ソフトウェア組み合わせテーブル５０、及び自販機実装済ソフトウェアテーブル６０を内部に備える。尚、これらのテーブル４０〜６０は、自販機管理装置１０の外部のネットワーク等を介して接続されていてもよい。
【００１７】
また、自販機管理装置１０は、ソフト照合機能（自動ソフト照合機能）を備えている。この機能は、ある自動販売機３０上で、あるソフトウェア９０が動作可能であるかをチェックする機能である。
【００１８】
ネットワーク２０は、例えば、専用回線、公衆回線、インターネット、ＶＰＮ（Virtual Private Network)、無線回線（移動体通信回線、衛星回線等）等である。
【００１９】
自動販売機（自販機）３０は、個々の自動販売機３０に一意（ユニーク）な識別子である自販機ＩＤ３１を有し、それを自装置内のメモリに記憶している。また、自動販売機３０は、自動販売機３０の制御を実行するソフトウェアを動作させる自販機制御装置３２を備えている。尚、この自販機制御装置３２は、自販機制御装置３２内に複数、設けられていてもよい。このような場合、例えば、本発明に係わる機能は、いずれか一台の自販機制御装置３２が実行する。
【００２０】
自販機制御装置３２は、その他に、ＲＯＭ，ＲＡＭ、外部記憶装置等のメモリ３２１を備え、このメモリ３２１に本発明の各種機能を実現するソフトウェアが格納されたりロードされる。尚、同図において既存ソフトウェア３２２は、現時点で自販機制御装置３２に実装されているソフトウェア全体を示している。そして、ソフトウェア３２３が、新たに、自販機制御装置３２にローディングされるソフトウェアを示している。
入出力デバイス３２４は、操作ボタンや表示デバイス、プリンタ等である。
【００２１】
また、特には図示していないが、自販機制御装置３２は、上記ソフトウェアおよびデータを格納するメモリ（ＲＯＭ、ＲＡＭ等）や、上記ソフトウェアを実行するマイクロプロセッサ等を備えている。また、自動販売機３０は、ネットワーク２０との通信インタフェースや、自販機ローディング装置（携帯型端末）８０との端末インタフェース等を備えている。
【００２２】
本実施形態では、自販機ローディング装置として、自販機管理装置１０と通信回線で接続され、ネットワーク２０を介して自動販売機３０にソフトウェアをダウンロードする形態の自販機ローディング装置７０と、上記端末インタフェースを介して自動販売機３０のソフトウェアをダウンロードする形態の自販機ローディング装置（携帯型端末）８０の２種類の形態の装置を備えている。
【００２３】
携帯型端末８０は、例えば、ケーブルあるいは通信リンク（赤外線通信、無線通信等）によって、自動販売機３０の端末インタフェースとの間で通信を行う。
自販機管理装置１０で管理されるソフトウェア９０は、それぞれ、個々に、ユニークな識別子（ソフトウェアＩＤ）が割り当てられており、自販機管理装置１０は、このソフトウェアＩＤによって、自身が管理する複数のソフトウェアを識別する。
【００２４】
尚、図１では、特に図示してはいないが、本実施形態では、自販機ローディング装置７０と自動販売機３０は，ネットワーク２０に接続されているものとする。また、同図に示す自動販売機３０は、自装置内にローディングされるソフトウェアの正当性（実行が許可されたソフトウェアであること）及び自装置上で動作可能であるかを検証する機能を備えていない。このため、自動販売機３０は、自装置にローディングしようとするソフトウェアの該正当性及び該動作可能性を確認するために、照合要求を自動販売機管理装置１０に送信する。
自動販売機管理装置１０は、後述する図１３のフローチャートの処理を実行して、照合結果を自動販売機３０に返答する。
【００２５】
図２は、上記自販機管理装置１０のシステム構成を示すブロックである。
自販機管理装置１０は、装置全体の動作を管理・制御する全体管理部１０１、ローディング指示受け付け部１０２、ソフトウェア動作許可チェック部１０３、ソフトウェア動作可能性チェック部１０４、自販機ソフトウェア記憶管理部１０５、自販機ソフトウェア格納用記憶部１０６、自販機ローディング装置宛ソフト送信部１０７、ソフトウェア照合要求受付け・回答部１０８、ネットワーク接続部１０９、及び携帯型端末用ローディング部１１０を備える。
【００２６】
全体管理部１０１は、装置全体の動作を管理・制御する。ローディング指示受け付け部１０２は、外部のマンマシンインタフェース２００と接続され、該マンマシンインタフェース２００を介して自販機ＩＤとソフトウェアＩＤを入力する。この入力により、自販機ＩＤと、該自販機ＩＤを有する自動販売機３０で動作を許可された全てのソフトウェアのソフトウェアＩＤが入力される。
【００２７】
そして、ローディング指示受け付け部１０２は、それら入力された自販機ＩＤとソフトウェアＩＤをソフトウェア動作許可チェック部１０３に送信する。
ソフトウェア動作許可チェック部１０３は、受信する自販機ＩＤとソフトウェアＩＤを基に、自販機ソフトウェア動作許可テーブル４０を作成する。また、ソフトウェア動作許可チェック部１０３は、自販機ソフトウェア動作許可テーブル４０を参照して、各自動販売機３０で動作が許可されているソフトウェアをチェックする。
【００２８】
ソフトウェア動作可能性チェック部１０４は、自販機ソフトウェア組み合わせテーブル５０と自販機ソフトウェア実装済テーブル６０を参照して、各自動販売機３０について、どのようなソフトウェアが動作可能であるかチェックする。
【００２９】
自販機ソフトウェア格納用記憶部１０６には、自動販売機３０に実装可能な全てのソフトウェアを格納しているメモリである。自販機ソフトウェア格納用記憶部１０６に格納されているソフトウェアは、自販機ソフトウェア記憶管理部１０５によって管理され、自販機ソフトウェア記憶管理部１０５は、ソフトウェア動作可能性チェック部１０４からの依頼に応じて、自販機ソフトウェア格納用記憶部１０６から該依頼により指定されたソフトウェアを読み出し、ソフトウェア動作可能性チェック部１０４に送信する。尚、この自販機ソフトウェア格納用記憶部１０６は、自動販売機管理装置１０の外部に設けられた外部記憶装置やサーバ等に設けるようにしてもよい。これらの外部記憶装置やサーバは、例えば、ＬＡＮ４００に接続される。
【００３０】
ソフトウェア動作可能性チェック部１０４は、ある自動販売機３０に新たにローディングするソフトウェアが該自動販売機３０において動作可能か否かを、自販機ソフトウェア組み合わせテーブル５０と自販機ソフトウェア実装済テーブル６０を参照してチェックし、該新たにローディングするソフトウェアが動作可能であれば、それが、自販機ソフトウェア格納用記憶部１０６に格納されているかを自販機ソフトウェア記憶管理部１０５に問い合わせる。そして、該新たにローディングするソフトウェアが自販機ソフトウェア格納用記憶部１０６に格納されている旨の通知を自販機ソフトウェア記憶管理部１０５から受け取ると、自販機ローディング装置宛ソフト送信部１０７に、該新たにローディングするソフトウェアの送信を指示する。
【００３１】
自販機ローディング装置宛ソフト送信部１０７は、上記指示を受け取ると、自販機ソフトウェア記憶管理部１０５を介して、自販機ソフトウェア格納用記憶部１０６に格納されている該新たにローディングするソフトウェアを入力し、該ソフトウェア本体、該ソフトウェアのソフトウェアＩＤ、及び該ソフトウェアをローディングすべき自動販売機３０の自販機ＩＤをネットワーク接続部１０９を介して自販機ローディング装置７０に送る。
【００３２】
自販機管理装置１０と自販機ローディング装置７０は、ＬＡＮ４００を介して接続されており、ネットワーク接続部１０９により互いに通信を行う。
また、該新たにローディングするソフトウェアの自動販売機３０へのローディングは、携帯型端末８０を介しても可能であり、この場合は、ソフトウェア動作可能性チェック部１０４は、携帯型端末用ローディング部１１０に対して、携帯型端末８０に該新たにローディングするソフトウェアを送信する旨を指示する。
【００３３】
携帯型端末用ローディング部１１０は、該指示を受けると、自販機ソフトウェア記憶管理部１０５を介して、自販機ソフトウェア格納用記憶部１０６に格納されている該新たにローディングするソフトウェアを入力し、該ソフトウェア本体、該ソフトウェアのソフトウェアＩＤ、及び該ソフトウェアをローディングすべき自動販売機３０の自販機ＩＤを携帯型端末８０に送信する。
【００３４】
図３は、自販機ローディング装置７０のシステム構成を示すブロック図である。
自販機ローディング装置７０は、ネットワーク接続部７０１、自販機ソフトローディング部７０２、及び自販機ネットワーク接続部７０３を備える。
【００３５】
ネットワーク接続部７０１は、自販機管理装置１０のネットワーク接続部１０９とＬＡＮ４００を介して、所定のプロトコルにより通信し、上記新たにローディングするソフトウェア本体、そのソフトウェアＩＤ、及び該ソフトウェアがローディングされるべき自動販売機３０の自販機ＩＤを自販機管理装置１０のネットワーク接続部１０９から受信する。
【００３６】
自販機ソフトローディング部７０２は、ネットワーク接続部７０１から、上記受信データ（ソフトウェア本体、ソフトウェアＩＤ、自販機ＩＤ）を受け取る。そして、それを、自販機ネットワーク接続部７０３にローディング先の自動販売機３０とのネットワーク接続を指示する。
【００３７】
自販機ネットワーク接続部７０３は、ネットワーク２０を介して該ローディング先自動販売機３０とネットワーク接続する。このネットワーク接続が完了すると、自販機ソフトローディング部７０２は、上記ネットワーク接続部７０１から受信した自販機ＩＤ，ソフトウェアＩＤ、及びソフトウェア本体を、ネットワーク接続部７０３を介して、ネットワーク２０経由で上記ローディング先自動販売機３０に送信する。
尚、この送信において、上記ソフトウェアＩＤと上記ソフトウェア本体を暗号化して送信するようにしてもよい。この暗号化は、自販機ソフトローディング部７０２が行う。
【００３８】
次に、上記自販機ソフトウェア動作許可テーブル４０、自販機ソフト組み合わせテーブル５０、及び自販機ソフトウェア実装済テーブル６０のデータ構造を、それぞれ、図４、図５、図６を参照して説明する。
【００３９】
まず、図４を参照して、自販機ソフトウェア動作許可テーブル４０のデータ構造を説明する。
自販機ソフトウェア動作許可テーブル４０のテーブルエントリ数は、自販機管理装置１０が管理している自動販売機３０の個数に等しい。そして、各エントリには、同図に示すように、「自販機ＩＤ」、及び該自販機ＩＤを有する自動販売機３０で動作が許可されている全てのソフトウェアのＩＤ（ソフトウェアＩＤ１、ソフトウェアＩＤ２、．．．、ソフトウェアＩＤｎ）の情報が格納されている。このように、自販機ソフトウェア動作許可テーブル４０には、自販機管理装置１０が管理している全ての自動販売機３０について、それらで動作を許可されているソフトウェアに関する情報が格納されているので、ソフトウェア動作許可チェック部１０３は、自販機ソフトウェア動作許可テーブル４０を参照することにより、それら個々の自動販売機３０について、動作許可チェックが可能である。
【００４０】
次に、図５を参照して、自販機ソフト組み合わせテーブル５０のデータ構造を説明する。
自販機ソフト組み合わせテーブル５０のテーブルエントリ数は、自動販売機３０に独立してローディング可能なソフトウェア（自販機ソフトウェア）の個数に等しい。各エントリには、自動販売機３０に独立してローディング可能な１つのソフトウェアについて、そのソフトウェアＩＤ（ソフトウェアＩＤａ）と、該ソフトウェアＩＤを有するソフトウェアが動作するのに必要な他のソフトウェアのソフトウェアＩＤ（ソフトウェアＩＤ３、ソフトウェアＩＤ７、．．．、ソフトウェアＩＤｍ）の情報が格納されている。
【００４１】
次に、図６を参照して、自販機ソフト実装済テーブル６０のデータ構造を説明する。
自販機ソフトウェア実装済テーブル６０のテーブルエントリ数は、自販機管理装置１０が管理している自動販売機３０の個数に等しい。各エントリには、自販機ＩＤと、その自販機ＩＤを有する自動販売機３０に実装済みのソフトウェアのソフトウェアＩＤ（ソフトウェアＩＤ２、ソフトウェアＩＤ４、．．．、ソフトウェアＩＤｊ）の情報が格納されている。
【００４２】
このように、自販機ソフトウェア実装済テーブル６０には、自販機管理装置１０が管理している個々の自動販売機３０について、実装済みのソフトウェアのソフトウェアＩＤが格納されており、自販機ソフトウェア組み合わせテーブル５０には、自動販売機３０に実装可能な各ソフトウェア個々について、それらが動作するために必要な他のソフトウェアのソフトウェアＩＤが格納されているので、ソフトウェア動作可能性チェック部１０４は、各自動販売機３０に新たなソフトウェアをローディングする場合、そのソフトウェアが該各自動販売機３０で動作可能かチェックすることが可能である。
【００４３】
続いて、上記構成の自動販売機管理システムの動作を説明する。
図７は、自販機管理装置１０の動作を説明するフローチャートである。
まず、マンマシンインタフェース２００を介して入力される自販機ＩＤとそのＩＤを有する自動販売機３０（当該自動販売機３０）に新たにローディングするソフトウェアのソフトウェアＩＤを読み込む（ステップＳ１１）。
【００４４】
上記入力情報は、ローディング指示受け付け部１０２からソフトウェア動作許可チェック部１０３に送られ、ソフトウェア動作許可チェック部１０３は上述した方法により、自販機ソフトウェア動作許可テーブル４０を参照して、上記当該自動販売機３０で、上記新たにローディングされるソフトウェア（以後、当該ソフトウェアと記載する）の動作が許可されているか判断する（ステップＳ１２）。
【００４５】
そして、動作が許可されていれば（ステップＳ１２，ＹＥＳ），次に、ソフトウェア動作可能性チェック部１０４が、上述した方法により上記当該ソフトウェアが動作するために必要となる他のソフトウェアを調べる（ステップＳ１３）。
【００４６】
さらに、ソフトウェア動作可能性チェック部１０４は、自販機ソフトウェア実装済テーブル６０を参照して、上述した方法により、当該ソフトウェアが動作するために必要とする全てのソフトウェアが当該自動販売機３０に実装済みであるか調べる（ステップＳ１４）。
【００４７】
そして、全て実装済みであるか判断し（ステップＳ１５）、全て実装済みであれば（ステップＳ１５、ＹＥＳ）、上述した方法により、自販機ソフトウェア記憶管理部１０５を介して自販機ソフトウェア格納用記憶部１０６から当該ソフトウェアを読みだす（ステップＳ１６）。
【００４８】
次に、ソフトウェア動作可能性チェック部１０４が、当該ソフトウェアを自動販売機３０に携帯型端末８０からローディングするのか、それとも、自販機ローディング装置７０からローディングするのか判断する（ステップＳ１７）。
【００４９】
そして、携帯型端末８０からローディングするのであれば（ステップＳ１７、ＹＥＳ）、ソフトウェア動作可能性チェック部１０４は携帯型端末用ローディング部１１０に携帯型端末８０に当該ソフトウェアをローディングするように指示する。携帯型端末用ローディング部１１０は、当該ソフトウェアのソフトウェアＩＤとソフトウェア本体を暗号化する（ステップＳ１８）。そして、携帯型端末用ローディング部１１０は、自販機ＩＤ、及び上記暗号化されたソフトウェアＩＤとソフトウェア本体を携帯型端末８０に送信し（ステップＳ１９）、処理を終了する。
【００５０】
一方、上記ステップＳ１７で、自販機ローディング装置７０から自動販売機３０に当該ソフトウェアをローディングすると判断した場合は（ステップＳ１７、ＮＯ）、まず、ネットワーク接続部１０９を介してＬＡＮ４００に接続された自販機ローディング装置７０と接続する（ステップＳ２０）。
【００５１】
次に、自販機ローディング装置宛ソフト送信部１０７はネットワーク接続部１０９を介して、自販機ＩＤ、当該ソフトウェアのソフトウェアＩＤ，及び当該ソフトウェア本体を自販機ローディング装置７０に送信し（ステップＳ２１）、処理を終了する。
【００５２】
また、ステップＳ１２で許可されていないと判断された場合（ステップＳ１２、ＮＯ）、またはステップＳ１５で全て実装済みでないと判断された場合には（ステップＳ１５、Ｎ０）、マンマシンインタフェース２００に「ローディング不可」のメッセージを表示し（ステップＳ２２）、処理を終了する。
【００５３】
また、後述するように、自販機管理装置１０は、携帯型端末８０または自販機ローディング装置７０が、当該ソフトウェアの当該自動販売機３０（上記自販機ＩＤを有する自動販売機３０）へのローディングを正常終了した場合には、ローディング正常終了通知を受信する。
【００５４】
この場合、当該ソフトウェアを当該自動販売機３０に実装済みであるとするために、自販機ソフトウェア実装済テーブル６０の当該自販機ＩＤのエントリに当該ソフトウェアを追加する（ステップＳ３１）。
【００５５】
次に、図８のフローチャートを参照して、自販機ローディング装置７０の動作を説明する。
自販機ローディング装置７０は、ネットワーク接続部７０１を介して、自販機管理装置１０から自販機ＩＤ、新たにローディングする自販機ソフトのソフトウェアＩＤ，及びそのＩＤを有するソフトウェア（当該ソフトウェア）本体を受信する（ステップＳ４１）。
【００５６】
次に、自販機ネットワーク接続部７０３により、ネットワーク２０を介して当該ソフトウェアをローディングする自動販売機３０に接続する（ステップＳ４２）。
【００５７】
続いて、自販機ソフトローディング部７０２が、当該ソフトウェアのソフトウェアＩＤとソフトウェア本体を暗号化する（ステップＳ４３）。
【００５８】
次に、自販機ネットワーク接続部７０３がネットワーク２０を介して、自販機ＩＤと、上記暗号化されたソフトウェアＩＤとソフトウェア本体を当該自動販売機３０に送信する（ステップＳ４４）。
その後、自販機ローディング装置７０は、当該自動販売機３０から当該ソフトウェアのローディングの正常／異常終了の通知を待ち、当該自動販売機３０から通知を受信すると、その通知を解析し、ローディングが正常終了したか判断する（ステップＳ４５）。
【００５９】
そして、ローディングが正常終了であった場合には（ステップＳ４５，ＹＥＳ）、ネットワーク接続部７０１によりネットワーク２０を介して自販機管理装置１０にローディング正常終了通知を送信し（ステップＳ４６）、処理を終了する。
【００６０】
一方、ステップＳ４５でローディングが異常終了したと判断すると（ステップＳ４５、Ｎ０）、ネットワーク接続部７０１によりネットワーク２０を介して自販機管理装置１０にローディング異常終了通知を送信し（ステップＳ４６）、処理を終了する。
【００６１】
次に、自動販売機３０がソフトウェアをローディングするために備えるデータ及びテーブルについて、図９乃至図１１を参照しながら説明する。
まず、自動販売機３０は、図９（ａ）に示す自装置の自販機ＩＤを記憶するメモリを有する。また、同図（ｂ）に示す自販機ソフトウェア動作許可テーブル３４０を備える。このテーブル３４０は、自身の自動販売機３０上で動作が許可されているソフトウェアのＩＤ（ソフトウェアＩＤ）を格納するテーブルである。
【００６２】
また、自動販売機３０は図５の自販機ソフトウェア組み合わせテーブル５０と同様な構成の図１０に示す自販機ソフトウェア組み合わせテーブル３５０を備える。さらに、自動販売機３０は、図１１に示すように、自装置に実装済みのソフトウェアのソフトウェアＩＤを格納する自販機実装済ソフトウェアテーブル３５０を有する。
【００６３】
次に、自動販売機３０が新たにソフトウェア（当該ソフトウェア）をローディングする際の動作を、図１２のフローチャートを参照しながら説明する。
同図のフローチャートは、自装置内にローディングされようとするソフトウェアの正当性をチェックする機能と、該ソフトウェアが自装置上で実行可能か（動作可能性）を検証する機能を備えた自動販売機３０の動作を説明するフローチャートである。
【００６４】
まず、ネットワーク接続部１０９等により、自販機ローディング装置７０またたは携帯型端末８０から自販機ＩＤ、新たにローディングする自販機ソフト（当該ソフトウェア）のソフトウェアＩＤ、及び当該ソフトウェアのソフトウェア本体を受信すると（ステップＳ６１）、自販機ＩＤが登録されている自販機ＩＤに一致するか判断する（ステップＳ６２）。
【００６５】
そして、一致している場合には（ステップＳ６２、ＹＥＳ），ステップＳ６１で受信した当該ソフトウェアのソフトウェアＩＤとソフトウェア本体を復号化する（ステップＳ６３）。尚、このステップＳ６３の処理は、上記ソフトウェアＩＤとソフトウェア本体が暗号化されている場合のみ行う。
【００６６】
次に、ソフトウェアＩＤを抽出し（ステップＳ６４）、自販機ソフトウェア動作許可テーブル３４０を参照し、上記自販機ＩＤを有する自動販売機３０に当該ソフトウェアの動作が許可されているか調べる（ステップＳ６５）。
そして、動作が許可されていれば（ステップＳ６５，ＹＥＳ）、自販機ソフト組み合わせテーブル３５０を参照して当該ソフトウェアの動作に必要なソフトウェアを調査する（ステップＳ６６）。
【００６７】
次に、自販機ソフトウェア実装済テーブル３６０を参照して、自装置に当該ソフトウェアを動作させるために必要なソフトウェアが全て実装済みであるか判断する（ステップＳ６７）。
【００６８】
そして、全て実装済みであれば（ステップＳ６７、ＹＥＳ），当該ソフトウェアにメモリなどの資源を割り当て（ステップＳ６８）、当該ソフトウェアと既存ソフトウェア（当該自動販売機３０に、現在、実装されているソフトウェア）との相互参照関係を静的または動的に解決し、当該ソフトウェアの動作を検証する（ステップＳ６９）。
【００６９】
そして、当該ソフトウェアが正常終了したか判断し（ステップＳ７０）、正常終了していれば、自販機ローディング装置７０あるいは携帯型端末８０に正常終了を通知する（ステップＳ７１）。そして、当該ソフトウェアを自販機実装済ソフトウェアテーブル３６０に登録し、当該ソフトウェアを動作可能として処理を終了する（ステップＳ７２）。
【００７０】
また、ステップＳ６５で動作が許可されていないと判断された場合（ステップＳ６５，ＮＯ），ステップＳ６７で必要なソフトウェアが全て実装済みでなかった場合（ステップＳ６６，ＮＯ）、または当該ソフトウェアが正常終了しなかった場合（ステップＳ７０、ＮＯ）は、自販機ローディング装置７０あるいは携帯型端末８０に異常終了を通知し（ステップＳ７３）、処理を終了する。
【００７１】
次に、上記自販機ソフトウェア動作許可テーブル３４０、上記自販機ソフトウェア組み合わせテーブル３５０、及び上記自販機実装済ソフトウェアテーブル３６０を備えていない、すなわち、自装置にローディングしようとするソフトウェアの正当性と動作可能性の検証機能を備えていない自動販売機３０が、新たにソフトウェアをローディングする場合の動作を、図１３のフローチャートを参照しながら説明する。
【００７２】
まず、自販機ローディング装置７０あるいは携帯型端末８０からの接続要求を受け、その要求を受け付けて、自販機ＩＤ、新たにローディングする自販機ソフト（当該ソフトウェア）のソフトウェアＩＤ並びにソフトウェア本体を受信する（ステップＳ８１）。
【００７３】
次に、受信した自販機ＩＤが自装置に記憶されている自販機ＩＤと一致するか調べ（ステップＳ８２）、一致すれば（ステップＳ８２、ＹＥＳ）、暗号化されて送信されてきた当該ソフトウェアのソフトウェアＩＤとソフトウェア本体を復号化する（ステップＳ８３）。尚、このステップＳ８３の処理は上記ソフトウェアＩＤと上記ソフトウェア本体が暗号化されて送信されてきた場合のみに行われる。
【００７４】
続いて、上記受信情報からソフトウェアＩＤを抽出し（ステップＳ８４）、ネットワーク２０を介して自販機管理装置１０に接続する（ステップＳ８５）。そして、ネットワーク２０を介して自販機管理装置１０に受信した自販機ＩＤとソフトウェアＩＤを送信し、自販機管理装置１０に照合要求を行う（ステップＳ８６）。
【００７５】
ここで、上記照合要求を自動販売機３０から受信したときの自販機管理装置１０の動作を図１３の右側に示したフローチャートを参照しながら説明する。
自販機管理装置１０は、自動販売機３０から上記照合要求、自販機ＩＤ、及びソフトウェアＩＤを受信すると（ステップＳ１０１）、該自販機ＩＤを有する自動販売機３０（当該自動販売機３０）で上記ソフトウェアＩＤを有するソフトウェア（当該ソフトウェア）の動作が許可されているか、ソフトウェア動作可能性チェック部１０４が自販機ソフトウェア動作許可テーブル４０を参照して判断する（ステップＳ１０２）。
【００７６】
そして、動作が許可されていると判断すると（ステップＳ１０２，ＹＥＳ）、ソフトウェア動作可能性チェック部１０４が自販機ソフトウェア組み合わせテーブル５０を参照して、当該ソフトウェアの動作に必要となる他のソフトウェアを調べる（ステップＳ１０３）。
【００７７】
続いて、ソフトウェア動作可能性チェック部１０４は、自販機ソフトウェア実装済テーブル６０を参照して、当該ソフトウェアが動作するために必要となる全てのソフトウェアが当該自動販売機３０に実装済みであるか調べる（ステップＳ１０４）。
そして、ソフトウェア動作可能性チェック部１０４は、全て実装済みであるか判断し（ステップＳ１０５）、全て実装済みであれば（ステップＳ１０５，ＹＥＳ）、ネットワーク接続部１０９によりネットワーク２０を介して当該自動販売機３０に照合正常を通知し（ステップＳ１０６）、処理を終了する。
【００７８】
また、ステップＳ１０２で動作が許可されていないと判断された場合（ステップＳ１０２，ＮＯ），またはステップＳ１０５で全て実装済みでないと判断された場合（ステップＳ１０５，ＮＯ）には、ネットワーク接続部１０９によりネットワーク２０を介して当該自動販売機３０に照合異常を通知し（ステップＳ１０７）、処理を終了する。
【００７９】
自動販売機３０は、ステップＳ８６で、自販機管理装置１０から上記通知を受信すると、照合が正常終了であるか判断する（ステップＳ８７）。そして、正常終了であると判断すると（ステップＳ８７，ＹＥＳ）、当該ソフトウェアにメモリ１５０などの資源を割り当て（ステップＳ８８）、続いて、当該ソフトウェアと既存ソフトウェアとの相互参照関係を解決する（ステップＳ８９）。
そして、自販機ローディング装置７０あるいは携帯型端末８０にローディングの正常終了を通知し（ステップＳ９０）、当該ソフトウェアを動作可能として（ステップＳ９１）、処理を終了する。
【００８０】
また、ステップＳ８２で自販機ＩＤが一致しなかった場合（ステップＳ８２，ＮＯ）、またはステップＳ８７で照合が異常終了であった場合（ステップＳ８７，ＮＯ）には、自販機ローディング装置７０あるいは携帯型端末８０に異常終了を通知し（ステップＳ９２）、処理を終了する。
【００８１】
このように、自動販売機３０はネットワーク２０を介して自販機管理装置１０に対して新たにローディングするソフトウェアの正当性の照合チェックを依頼し、そのチェック結果を通知してもらうことができる。
【００８２】
【発明の効果】
以上、説明したように、本発明の自動販売機管理装置によれば、複数の自動販売機を一括管理し、各自動販売機にローディングするソフトウェアついて、動作が許可されており、かつ、各自動販売機上で動作可能かを検証することができる。また、該ソフトウェアを自動販売機の一機能に対応するモジュール単位とすることにより、自動販売機の機能の追加・変更を、小容量のソフトウェアの追加・交換により実施する基盤を提供することが可能となる。
【図面の簡単な説明】
【図１】  本発明の一実施形態の自動販売機管理システムのシステム構成を示す
図である。
【図２】  自販機管理装置のシステム構成を示すブロック図である。
【図３】  自販機ローディング装置のシステム構成を示すブロック図である。
【図４】  自販機ソフトウェア動作許可テーブルのデータ構造を示す図である。
【図５】  自販機ソフトウェア組み合わせテーブルのデータ構造を示す図である。
【図６】  自販機ソフトウェア実装済テーブルのデータ構造を示す図である。
【図７】  自販機管理装置の動作を説明するフローチャートである。
【図８】  自販機ローディング装置の動作を説明するフローチャートである。
【図９】  （ａ）は自販機ＩＤの格納メモリ、（ｂ）は自販機ソフトウェア動作許可テーブルのデータ構造を示す図である。
【図１０】  自販機ソフトウェア組み合わせテーブルのデータ構造を示す図である。
【図１１】  自販機実装済ソフトウェアテーブルのデータ構造を示す図である。
【図１２】  自動販売機が新たなソフトウェアをローディングするときの動作を説明するフローチャートである。
【図１３】  ローディングされるソフトウェアの正当性及び動作可能性の検証機能を備えていない自動販売機が、新たなソフトウェアをローディングするときの動作を説明するフローチャートである。
【符号の説明】
１０    自販機管理装置
１０１  全体管理部
１０２  ローディング指示受け付け部
１０３  ソフトウェア動作許可チェック部
１０４  ソフトウェア動作可能性チェック部
１０５  自販機ソフトウェア記憶管理部
１０６  自販機ソフトウェア格納用記憶部
１０７  自販機ローディング装置宛ソフト送信部
１０８  ソフトウェア照合要求受付・回答部
１０９  ネットワーク接続部
１１０  携帯型端末用ローディング部
２０    ネットワーク
３０    自動販売機
３２１  メモリ
３２２  既存ソフトウェア
３２３  新たにローディングされるソフトウェア
３２４  入出力デバイス
３４０  自販機ソフトウェア動作許可テーブル
３５０  自販機ソフトウェア組み合わせテーブル
３６０  自販機実装済ソフトウェアテーブル
４０    自販機ソフトウェア動作許可テーブル
５０    自販機ソフトウェア組み合わせテーブル
６０    自販機実装済ソフトウェアテーブル
７０    自販機ローディング装置
７０１  ネットワーク接続部
７０２  自販機ソフトローディング部
７０３  自販機ネットワーク接続部
８０    携帯型端末（自販機ローディング装置）
９０    ソフトウェア
２００  マンマシンインタフェース
４００  ＬＡＮ
【図１】
0003724295.tif 000002
【図２】
0003724295.tif 000003
【図３】
0003724295.tif 000004
【図４】
0003724295.tif 000005
【図５】
0003724295.tif 000006
【図６】
0003724295.tif 000007
【図７】
0003724295.tif 000008
【図８】
0003724295.tif 000009
【図９】
0003724295.tif 000010
【図１０】
0003724295.tif 000011
【図１１】
0003724295.tif 000012
【図１２】
0003724295.tif 000013
【図１３】
0003724295.tif 000014