(57)【要約】【課題】通信ネットワークに接続された複数の端末機器のそれぞれに、端末機器に応じた最新のプログラムを配信可能とする。【解決手段】本発明のデータ管理装置によれば、プログラム配信対象のＥＣＲに搭載されているプログラムの種類と、配信すべき最新のバージョンを示すプログラム管理コードをプログラム配信情報記憶部に記憶しており、各ＥＣＲにより開設時と閉設時にプログラムの配信確認要求が送信されると、送信元のＥＣＲに搭載された各プログラムのバージョンとその最新のバージョンを示す情報とを比較し、異なる場合に、配信が必要である旨を接続したＥＣＲに応答する。ＥＣＲでは、データ管理装置からプログラムの配信が必要であると応答された場合に、データ管理装置に該当するプログラムの配信要求を行ってプログラムデータを取得する。【選択図】  図２
2014139825.tif 000002
【特許請求の範囲】
【請求項１】
通信ネットワークを介して複数の端末機器に接続されるデータ管理装置であって、
前記複数の端末機器の少なくとも一つに配信する一又は複数種類のプログラムを記憶するプログラム記憶手段と、
前記端末機器毎に、当該端末機器に搭載されているプログラムの種類及びこの搭載されているプログラムについて配信すべき最新バージョンを示す情報を記憶する配信情報記憶手段と、
前記通信ネットワークを介して接続された端末機器を認証する認証手段と、
前記認証手段により認証された端末機器から送信される前記端末機器に搭載されている各プログラムのバージョンを示す情報と前記配信情報記憶手段に記憶されている最新バージョンを示す情報とに基づいて、前記認証された端末機器に配信すべきプログラムを判断する配信確認手段と、
前記配信すべきであると判断されたプログラムを前記プログラム記憶手段から読み出し、当該読み出したプログラムを前記通信ネットワークを介して前記認証された端末機器に配信する配信手段と、
最新バージョンのプログラムを前記プログラム記憶手段に登録するとともに、前記配信情報記憶手段に記憶された前記端末機器毎の該当するプログラムの前記最新バージョンを示す情報を更新する登録手段と、を備え、
前記登録手段は、前記最新バージョンのプログラムを登録した際に、前記複数の端末機器を予め定められた複数のグループに分割し、この分割されたグループ毎に時間をずらして前記配信情報記憶手段の前記最新バージョンを示す情報の更新を行うデータ管理装置。
【請求項２】
前記配信情報記憶手段は、前記複数の端末機器に搭載されたプログラム毎に、前記最新バージョンのプログラムが配信されたか否かを示す配信実績情報を格納する領域を有し、
前記配信手段は、前記最新バージョンのプログラムを前記各端末機器に配信した際に、当該プログラムが配信済みであることを示す配信実績情報を前記配信情報記憶手段に記憶させ、
前記登録手段は、前記配信情報記憶手段を参照し、一のグループについての前記最新バージョンのプログラムの配信実績が予め定められた割合を超えた場合に、次のグループについての前記最新バージョンを示す情報の更新を行う請求項１に記載のデータ管理装置。
【請求項３】
前記配信情報記憶手段は、更に、前記配信すべき最新バージョンのプログラムの配信タイミングを更に記憶し、
前記配信確認手段は、更に、前記配信情報記憶手段に記憶されている配信タイミングに基づいて、前記認証された端末機器に配信すべきプログラムを判断する請求項１に記載のデータ管理装置。
【請求項４】
各種データを暗号化する暗号制御手段を備え、
前記配信手段は、前記暗号制御手段により前記認証された端末機器に応じた暗号強度で前記配信すべきプログラムを暗号化して前記認証された端末機器に送信する請求項１に記載のデータ管理装置。
【請求項５】
各種データを暗号化する暗号制御手段を備え、
前記配信手段は、前記暗号制御手段により前記配信するプログラムに応じた暗号強度で前記配信すべきプログラムを暗号化して前記認証された端末機器に送信する請求項１に記載のデータ管理装置。
【請求項６】
通信ネットワークを介して複数の端末機器に接続されるデータ管理装置に用いられるコンピュータを、
前記複数の端末機器の少なくとも一つに配信する一又は複数種類のプログラムを記憶するプログラム記憶手段、
前記端末機器毎に、当該端末機器に搭載されているプログラムの種類及びこの搭載されているプログラムについて配信すべき最新バージョンを示す情報を記憶する配信情報記憶手段、
前記通信ネットワークを介して接続された端末機器を認証する認証手段、
前記認証手段により認証された端末機器から送信される前記端末機器に搭載されている各プログラムのバージョンを示す情報と前記配信情報記憶手段に記憶されている最新バージョンを示す情報とに基づいて、前記認証された端末機器に配信すべきプログラムを判断する配信確認手段、
前記配信すべきであると判断されたプログラムを前記プログラム記憶手段から読み出し、当該読み出したプログラムを前記通信ネットワークを介して前記認証された端末機器に配信する配信手段、
最新バージョンのプログラムを前記プログラム記憶手段に登録するとともに、前記配信情報記憶手段に記憶された前記端末機器毎の該当するプログラムの前記最新バージョンを示す情報を更新する登録手段、として機能させ、
前記登録手段は、前記最新バージョンのプログラムを登録した際に、前記複数の端末機器を予め定められた複数のグループに分割し、この分割されたグループ毎に時間をずらして前記配信情報記憶手段の前記最新バージョンを示す情報の更新を行うように機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ管理装置及びプログラムに関する。
【背景技術】
【０００２】
従来、インターネット等の通信ネットワークを介してサーバ装置から端末機器へ向けてプログラム（ソフトウエア）を配信する各種システムが知られている。
【０００３】
例えば、特許文献１には、端末からサーバ側にアプリケーション要求を送信すると、サーバ装置側から端末に対してアプリケーションソフトウエアをダウンロードの形で配信し、端末側で受信したアプリケーションソフトウエアを使ってデータ処理ができるようにしたソフトウエア配信システムが記載されている。
【０００４】
また、特許文献２には、ソフトウエアを再結合可能な複数のセグメントデータに分割して所定のサイトに登録しておき、ユーザ端末がサイトにリンクしたことが検出されるたびに複数のセグメントデータのそれぞれをひとつずつユーザ端末に送信することで、大容量データのソフトウエアであってもユーザにストレスを与えずに送信することができるようにした技術が記載されている。
【０００５】
また、特許文献３には、分散システムにおけるソフトウエア配信方式が記載されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００５−１８６０４号公報
【特許文献２】特開２００２−９９４７６号公報
【特許文献３】特開平８−９５８８０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ところで、店舗に設置されるＥＣＲ（売上データ処理装置）や決済端末等の端末機器は、同一の会社が構える店舗間であっても店舗毎に機種が異なり、搭載されるプログラムが店舗毎に異なる場合がある。また、同じ店舗であってもフロア毎に端末機器の機種が異なり、フロア毎に搭載されるプログラムが異なる場合がある。また、同じ機種の端末機器であっても、端末機器によって仕向け等が異なり、搭載されるプログラムが異なる場合がある。
【０００８】
しかしながら、従来のプログラムの配信技術においては、サーバ等のデータ管理装置は端末からの要求に応じてプログラムを配信しているだけであり、店舗に設置される端末機器のように、搭載されるプログラムの種類がまちまちである複数の端末機器のプログラムを最新の状態となるように更新させることはできなかった。
【０００９】
本発明の課題は、一度に行うプログラム配信情報の更新対象を制限することで、ネットワーク負荷やシステム負荷を抑制することである。
【課題を解決するための手段】
【００１０】
上記課題を解決するため、請求項１に記載の発明は、
通信ネットワークを介して複数の端末機器に接続されるデータ管理装置であって、
前記複数の端末機器の少なくとも一つに配信する一又は複数種類のプログラムを記憶するプログラム記憶手段と、
前記端末機器毎に、当該端末機器に搭載されているプログラムの種類及びこの搭載されているプログラムについて配信すべき最新バージョンを示す情報を記憶する配信情報記憶手段と、
前記通信ネットワークを介して接続された端末機器を認証する認証手段と、
前記認証手段により認証された端末機器から送信される前記端末機器に搭載されている各プログラムのバージョンを示す情報と前記配信情報記憶手段に記憶されている最新バージョンを示す情報とに基づいて、前記認証された端末機器に配信すべきプログラムを判断する配信確認手段と、
前記配信すべきであると判断されたプログラムを前記プログラム記憶手段から読み出し、当該読み出したプログラムを前記通信ネットワークを介して前記認証された端末機器に配信する配信手段と、
最新バージョンのプログラムを前記プログラム記憶手段に登録するとともに、前記配信情報記憶手段に記憶された前記端末機器毎の該当するプログラムの前記最新バージョンを示す情報を更新する登録手段と、を備え、
前記登録手段は、前記最新バージョンのプログラムを登録した際に、前記複数の端末機器を予め定められた複数のグループに分割し、この分割されたグループ毎に時間をずらして前記配信情報記憶手段の前記最新バージョンを示す情報の更新を行う。
【発明の効果】
【００１１】
本発明によれば、一度に行うプログラム配信情報の更新対象を制限することで、ネットワーク負荷やシステム負荷を抑制することができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の実施形態におけるプログラム配信システムの構成例を示すブロック図である。
【図２】図１のデータ管理装置の内部構成例を示すブロック図である。
【図３】図２のＣＰＵ１１と記憶部に記憶されているアプリケーションプログラムとの協働により実現される機能の構成例を示す図である。
【図４】（ａ）は、図２のストアサービスマスタ記憶部のデータ格納例を示す図であり、（ｂ）は、図２のプログラム配信情報記憶部のデータ格納例を示す図であり、（ｃ）は、図２のプログラムデータ記憶部のデータ格納例を示す図である。
【図５】図１のＥＣＲの内部構成例を示すブロック図である。
【図６】図３のプログラムデータ登録部により実行されるプログラムデータ登録処理を示すフローチャートである。
【図７】図３のプログラム配信情報登録部により実行されるプログラム配信情報登録処理を示すフローチャートである。
【図８】図５のＣＰＵにより実行される閉設処理を示すフローチャートである。
【図９】図３のストアサービスポート制御部により実行されるサービス提供処理を示すフローチャートである。
【図１０】図３の認証制御部により実行される認証処理を示すフローチャートである。
【図１１】図３のプログラム配信確認部により実行されるプログラム配信確認処理を示すフローチャートである。
【図１２】図３のプログラム配信部により実行されるプログラム配信処理を示すフローチャートである。
【図１３】実施形態２におけるプログラム配信情報記憶部のデータ格納例を示す図である。
【図１４】実施形態２において図３のプログラム配信情報登録部により実行されるプログラム配信情報登録処理Ｂを示すフローチャートである。
【図１５】実施形態３におけるプログラム配信情報記憶部のデータ格納例を示す図である。
【図１６】実施形態３において図３のプログラム配信確認部により実行されるプログラム配信確認処理Ｂを示すフローチャートである。
【図１７】実施形態４において図２のＣＰＵ１１と記憶部に記憶されているアプリケーションプログラムとの協働により実現される機能の構成例を示す図である。
【図１８】実施形態４において図１７の電文制御部２０１において実行される電文解釈処理を示すフローチャートである。
【図１９】実施形態４において図１７のプログラム配信部２０４において実行されるプログラム配信処理Ｂを示すフローチャートである。
【図２０】実施形態４において図１７の暗号制御部２０５において実行されるプログラムデータ暗号処理を示すフローチャートである。
【発明を実施するための形態】
【００１３】
〔実施形態１〕
まず、本発明の実施形態１について説明する。
図１に、実施形態１におけるプログラム配信システム１の構成例を示す。図１に示すように、プログラム配信システム１は、データ管理装置１０と、端末機器としてのＥＣＲ（Electronic Cash Resister）２０（２０Ａ〜２０Ｄ）とが通信ネットワークＮを介してデータ送受信可能に接続されて構成されている。通信ネットワークＮは、例えば、ＷＡＮ（Wide Area Network）やインターネット等の通信ネットワークにより構成されるが、ＬＡＮ（Local Area Network）等を含めてもよく、電話回線、専用線、移動体通信網、通信衛星網、ＣＡＴＶ（Cable Television）回線、インターネットプロバイダ等を含めてもよい。また、ＥＣＲ２０の台数は、ここでは２０Ａ〜２０Ｄの４台として図示しているが、特に限定されない。
【００１４】
データ管理装置１０は、通信ネットワークＮを介して接続された各ＥＣＲ２０に対応する最新バージョンのプログラムデータを記憶するとともに、ＥＣＲ２０毎に、搭載されているプログラムの種類やそのプログラムの最新バージョンを示すプログラム管理コード等を記憶、管理しており、各ＥＣＲ２０からの要求に応じて、プログラムの配信確認やプログラムデータの配信等を行う。
ＥＣＲ２０は、店舗に設けられ、オペレータの操作に基づいて商品取引の登録処理（取引された日時、商品名、商品の売上個数、売上金額のデータ、担当者等の登録処理）、点検処理、精算処理、店舗内の売上集計等を行う売上データ処理装置である。ＥＣＲ２０としては、例えば、電子レジスタ等が適用可能である。
【００１５】
以下、プログラム配信システム１を構成する各装置について説明する。
まず、データ管理装置１０について説明する。
図２に、データ管理装置１０の内部構成例を示す。図２に示すように、データ管理装置１０は、ＣＰＵ（Central Processing Unit）１１と、入力部１２と、ＲＡＭ（Random Access Memory）１３と、表示部１４と、記憶部１５と、通信部１６と、計時部１７と、を備えて構成され、各部はバス１８を介して接続されて構成されている。
【００１６】
ＣＰＵ１１は、データ管理装置１０の各部を集中制御する。ＣＰＵ１１は、記憶部１５に記憶されているシステムプログラム及び各種アプリケーションプログラムの中から指定されたプログラムをＲＡＭ１３に展開し、ＲＡＭ１３に展開されたプログラムとの協働で、各種処理を実行する。
【００１７】
図３に、ＣＰＵ１１と、記憶部１５に記憶されている各種アプリケーションプログラムとの協働により実現される機能構成例を示す。図３に示すように、ＣＰＵ１１とプログラムとの協働により、登録手段としてのストアサービス情報登録部１００、ストアサービスポート制御部２００が実現される。
ストアサービス情報登録部１００は、より詳細には、ストアサービスマスタ登録部１０１、プログラムデータ登録部１０２及びプログラム配信情報登録部１０３により構成される。
ストアサービスマスタ登録部１０１は、入力部１２からの入力に基づいて、データ管理装置１０におけるプログラム配信対象となるＥＣＲ２０に関するマスタ情報をストアサービスマスタ記憶部１５１に登録する。
プログラムデータ登録部１０２は、後述するプログラムデータ登録処理を実行し、入力部１２からの入力に基づいて、ＥＣＲ２０の少なくとも一つに配信するプログラムデータ及びその属性情報をプログラムデータ記憶部１５３に登録する。
プログラム配信情報登録部１０３は、ストアサービスマスタ登録部１０１によってマスタ情報の登録が行われた際に、マスタ情報が登録されたＥＣＲ２０についてのプログラムの配信確認を行うための情報（プログラム配信情報）をプログラム配信情報記憶部１５２に登録する。また、プログラム配信情報登録部１０３は、プログラムデータ登録部１０２によってプログラムデータが登録された際に、プログラム配信情報をプログラム配信情報記憶部１５２に登録する。
【００１８】
ストアサービスポート制御部２００は、より詳細には、電文制御部２０１、認証制御部２０２、プログラム配信確認部２０３、プログラム配信部２０４により構成される。
電文制御部２０１は、通信部１６を介して受信された通信データのプロトコル処理を行い、通信データに含まれる要求データの解釈を行う。
認証手段としての認証制御部２０２は、後述する認証処理を実行し、ストアサービスマスタ記憶部１５１に登録されているマスタ情報を参照し、通信部１６を介して接続されたＥＣＲ２０の認証を行う。
配信確認手段としてのプログラム配信確認部２０３は、後述するプログラム配信確認処理を実行し、プログラム配信確認の要求元のＥＣＲ２０に対するプログラム配信情報をプログラム配信情報記憶部１５２から取得しプログラムの配信が必要であるか否かを判断し、結果を要求元のＥＣＲ２０に送信する。
配信手段としてのプログラム配信部２０４は、後述するプログラム配信処理を実行し、プログラムデータ記憶部１５３に記憶されているプログラムデータを読み出して、プログラムの配信要求元のＥＣＲ２０に送信する。
【００１９】
入力部１２は、カーソルキー、文字、数字入力キー及び各種機能キーなどを備えたキーボードを含む構成とし、操作者により各キーが押下された操作信号をＣＰＵ１１に出力する。また、入力部１２は、マウス等のポインティングデバイスを含み、位置入力信号を受け付けてＣＰＵ１１に送信することとしてもよい。
【００２０】
ＲＡＭ１３は、揮発性のメモリである。また、ＲＡＭ１３は、実行される各種プログラムやこれら各種プログラムに係るデータ等を格納するワークエリアを有する。
【００２１】
表示部１４は、ＬＣＤ（Liquid Crystal Display）、ＣＲＴ（Cathode Ray Tube）等で構成され、ＣＰＵ１１からの表示制御信号に従って画面表示を行う。
【００２２】
記憶部１５は、ＨＤＤ（Hard Disk Drive）等により構成され、各種プログラム及び各種データを読み出し及び書き込み可能に記憶する。本実施形態において、記憶部１５は、図２に示すように、ストアサービスマスタ記憶部１５１、配信情報記憶手段としてのプログラム配信情報記憶部１５２、プログラム記憶手段としてのプログラムデータ記憶部１５３を有している。
【００２３】
図４（ａ）に、ストアサービスマスタ記憶部１５１のデータ格納例を示す。ストアサービスマスタ記憶部１５１は、登録された各ＥＣＲ２０についてのマスタ情報を記憶するものであり、図４（ａ）に示すように、「端末機器コード」フィールド、「グループコード」フィールド、「会社コード」フィールド、「店舗コード」フィールド、「機種コード」フィールド、「接続区分」フィールドを有する。
「端末機器コード」フィールドは、ＥＣＲ２０に一意に割り当てられた端末機器コードを格納する。「グループコード」フィールドは、ＥＣＲ２０を予め定められた基準に従って分類したときの分類区分を示すグループコードを格納する。「会社コード」フィールドは、ＥＣＲ２０を設置している会社を表す会社コードを格納する。「店舗コード」フィールドは、ＥＣＲ２０を設置している店舗を表す店舗コードを格納する。「機種コード」フィールドは、ＥＣＲ２０の端末機種を表す機種コードを格納する。機種コードは、上位３桁からなり、機種に一意に割り当てられたメジャーコードと、下位３桁からなり、仕向けを示すマイナーコードから構成される。「接続区分」フィールドは、ＥＣＲ２０の接続可否を示すフラグ（接続可であれば「１」、不可であれば「０」）を格納する。
【００２４】
図４（ｂ）に、プログラム配信情報記憶部１５２のデータ格納例を示す。プログラム配信情報記憶部１５２は、プログラム配信対象となる各ＥＣＲ２０に搭載されているプログラム毎のプログラム配信情報を記憶するものであり、図４（ｂ）に示すように、「端末機器コード」フィールド、「グループコード」フィールド、「会社コード」フィールド、「店舗コード」フィールド、「プログラム識別コード」フィールド、「プログラム管理コード」フィールドを有する。
「端末機器コード」フィールドは、プログラムの配信対象となるＥＣＲ２０の端末機器コードを格納する。「グループコード」フィールドはグループコードを、「会社コード」フィールドは会社コードを、「店舗コード」フィールドは、店舗コードをそれぞれ格納する。「プログラム識別コード」フィールドは、プログラムの種類を表すプログラム識別コードを格納する。「プログラム管理コード」フィールドは、配信すべきプログラムのバージョンを示すプログラム管理コードを格納する。
なお、配信すべきプログラムのバージョンとは、即ち、最新バージョンである。また、各ＥＣＲ２０には、機能毎の複数種類のプログラムが搭載されており、プログラム識別コードは、機能毎のプログラムの種類を表す。
【００２５】
図４（ｃ）に、プログラムデータ記憶部１５３のデータ格納例を示す。プログラムデータ記憶部１５３は、配信すべきプログラムのプログラムデータとそのプログラムの属性情報を記憶するものであり、図４（ｃ）に示すように、「機種コード」フィールド、「プログラム識別コード」フィールド、「プログラム管理コード」フィールド、「プログラムデータサイズ」フィールド、「プログラムデータ」フィールドを有する。
「機種コード」フィールドは、プログラムデータに対応するＥＣＲ２０の機種コードを格納する。「プログラム識別コード」フィールドは、プログラムの種類を表すプログラム識別コードを格納する。「プログラム管理コード」フィールドは、プログラムの最新バージョンを示すプログラム管理コードを格納する。「プログラムデータサイズ」フィールドは、プログラムデータのサイズを表す情報を格納する。「プログラムデータ」フィールドは、プログラムデータを格納する。
【００２６】
なお、上述のように、機種コードは、機種に一意に割り当てられたメジャーコードと、仕向けを示すマイナーコードから構成されている。図４（ｃ）に示すように、プログラムデータ記憶部１５３において、プログラムデータは、機種コード及びプログラム識別コードの組み合わせ毎に格納され、管理されている。即ち、機種が同じであっても仕向けが異なるＥＣＲ２０同士では、異なるプログラムデータを配信することができるようになっている。
【００２７】
通信部１６は、モデム、ＴＡ（Terminal Adapter）、ルータ、ネットワークカード等により構成される。通信部１６は、接続される通信ネットワークＮ上の等の外部機器とデータ送受信を行う。
計時部１７は、計時回路を内蔵し、現在時刻及び現在日付を計時してＣＰＵ１１に出力する。
【００２８】
次いで、端末機器としてのＥＣＲ２０の構成を説明する。
図５に、ＥＣＲ２０の内部構成例を示す。図５に示すように、ＥＣＲ２０は、ＣＰＵ２１と、入力部２２と、ＲＡＭ２３と、表示部２４と、記憶部２５と、通信部２６と、計時部２７と、ドロア２８と、プリント部２９ａと、を備えて構成され、各部はバス２９ｂを介して接続されて構成されている。
【００２９】
ＣＰＵ２１、ＲＡＭ２３、通信部２６については、それぞれ、データ管理装置１０のＣＰＵ１１、ＲＡＭ１３、通信部１６の構成と同様であり、異なる部分を主として説明する。
【００３０】
ＣＰＵ２１は、ＥＣＲ２０の各部を集中制御する。ＣＰＵ２１は、記憶部２５に記憶されているシステムプログラム及び各種アプリケーションプログラムの中から指定されたプログラムをＲＡＭ２３に展開し、ＲＡＭ２３に展開されたプログラムとの協働で、各種処理を実行する。
【００３１】
例えば、ＣＰＵ２１は、オペレータによる入力部２２の操作に応じて各種アプリケーションプログラムを読み出して、読み出したアプリケーションプログラムとの協働により、商品取引の登録処理、点検処理、精算処理、店舗内の売上集計処理等を行う。
【００３２】
また、ＣＰＵ２１は、開設時、即ち、入力部２２の電源キーが操作され電源がＯＮされた際に、開設処理プログラムを読み出して、読み出したプログラムとの協働により開設処理を実行する。即ち、ＣＰＵ２１は、データ管理装置１０に接続してプログラム配信確認要求を送信し、データ管理装置１０から受信したプログラム配信確認応答にプログラム更新の必要があることを示す情報が含まれているか否かを判断し、プログラム更新の必要があることを示す情報が含まれていると判断されると、データ管理装置１０にプログラム配信要求を送信してプログラムデータを取得し、取得したプログラムデータによりプログラムを更新（インストール）する。
【００３３】
また、ＣＰＵ２１は、入力部２２により閉設が指示された際に、閉設処理プログラムを読み出して、読み出したプログラムとの協働により閉設処理（図８参照）を実行する。
【００３４】
入力部２２は、電源キー、カーソルキー、文字、数字入力キー及び各種機能キーなどを備えたレジ用のキーボードを含む構成とし、操作者により各キーが押下された操作信号をＣＰＵ２１に出力する。表示部２４は、ＬＣＤ等で構成され、ＣＰＵ２１からの表示制御信号に従って画面表示を行う。入力部２２は、表示部２４と一体的にタッチパネルを構成することとしてもよい。また、入力部２２は、商品に設けられたバーコードを読み取るバーコードリーダやバーコードスキャナ等を備えることとしてもよい。
【００３５】
記憶部２５は、フラッシュメモリ等により構成される。記憶部２５は、各種プログラム及び売上データやＥＣＲ２０のマスタ情報（端末機器コード、グループコード、会社コード、店舗コード、機種コード等）を始めとする各種データを読み出し及び書き込み可能に記憶する。また、記憶部２５は、ＨＤＤ等により構成してもよい。
【００３６】
通信部２６は、通信ネットワークＮ上のデータ管理装置１０等の外部機器とデータ送受信を行う。
計時部２７は、計時回路を内蔵し、現在時刻及び現在日付を計時してＣＰＵ２１に出力する。
【００３７】
ドロア２８は、硬貨や紙幣等の現金を収納する引出しである。ドロア２８は、例えば、ＣＰＵ２１の指示により、引出しを開ける。
【００３８】
プリント部２９ａは、例えば、サーマルプリンタであり、レシート用、ジャーナル用のロール紙を有し、ＣＰＵ２１から入力される指示に従って、各ロール紙に対して金額等のデータをプリントアウトする。 
【００３９】
次に、実施形態１におけるデータ管理装置１０、ＥＣＲ２０の主要な動作についてフローチャートを参照して詳細に説明する。
【００４０】
（プログラムデータ登録処理）
図６に、データ管理装置１０のプログラムデータ登録部１０２により実行されるプログラムデータ登録処理のフローを示す。なお、登録対象のプログラムデータのファイルは、記憶部１５に格納されているものとする。
【００４１】
まず、表示部１４にプログラム登録画面（図示せず）が表示され、登録するプログラムデータが格納されているディレクトリ情報や、登録するプログラムデータの属性情報、即ち、機種コード、プログラム識別コード、プログラム管理コード等の入力部１２からの入力が受け付けられる（ステップＳ１）。 
【００４２】
次いで、登録対象のプログラムデータがＲＡＭ１３に読み出され、プログラムデータサイズが取得される（ステップＳ２）。
【００４３】
次いで、プログラムデータ記憶部１５３に、登録対象のプログラムデータの属性情報、即ち、ステップＳ１で入力された機種コード、プログラム識別コード、プログラム管理コード及びステップＳ２で取得されたプログラムデータサイズが登録されるとともに、ＲＡＭ１３に読み出されたプログラムデータが登録される（ステップＳ３）。
【００４４】
プログラムデータの登録が終了すると、プログラム配信情報登録部１０３によりプログラム配信情報登録処理が実行され（ステップＳ４）、本処理は終了する。
【００４５】
図７に、ステップＳ４においてプログラム配信情報登録部１０３により実行されるプログラム配信情報登録処理のフローを示す。
プログラム配信情報登録処理においては、まず、ストアサービスマスタ記憶部１５１において、ステップＳ３で登録されたプログラムデータの機種コードを有するレコードが検索処理され、検索されたレコードがＲＡＭ１３に読み出される（ステップＳ１０１）。
【００４６】
次いで、プログラム配信情報記憶部１５２において、ステップＳ１０１で検索された各レコードの端末機器コード及び登録されたプログラムデータのプログラム識別コードを含むレコードが検索処理され、検索されたレコードがＲＡＭ１３に読み出される（ステップＳ１０２）。
【００４７】
次いで、ステップＳ１０２でＲＡＭに読み出されたレコードのプログラム管理コードが登録されたプログラムデータのプログラム管理コードに変更され、変更された内容によりプログラム配信情報記憶部１５２のプログラム配信情報が更新され（ステップＳ１０３）、本処理は終了する。
【００４８】
上記プログラムデータ登録処理により、新しいバージョンのプログラムデータがプログラムデータ記憶部１５３に登録されると、新しいバージョンのプログラムデータを配信すべきＥＣＲ２０についてのプログラム配信情報記憶部１５２におけるプログラム管理コードを自動的に更新することができる。
【００４９】
（閉設処理）
図８に、各ＥＣＲ２０のＣＰＵ２１において実行される閉設処理のフローを示す。当該処理は、店舗における業務終了時に入力部２２により閉設の指示が入力された際に実行される。
まず、通信部２６によりデータ管理装置１０への通信接続が行われる（ステップＳ１１）。次いで、１日の売上データのジャーナルへの印字、１日の売上データの保存、リセット等の精算処理が行われる（ステップＳ１２）。
【００５０】
次いで、通信部２６によりデータ管理装置１０にプログラム配信確認要求が送信され（ステップＳ１３）、データ管理装置１０からのプログラム配信確認応答が受信される（ステップＳ１４）。
【００５１】
ここで、ＥＣＲ２０からデータ管理装置１０に各種要求を送信するにあたっては、予め定められた形式の要求データが送信されることによって行われる。要求データは、ヘッダ部とデータ部を有している。ヘッダ部には、ＥＣＲ２０とデータ管理装置１０とでデータ通信を行う際に必要な情報、例えば、あて先（データ管理装置１０）の通信ネットワークＮ上のアドレスや送信元の通信ネットワークＮ上のアドレス等が含まれる。また、データ部についての暗号化情報等を含めてもよい。データ部には、要求の種類（例えば、プログラム配信確認、プログラム配信等）、各種要求を行うにあたってデータ管理装置１０に引き渡すパラメータ等が含まれる。
【００５２】
例えば、認証要求データのデータ部には、ＥＣＲ２０の端末機器コードが含まれる。プログラム配信確認要求データのデータ部には、ＥＣＲ２０の端末機器コード、記憶部２５に記憶されている各プログラムのプログラム識別コード及びプログラム管理コードが含まれる。配信要求データのデータ部には、ＥＣＲ２０の端末機器コード、機種コード、配信を要求するプログラムのプログラム識別コード及びプログラム管理コードが含まれる。
【００５３】
同様に、データ管理装置１０からＥＣＲ２０に各種応答を送信するにあたっては、予め定められた形式の応答データが送信される。応答データは、ヘッダ部とデータ部を有している。ヘッダ部には、ＥＣＲ２０とデータ管理装置１０とでデータ通信を行う際に必要な情報等が含まれる。また、データ部についての暗号化情報等を含めてもよい。データ部には、応答内容（例えば、プログラム配信確認要求に対する応答の場合は、プログラム識別コード毎の配信確認情報（プログラムの配信が必要であるか否かを示す情報）、プログラム配信要求に対する応答の場合は、プログラムデータ）等が含まれる。
【００５４】
プログラム配信確認応答が受信されると、ステップＳ１５〜Ｓ２１のループ１の処理が、受信された応答データに含まれるプログラム数分（プログラム識別コード数分）繰り返し実行される。
【００５５】
まず、応答データから一のプログラム識別コードに対応する配信確認情報が取り出され（ステップＳ１６）、プログラムの配信（更新）が必要であるか否かが判断され、プログラムの配信（更新）が必要であると判断されると（ステップＳ１７；ＹＥＳ）、通信部２６によりデータ管理装置１０にプログラム配信要求が送信される（ステップＳ１８）。プログラム配信要求にあたっては、配信要求データがデータ管理装置１０に送信される。通信部２６によりデータ管理装置１０からのプログラム配信応答の応答データ、即ち、プログラムデータが受信されると（ステップＳ１９）、配信されたプログラムデータにより記憶部２５に記憶されているプログラムが更新（インストール）され（ステップＳ２０）、応答データにおける次のプログラム識別コードに対応する配信確認情報についてのループ１の処理に移行する。
なお、データ管理装置１０から送信されるプログラムデータには、プログラムデータの属性情報が含まれ、ＥＣＲ２０においてプログラムデータのプログラム識別コードやプログラム管理コードを認識できるようになっている。
【００５６】
一方、プログラムの配信（更新）が必要ではないと判断されると（ステップＳ１７；ＮＯ）、次のプログラム識別コードに対応する配信確認情報についてのループ１の処理に移行する。
【００５７】
受信した応答データに含まれるプログラム数分（プログラム識別コード数分）のループ１の処理が終了すると（ステップＳ２１）、通信部２６によりデータ管理装置１０との接続が切断され（ステップＳ２２）、本処理は終了する。
【００５８】
なお、各ＥＣＲ２０において、電源ＯＮ時に実行される開設処理は、上述のステップＳ１２の処理を行わない他は、図８を用いて説明した閉設処理と同様である。
【００５９】
上述の閉設処理及び開設処理により、ＥＣＲ２０は、開設時と閉設時にプログラムの配信（更新）が必要であるか否かをデータ管理装置１０に問い合わせ、必要である場合にプログラムデータの配信要求を行ってプログラムを更新することができる。
【００６０】
（サービス提供処理）
図９に、データ管理装置１０のストアサービスポート制御部２００により実行されるサービス提供処理のフローを示す。当該処理は、上述のＥＣＲ２０における閉設処理、開設処理に対応してデータ管理装置１０側で実行される処理である。
【００６１】
まず、通信部１６によりＥＣＲ２０からの接続要求が受信されると、接続要求に応じてＥＣＲ２０との接続が開始される（ステップＳ３１）。次いで、通信部１６によりＥＣＲ２０からの要求データの受信が待機され（ステップＳ３２）、要求データが受信されると（ステップＳ３２；ＹＥＳ）、電文制御部２０１により要求データの電文解析処理が行われ、要求された処理の内容が特定される（ステップＳ３３）。
【００６２】
電文制御部２０１による解析の結果、受信された要求データの内容が認証要求であると判断されると（ステップＳ３４；認証要求）、認証制御部２０２により図１０に示す認証処理が実行される（ステップＳ３５）。
【００６３】
図１０に、図９のステップＳ３５において認証制御部２０２により実行される認証処理のフローを示す。
認証処理においては、まず、ストアサービスマスタ記憶部１５１において、要求データに含まれる端末機器コードを有するレコードが検索処理される（ステップＳ２０１）。検索の結果、要求データに含まれる端末機器コードを有するレコードがストアサービスマスタ記憶部１５１に存在しないと判断されると（ステップＳ２０２；ＮＯ）、通信部１６を介して接続されたＥＣＲ２０に認証ＮＧである旨が応答され（ステップＳ２０５）、処理は図９のステップＳ３２に戻る。
【００６４】
検索の結果、要求データの端末機器コードを含むレコードがストアサービスマスタ記憶部１５１に存在すると判断されると（ステップＳ２０２；ＹＥＳ）、当該レコードの接続区分が参照され、接続区分が“１”である場合（ステップＳ２０３；ＹＥＳ）、通信部１６を介して接続されたＥＣＲ２０に認証ＯＫである旨が応答され（ステップＳ２０４）、処理は図９のステップＳ３２に戻る。接続区分が“０”である場合（ステップＳ２０３；ＮＯ）、通信部１６を介して接続されたＥＣＲ２０に認証ＮＧである旨が応答され（ステップＳ２０５）、処理は図９のステップＳ３２に戻る。
【００６５】
図９に戻り、電文制御部２０１による解析の結果、受信された要求データの内容がプログラム配信確認要求であると判断されると（ステップＳ３４；プログラム配信確認要求）、プログラム配信確認部２０３により図１１に示すプログラム配信確認処理が実行される（ステップＳ３６）。なお、プログラム配信確認処理及びプログラム配信処理は、接続されているＥＣＲ２０が上述の認証処理において認証ＯＫとされた場合にのみ実行される。
【００６６】
図１１に、図９のステップＳ３６においてプログラム配信確認部２０３により実行されるプログラム配信確認処理のフローを示す。
プログラム配信確認処理においては、まず、プログラム配信情報記憶部１５２において、要求データに含まれる端末機器コードを有するレコードが検索処理され、要求データに含まれる端末機器コードを有するレコードがＲＡＭ１３に読み出される（ステップＳ３０１）。
【００６７】
次いで、ステップＳ３０２〜Ｓ３０８のループ２の処理が、受信された要求データに含まれるプログラム識別コード数分（プログラムの種類数分）繰り返し実行される。
【００６８】
まず、受信された要求データから一のプログラム識別コード及び当該プログラム識別コードに対応するプログラム管理コードが取り出される（ステップＳ３０３）。次いで、取り出されたプログラム識別コードを有するプログラム配信情報のレコードがＲＡＭ１３に存在するか否かが判断され、存在しないと判断されると（ステップＳ３０４；ＮＯ）、当該プログラム識別コードに対応する種類のプログラムの配信は必要ないと判定され、当該プログラム識別コードのプログラム配信が不要であることを示すプログラム配信確認情報が応答データに設定され（ステップＳ３０７）、次のプログラム識別コードについてのループ２の処理に移行する。
【００６９】
一方、ステップＳ３０３において取り出されたプログラム識別コードを有するプログラム配信情報のレコードがＲＡＭ１３に存在すると判断されると（ステップＳ３０４；ＹＥＳ）、要求データから取り出された当該プログラム識別コードに対応するプログラム管理コードがステップＳ３０１でＲＡＭ１３に読み出された当該プログラム識別コードを有するレコードにおけるプログラム管理コードと異なるか否かが判断され、異なると判断されると（ステップＳ３０５；ＹＥＳ）、プログラムの配信が必要であると判定され、当該プログラム識別コードに対応する種類のプログラムの配信が必要であることを示すプログラム配信確認情報が応答データに設定され（ステップＳ３０６）、次のプログラム識別コードについてのループ２の処理に移行する。
【００７０】
一方、要求データから取り出された当該プログラム識別コードに対応するプログラム管理コードがステップＳ３０１でＲＡＭ１３に読み出された当該プログラム識別コードを有するレコードにおけるプログラム管理コードと同一であると判断されると（ステップＳ３０５；ＮＯ）、当該プログラム識別コードに対応する種類のプログラムの配信は必要ないと判定され、当該プログラム識別コードのプログラム配信が不要であることを示すプログラム配信確認情報が応答データに設定され（ステップＳ３０７）、次のプログラム識別コードについてのループ２の処理に移行する。
【００７１】
受信した要求データに含まれる全てのプログラム識別コードについてのループ２の処理が終了すると（ステップＳ３０８）、設定された応答データが通信部１６により接続されたＥＣＲ２０に送信され（ステップＳ３０９）、処理は図９のステップＳ３２に移行する。
【００７２】
図９に戻り、電文制御部２０１による解析の結果、受信された要求データの内容がプログラム配信要求であると判断されると（ステップＳ３４；プログラム配信要求）、プログラム配信部２０４により図１２に示すプログラム配信処理が実行される（ステップＳ３７）。
【００７３】
図１２に、図９のステップＳ３７においてプログラム配信部２０４により実行されるプログラム配信処理のフローを示す。
プログラム配信処理においては、まず、プログラムデータ記憶部１５３において、要求データに含まれる機種コード、プログラム識別コード及びプログラム管理コードと一致する属性情報を有するプログラムデータが検索処理され、該当するプログラムデータが読み出される（ステップＳ４０１）。
【００７４】
次いで、読み出されたプログラムデータが応答データに設定され、通信部１６により接続された認証されたＥＣＲ２０に送信される（ステップＳ４０２）。そして、処理は図９のステップＳ３２に戻る。
【００７５】
図９に戻り、電文制御部２０１による解析の結果、受信された要求データの内容が切断要求であると判断されると（ステップＳ３４；切断要求）、通信部１６によりＥＣＲ２０との通信が切断され（ステップＳ３８）、本処理は終了する。
【００７６】
以上説明したように、プログラム配信システム１においては、データ管理装置１０によりプログラム配信対象のＥＣＲ２０に搭載されているプログラムの種類と、配信すべき最新のバージョンを示すプログラム管理コードをプログラム配信情報記憶部１５２に記憶しており、各ＥＣＲ２０により開設時と閉設時にプログラムの配信確認要求が送信されると、送信元のＥＣＲ２０に搭載された各プログラムのバージョンとその最新のバージョンを示す情報とを比較し、異なる場合に、配信が必要である旨を接続したＥＣＲ２０に応答する。ＥＣＲ２０では、データ管理装置１０からプログラムの配信が必要であると応答された場合に、データ管理装置１０に該当するプログラムの配信要求を行ってプログラムデータを取得し更新する。
従って、通信ネットワークＮに接続された複数のＥＣＲ２０のそれぞれに、ＥＣＲ２０に応じた最新のプログラムを配信することができ、各ＥＣＲ２０は、常に最新のプログラムで動作することが可能となる。
【００７７】
〔実施形態２〕
以下、本発明の実施形態２について説明する。
実施形態１においては、プログラムデータ登録部１０２により新しいバージョンのプログラムデータがプログラムデータ記憶部１５３に登録されると、プログラム配信情報登録部１０３は、プログラム配信情報登録処理を行って、バージョンアップ前の同種のプログラムが搭載されたＥＣＲ２０の全てのプログラム配信情報のプログラム管理コードを新しいバージョンを示すプログラム管理コードに変更した。しかし、ＥＣＲ２０の開設と閉設が所定時間帯に集中する場合、一度に該当する全てのＥＣＲ２０のプログラム管理コードを変更してしまうとデータ管理装置１０へのプログラム配信要求が集中し、ネットワーク負荷やシステム負荷が大きくなる。
そこで、実施形態２においては、データ管理装置１０へのプログラム配信要求が集中することを防ぐため、一度に行うプログラム配信情報の更新対象を制限することで、ネットワーク負荷やシステム負荷を抑制する。
【００７８】
図１３に、実施形態２におけるプログラム配信情報記憶部１５２のデータ格納例を示す。図１３に示すように、本実施形態におけるプログラム配信情報記憶部１５２は、実施形態１において図４（ｂ）を用いて説明した各フィールドのほか、「配信実績」フィールドを有する。「配信実績」フィールドは、プログラムデータの更新後、そのプログラムデータを配信済みであることを示す配信実績情報（未配信フラグ“０”、配信済みフラグ“１”）を格納する。
【００７９】
実施形態２におけるその他の構成は、実施形態１で説明したのと同様であるので説明を省略する。
【００８０】
次に、実施形態２における動作について説明する。
実施形態２においては、プログラム配信処理と、プログラムデータ登録処理のステップＳ４（図６参照）で実行されるプログラム配信情報登録処理が実施形態１と異なる。
【００８１】
実施形態２におけるプログラム配信処理では、図１２で説明したステップＳ４０２の処理の後に、プログラム配信情報記憶部１５２における、プログラムデータの配信対象となったＥＣＲ２０の端末機器コード及び配信したプログラムのプログラム識別コードを有するレコードの「配信実績」フィールドに“１”が設定される処理が行われる。
【００８２】
実施形態２におけるプログラム配信情報登録処理（実施形態１と区別するためプログラム配信情報登録処理Ｂとする）では、図１４に示すフローで処理が行われる。なお、以下の説明では、グループコードを所定範囲毎（例えば、００１〜１００、１０１〜２００、２０１〜３００、・・・）にまとめてプログラム配信対象のＥＣＲ２０をグループに分割し、グループ毎にプログラム配信情報のプログラム管理コードを更新していくものとして説明する。
【００８３】
プログラム配信情報登録処理Ｂにおいては、まず、ストアサービスマスタ記憶部１５１において、図６に示すプログラムデータ登録処理のステップＳ３で登録された機種コードを含むレコードが検索処理され、検索されたレコードがＲＡＭ１３に読み出される（ステップＳ５０１）。
【００８４】
次いで、プログラム配信情報記憶部１５２において、ステップＳ５０１で検索された各レコードの端末機器コード及び登録されたプログラムデータのプログラム識別コードを含むレコードが検索処理され、検索されたレコードがＲＡＭ１３に読み出される（ステップＳ５０２）。
【００８５】
次いで、ステップＳ５０２でＲＡＭ１３に読み出されたレコードが予め定められたグループコードの範囲毎のグループに分割され（ステップＳ５０３）、グループコードが所定範囲の（例えば、００１〜１００）グループに属するレコードのプログラム管理コードが、新たに登録されたプログラムデータのプログラム管理コードに変更され、更に、配信実績フィールドが“０”に初期化され、変更された内容によりプログラム配信情報記憶部１５２の情報が更新される（ステップＳ５０４）。また、更新時に計時部１７により出力された日時情報が更新日時としてＲＡＭ１３に記憶される（ステップＳ５０５）。
【００８６】
次いで、ステップＳ５０６〜Ｓ５１３のループ３の処理が、全てのグループの更新完了まで繰り返し実行される。
【００８７】
まず、所定時間（例えば、１時間）スリープ状態とされ（ステップＳ５０７）、次いで、前回更新対象となったグループのプログラム配信情報の更新から所定期間（例えば、３日間）経過したか否かが判断され、所定期間が経過したと判断されると（ステップＳ５０８；ＹＥＳ）、処理はステップＳ５１１に移行する。
【００８８】
前回更新対象となったグループのプログラム配信情報の更新から所定期間経過していないと判断されると（ステップＳ５０８；ＮＯ）、前回更新対象となったグループコードをもつプログラム配信情報のレコードがプログラム配信情報記憶部１５２から取得され（ステップＳ５０９）、「配信実績」フィールドが“１”のレコードが予め定められた割合（例えば、８０％）を超えているか否かが判断される（ステップＳ５１０）。配信実績のフラグが“１”のレコードが予め定められた割合を超えていると判断されると（ステップＳ５１０；ＹＥＳ）、処理はステップＳ５１１に移行する。「配信実績」フィールドが“１”のレコードが予め定められた割合を超えていないと判断されると（ステップＳ５１０；ＮＯ）、次のループ３の処理が実行される。
【００８９】
ステップＳ５１１においては、ステップＳ５０２でＲＡＭ１３に読み出されたレコードのうち、次に更新対象となるグループに該当するグループコードをもつレコードのプログラム管理コードが、新たに登録されたプログラムデータのプログラム管理コードに変更され、更に、配信実績フィールドが“０”に初期化され、変更された内容によりプログラム配信情報記憶部１５２の情報が更新される。また、ＲＡＭ１３に記憶されている更新日時がステップＳ５１０における更新時に計時部１７により出力された日時情報により更新され（ステップＳ５１２）、次のループ３の処理が実行される。
【００９０】
全てのグループについての更新が終了すると（ステップＳ５１３）、本処理は終了する。
【００９１】
以上説明したように、実施形態２においては、データ管理装置１０において新たなバージョンのプログラムデータがプログラムデータ記憶部１５３に登録されたときの該当するプログラム配信情報の更新対象を所定のグループコード範囲のグループに制限し、更新後所定期間が経過した後、又は、更新したグループのプログラム配信実績が所定の割合を超えたときに次のグループのプログラム配信情報の更新を行う。このように、プログラム配信情報の更新がグループ毎に時間をずらして行われるので、データ管理装置１０へのプログラム配信要求が集中することを防ぎ、ネットワーク負荷やシステム負荷を抑制することができる。
【００９２】
〔実施形態３〕
以下、本発明の実施形態３について説明する。
実施形態１、２においては、ＥＣＲ２０は、開設時と閉設時にデータ管理装置１０に接続し自己が搭載しているプログラムの配信確認要求を行って、必要であれば該当するプログラムのプログラムデータを配信要求してプログラムの更新を行うこととして説明した。このように構成することにより、ＥＣＲ２０の全てのプログラムを常に最新とすることができる。しかしながら、プログラムデータのダウンロード及びインストールには時間がかかるため、開設時に電源を立ち上げてもなかなか稼動できないことがある。そこで、実施形態３においては、開設時に即時に更新が必要なプログラムのみ配信を行い、それ以外は閉設時にプログラムの配信を行う。
【００９３】
図１５に、実施形態３におけるプログラム配信情報記憶部１５２のデータ格納例を示す。図１５に示すように、本実施形態におけるプログラム配信情報記憶部１５２は、実施形態１において図４（ｂ）を用いて説明した各フィールドのほか、「配信タイミング」フィールドを有する。「配信タイミング」フィールドは、配信タイミング情報（即時に配信すべきプログラムについては“即時”、即時に配信する必要のないプログラムについては“通常”）を格納する。
【００９４】
実施形態３におけるその他の構成は、実施形態１で説明したのと同様であるので説明を省略する。
【００９５】
次に、実施形態３における動作について説明する。
実施形態３においては、ＥＣＲ２０で実行される閉設処理及び開設処理においてデータ管理装置１０に送信されるプログラム配信確認要求の要求データには、閉設処理であるか又は開設処理であるかを示す情報が含まれることが実施形態１と異なる。
【００９６】
また、データ管理装置１０において実行されるプログラムデータ登録処理と、図９のサービス提供処理のステップＳ３６で実行されるプログラム配信確認処理が実施形態１と異なる。
【００９７】
実施形態３におけるプログラムデータ登録処理では、図６のステップＳ１において、登録するプログラムデータの機種コード、プログラム識別コード及びプログラム確認コードとともに、登録するプログラムデータが即時の配信が必要であるか否かの情報が入力される。即時にする場合は、例えば、重大な障害等により早急にプログラムを更新する必要がある場合等が該当する。そして、図７のステップＳ１０３において、プログラム配信情報のプログラム管理コードが登録されたプログラムデータのプログラム管理コードに変更されるとともに、ステップＳ１で入力された“即時”又は“通常”の情報が配信タイミング情報として「配信タイミング」フィールドに追加され、追加、変更された内容によりプログラム配信情報記憶部１５２が更新される。
【００９８】
また、実施形態３におけるプログラム配信確認処理（実施形態１と区別するためプログラム配信確認処理Ｂとする）では、図１６に示すフローで処理が行われる。
【００９９】
プログラム配信確認処理Ｂにおいては、まず、プログラム配信情報記憶部１５２において、要求データに含まれる端末機器コードを有するレコードが検索処理され、検索されたレコードがＲＡＭ１３に読み出される（ステップＳ６０１）。
【０１００】
次いで、ステップＳ６０２〜Ｓ６０９のループ４の処理が、受信された要求データに含まれるプログラム識別コード数分（プログラムの種類数分）繰り返し実行される。
【０１０１】
まず、受信された要求データからプログラム識別コード及び当該プログラム識別コードに対応するプログラム管理コードが取り出される（ステップＳ６０３）。次いで、取り出されたプログラム識別コードを有するプログラム配信情報のレコードがＲＡＭ１３に存在するか否かが判断され、存在しないと判断されると（ステップＳ６０４；ＮＯ）、当該プログラム識別コードに対応する種類のプログラムの配信は必要ないと判定され、当該プログラム識別コードのプログラム配信が不要であることを示す配信確認情報が応答データに設定され（ステップＳ６０８）、要求データに含まれる次のプログラム識別コードについてのループ４の処理に移行する。
【０１０２】
一方、ステップＳ６０３において取り出されたプログラム識別コードを有するプログラム配信情報のレコードがＲＡＭ１３に存在すると判断されると（ステップＳ６０４；ＹＥＳ）、要求データから取り出された当該プログラム識別コードに対応するプログラム管理コードが、ステップＳ６０１でＲＡＭ１３に読み出された当該プログラム識別コードを有するレコードのプログラム管理コードと異なるか否かが判断され、異ならない（同一である）と判断されると（ステップＳ６０５；ＮＯ）、当該プログラム識別コードに対応する種類のプログラムの配信は必要ないと判定され、当該プログラム識別コードのプログラム配信が不要であることを示す配信確認情報が応答データに設定され（ステップＳ６０８）、要求データに含まれる次のプログラム識別コードについてのループ４の処理に移行する。
【０１０３】
要求データから取り出された当該プログラム識別コードに対応するプログラム管理コードがステップＳ６０１でＲＡＭ１３に読み出された当該プログラム識別コードを有するレコードのプログラム管理コードと異なると判断されると（ステップＳ６０５；ＹＥＳ）、要求データ及びステップＳ６０１でＲＡＭ１３に読み出された当該プログラム識別コードを含むレコードの配信タイミング情報に基づき、接続されたＥＣＲ２０が閉設時であるか又は即時配信が必要なプログラムであるかの何れかに該当するか否かが判断される（ステップＳ６０６）。
【０１０４】
接続されたＥＣＲ２０が閉設時であるか又は即時配信が必要なプログラムであるかの何れかに該当すると判断されると（ステップＳ６０６；ＹＥＳ）、プログラムの配信が必要であると判定され、当該プログラム識別コードに対応する種類のプログラムの配信が必要であることを示す配信確認情報が応答データに設定され（ステップＳ６０７）、要求データに含まれる次のプログラム識別コードについてのループ４の処理に移行する。
【０１０５】
接続されたＥＣＲ２０が閉設時であるか又は即時配信が必要なプログラムであるかの何れにも該当しないと判断されると（ステップＳ６０６；ＮＯ）、当該プログラム識別コードに対応する種類のプログラムの配信は必要ないと判定され、当該プログラム識別コードのプログラム配信が不要であることを示す配信確認情報が応答データに設定され（ステップＳ６０８）、要求データに含まれる次のプログラム識別コードについてのループ４の処理に移行する。
【０１０６】
受信した要求データに含まれる全てのプログラム識別コードについてのループ４の処理が終了すると（ステップＳ６０９）、設定された応答データが通信部１６により接続されたＥＣＲ２０に送信され（ステップＳ６１０）、処理は図９のステップＳ３２に移行する。
【０１０７】
以上説明したように、実施形態３のプログラム配信確認処理においては、ＥＣＲ２０が閉設時に配信確認要求を行った場合又は配信確認要求したプログラムの配信タイミングがプログラム配信情報記憶部１５２において即時に設定されている場合に、配信が必要であることを示す配信確認情報が応答データに設定される。従って、開設時には即時に更新が必要なプログラムの更新のみが行われ、それ以外は閉設時に更新が行われることとなるので、ユーザの利便性を損なわずにプログラムの更新を行うことが可能となる。
【０１０８】
〔実施形態４〕
以下、本発明の実施形態４について説明する。
実施形態４においては、ＥＣＲ２０とデータ管理装置１０との間で送受信するデータ（例えば、要求データやプログラムデータ）を暗号化する。
【０１０９】
図１７に、実施形態４におけるデータ管理装置１０のＣＰＵ１１と、記憶部１５に記憶されている各種アプリケーションプログラムとの協働により実現される機能構成例を示す。
図１７に示すように、実施形態４において、ストアサービスポート制御部２００は、暗号制御部２０５を含んで構成されている。暗号制御部２０５においては、ＥＣＲ２０から送信された要求データの復号や、ＥＣＲ２０に送信するプログラムデータの暗号化等を行う。
【０１１０】
また、実施形態４において、各ＥＣＲ２０とデータ管理装置１０は予め各暗号方式に使用する暗号鍵を交換しており、記憶部１５は、各ＥＣＲ２０の端末機器コードと暗号鍵とを対応付けて記憶している。 
【０１１１】
また、ＥＣＲ２０は、入力部２２の操作によりデータ管理装置１０とデータ通信を行う際の暗号強度を設定することができるようになっている。具体的には、ＲＳＡ（Rivest Shamir Adleman）、Ｔ−ＤＥＳ（Triple DES）、ＤＥＳ（Data Encryption Standard）、平文の中からユーザの所望する暗号強度の暗号方式を設定することができるようになっている。ＥＣＲ２０においては、ＲＳＡ、Ｔ−ＤＥＳ、ＤＥＳのそれぞれの暗号方式でデータの暗号化、復号を行う暗号処理プログラムが記憶されており、ＣＰＵ２１と暗号処理プログラムとの協働により、データの暗号化、復号を行うことができるようになっている。
【０１１２】
実施形態４におけるその他の構成は、実施形態１で説明したのと同様であるので説明を省略する。
【０１１３】
次に、実施形態４における動作について説明する。
実施形態４において、ＥＣＲ２０で閉設処理、開設処理を行ってデータ管理装置１０にプログラム配信要求及びプログラム送信要求を行う際には、予め設定された暗号方式の暗号処理プログラムが読み出され、要求データのデータ部が予め設定された暗号方式で暗号化された後、通信部２６を介してデータ管理装置１０に送信される。
【０１１４】
データ管理装置１０においては、図９に示したサービス提供処理において、ＥＣＲ２０からの要求が受信されると、ステップＳ３３において、電文制御部２０１により図１８に示す電文解釈処理が実行される。
【０１１５】
電文解釈処理では、まず、ステップＳ３２で受信された要求データのヘッダ部の暗号化情報が参照され（ステップＳ７０１）、要求データを暗号化している暗号方式が判断される（ステップＳ７０２）。要求データの暗号方式がＲＳＡであると判断されると（ステップＳ７０２；ＲＳＡ）、暗号制御部２０５により要求元のＥＣＲ２０の暗号鍵（公開鍵）を用いて要求データのデータ部がＲＳＡのアルゴリズムにより復号され（ステップＳ７０３）、処理はステップＳ７０６に移行する。
【０１１６】
一方、要求データの暗号方式がＴ−ＤＥＳであると判断されると（ステップＳ７０２；Ｔ−ＤＥＳ）、暗号制御部２０５により要求元のＥＣＲ２０の暗号鍵を用いて電文のデータ部がＴ−ＤＥＳアルゴリズムにより復号され（ステップＳ７０４）、処理はステップＳ７０６に移行する。
【０１１７】
一方、要求データの暗号方式がＤＥＳであると判断されると（ステップＳ７０２；ＤＥＳ）、暗号制御部２０５により要求元のＥＣＲ２０の暗号鍵を用いて要求データのデータ部がＤＥＳアルゴリズムにより復号され（ステップＳ７０５）、処理はステップＳ７０６に移行する。
【０１１８】
要求データが平文であると判断されると（ステップＳ７０２；平文）、処理はステップＳ７０６に移行する。
【０１１９】
ステップＳ７０６においては、復号された又は平文の要求データが電文制御部２０１により解析され、要求された処理の内容が特定され（ステップＳ７０６）、処理は図９のステップＳ３４に移行し、ステップＳ３４以降の処理が実行される。
【０１２０】
本実施形態において、ステップＳ７０６で特定された要求がプログラム配信処理の場合、図６のステップＳ４においては、図１９に示すプログラム配信処理（実施形態１と区別するため、プログラム配信処理Ｂとする）が実行される。
【０１２１】
プログラム配信処理Ｂにおいては、まず、プログラムデータ記憶部１５３において、要求データに含まれる機種コード、プログラム識別コード及びプログラム管理コードと一致する属性情報を有するプログラムデータが検索処理され、該当するプログラムデータが読み出される（ステップＳ８０１）。
【０１２２】
次いで、暗号制御部２０５によりプログラムデータ暗号処理が実行され、読み出されたプログラムデータが暗号化される（ステップＳ８０２）。
【０１２３】
図２０に、図１９のステップＳ８０２で実行されるプログラムデータ暗号処理を示す。 プログラムデータ暗号処理では、ＥＣＲ２０から受信された要求データの暗号方式が判断される。要求データの暗号方式がＲＳＡであると判断されると（ステップＳ９０１；ＲＳＡ）、暗号制御部２０５により図１９のステップＳ８０１において読み出されたプログラムデータが要求元のＥＣＲ２０の暗号鍵を用いてＲＳＡアルゴリズムにより暗号化され（ステップＳ９０２）、処理は図１９のステップＳ８０３に移行する。
【０１２４】
一方、要求データの暗号方式がＴ−ＤＥＳであると判断されると（ステップＳ９０１；Ｔ−ＤＥＳ）、暗号制御部２０５によりステップＳ８０１において読み出されたプログラムデータが要求元のＥＣＲ２０の暗号鍵を用いてＴ−ＤＥＳアルゴリズムにより暗号化され（ステップＳ９０３）、処理は図１９のステップＳ８０３に移行する。
【０１２５】
一方、要求データの暗号方式がＤＥＳであると判断されると（ステップＳ９０１；ＤＥＳ）、暗号制御部２０５によりステップＳ８０１において読み出されたプログラムデータが要求元のＥＣＲ２０の暗号鍵を用いてＤＥＳアルゴリズムにより暗号化され（ステップＳ９０４）、処理は図１９のステップＳ８０３に移行する。
【０１２６】
一方、要求データが平文であると判断されると（ステップＳ９０１；平文）、処理は図１９のステップＳ８０３に移行する。
【０１２７】
図１９のステップＳ８０３においては、平文又は暗号化されたプログラムデータが応答データに設定され、通信部１６により接続されたＥＣＲ２０に送信される（ステップＳ８０３）。そして、処理は図９のステップＳ３２に戻る。
【０１２８】
以上説明したように、実施形態４においては、データ管理装置１０は、プログラムデータを配信先のＥＣＲ２０に応じた暗号強度で暗号化して送信する。従って、各ＥＣＲ２０に要求されるセキュリティのレベルに応じて暗号強度を変えてプログラムデータを暗号化して送信することができ、暗号化処理にかかる負荷と安全性のバランスをとりながら、効率よくプログラムデータの配信を行うことが可能となる。
【０１２９】
なお、実施形態４においては、各ＥＣＲ２０で設定した暗号方式で要求データを暗号化して送信すると、データ管理装置１０側で要求データの暗号方式を特定し、その暗号方式でプログラムデータを暗号化して要求元のＥＣＲ２０に送信することとし、ＥＣＲ２０に応じた暗号化方式でプログラムコードを暗号化することとしたが、これに限定されない。
例えば、ＥＣＲ２０の機種コード毎に予め暗号方式が定められており、データ管理装置１０は、要求元のＥＣＲ２０の機種コードをストアサービスマスタ記憶部１５１を参照して特定し、特定した機種コードに応じた暗号化方式で配信するプログラムデータを暗号化するようにしてもよい。このようにすれば、ＥＣＲ２０の機種毎に要求されるセキュリティのレベルに応じた暗号強度でプログラムデータを暗号化して送信することができ、暗号化処理にかかる負荷と安全性のバランスをとりながら、効率よくプログラムデータの配信を行うことが可能となる。
また、例えば、プログラムの種類毎に予め暗号方式が定められており、データ管理装置１０は、配信要求されたプログラムデータの種類に応じた暗号化方式で配信するプログラムデータを暗号化するようにしてもよい。このようにすれば、各プログラムに要求されるセキュリティのレベルに応じた暗号強度でプログラムデータを暗号化して送信することができ、暗号化処理にかかる負荷と安全性のバランスをとりながら、効率よくプログラムデータの配信を行うことが可能となる。
【０１３０】
なお、上記各実施の形態における記述は、本発明に係るプログラム配信システム１の好適な一例であり、これに限定されるものではない。
例えば、上記実施形態においては、端末機器をＥＣＲ２０とした場合を例にとり説明したが、これに限定されず、例えば、端末機器を店舗において顧客のクレジットカードのカード情報を読み取り、そのカード情報を含む決済データ及び決済承認要求をカード会社の装置に送信する決済端末とし、データ管理装置１０により決済端末にプログラムの配信を行う構成としてもよい。
【０１３１】
また、上記実施形態においては、或る種類のプログラムの最新バージョンのプログラムデータが新たに登録されると、プログラム配信情報記憶部１５２に記憶された当該プログラムを搭載した全てのＥＣＲ２０についてのプログラム管理コードを更新することとしたが、特定の端末機器コードや会社コード、店舗コードをもつＥＣＲ２０のみ個別に更新することとしてもよい。このようにすれば、例えば、障害が発生したＥＣＲ２０に障害発生時の監視用プログラムを配信する等の限定した配信が可能となる。
【０１３２】
また、実施形態４においては、固定の暗号鍵で暗号化及び復号を行うこととしたが、データ管理装置１０において暗号鍵を定期的に更新し、かつ、配信するプログラムの中に更新した暗号鍵を埋め込んで配信するようにしてもよい。これにより、データ管理装置１０とＥＣＲ２０との間での通信の安全性を高めることが可能となる。
【０１３３】
その他、プログラム配信システム１を構成する各装置の細部構成及び細部動作に関しても、発明の趣旨を逸脱することのない範囲で適宜変更可能である。
【符号の説明】
【０１３４】
１  プログラム配信システム
１０  データ管理装置
１１  ＣＰＵ
１２  入力部
１３  ＲＡＭ
１４  表示部
１５  記憶部
１５１  ストアサービスマスタ記憶部
１５２  プログラム配信情報記憶部
１５３  プログラムデータ記憶部
１６  通信部
１７  計時部
１８  バス
２０  ＥＣＲ
２１  ＣＰＵ
２２  入力部
２３  ＲＡＭ
２４  表示部
２５  記憶部
２６  通信部
２７  計時部
２８  ドロア
２９ａ  プリント部
２９ｂ  バス
１００  ストアサービス情報登録部
１０１  ストアサービスマスタ登録部
１０２  プログラムデータ登録部
１０３  プログラム配信情報登録部
２００  ストアサービスポート制御部
２０１  電文制御部
２０２  認証制御部
２０３  プログラム配信確認部
２０４  プログラム配信部
２０５  暗号制御部 
【図１】
2014139825.tif 000003
【図２】
2014139825.tif 000004
【図３】
2014139825.tif 000005
【図４】
2014139825.tif 000006
【図５】
2014139825.tif 000007
【図６】
2014139825.tif 000008
【図７】
2014139825.tif 000009
【図８】
2014139825.tif 000010
【図９】
2014139825.tif 000011
【図１０】
2014139825.tif 000012
【図１１】
2014139825.tif 000013
【図１２】
2014139825.tif 000014
【図１３】
2014139825.tif 000015
【図１４】
2014139825.tif 000016
【図１５】
2014139825.tif 000017
【図１６】
2014139825.tif 000018
【図１７】
2014139825.tif 000019
【図１８】
2014139825.tif 000020
【図１９】
2014139825.tif 000021
【図２０】
2014139825.tif 000022
【手続補正書】
【提出日】平成26年4月21日(2014.4.21)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数の端末機器に対して情報を配信するデータ管理装置であって、
配信すべき情報が存在する場合に、前記複数の端末機器の内でその情報の即時配信が必要な端末機器を判別する判別手段と、
前記判別手段で即時配信が必要な端末機器が存在すれと判別された場合には、当該端末機器を対象にして前記配信すべき情報を先に配信すべく制御する第１制御手段と、
前記判別手段で即時配信が必要でない端末機器に対しては、前記第１制御手段による情報配信の後にあって前記配信すべき情報を配信すべく制御する第２制御手段と、
を具備したことを特徴とするデータ管理装置。
【請求項２】
前記第１制御手段は、即時配信が必要な端末機器に対しては、当該端末機器の電源立ち上げ時に前記情報を直ちに配信すべく制御する、
ことを特徴とする請求項１に記載のデータ管理装置。
【請求項３】
前記第２制御手段は、即時配信が必要でない端末機器に対しては、当該端末機器によるデータ処理の終了時に前記情報を配信すべく制御する、
ことを特徴とする請求項１又は２に記載のデータ管理装置。
【請求項４】
複数の端末機器に対して情報を配信するデータ管理装置のコンピュータを制御するためのプログラムであって、
前記コンピュータを、
配信すべき情報が存在する場合に、前記複数の端末機器の内でその情報の即時配信が必要な端末機器を判別する判別手段、
前記判別手段で即時配信が必要な端末機器が存在すれと判別された場合には、当該端末機器を対象にして前記配信すべき情報を先に配信すべく制御する第１制御手段、
前記判別手段で即時配信が必要でない端末機器に対しては、前記第１制御手段による情報配信の後にあって前記配信すべき情報を配信すべく制御する第２制御手段、
として機能させるようにしたコンピュータ読み取り可能なプログラム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００９
【補正方法】変更
【補正の内容】
【０００９】
本発明の課題は、複数の端末機器に対する情報配信を制限することで、ネットワーク負荷やシステム負荷を抑制することである。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００１０
【補正方法】変更
【補正の内容】
【００１０】
請求項１は、複数の端末機器に対して情報を配信するデータ管理装置であって、配信すべき情報が存在する場合に、前記複数の端末機器の内でその情報の即時配信が必要な端末機器を判別する判別手段と、前記判別手段で即時配信が必要な端末機器が存在すれと判別された場合には、当該端末機器を対象にして前記配信すべき情報を先に配信すべく制御する第１制御手段と、前記判別手段で即時配信が必要でない端末機器に対しては、前記第１制御手段による情報配信の後にあって前記配信すべき情報を配信すべく制御する第２制御手段と、を具備したことを特徴とする。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００１１
【補正方法】変更
【補正の内容】
【００１１】
本発明によれば、複数の端末機器に対する情報配信を制限することで、ネットワーク負荷やシステム負荷を抑制することができる。