(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024090146
(43)【公開日】2024-07-04
(54)【発明の名称】情報処理システム、情報処理装置、第2の情報処理装置及び情報処理プログラム
(51)【国際特許分類】
G06F 16/23 20190101AFI20240627BHJP
G06F 16/178 20190101ALI20240627BHJP
【FI】
G06F16/23
G06F16/178
【審査請求】未請求
【請求項の数】12
【出願形態】OL
(21)【出願番号】P 2022205840
(22)【出願日】2022-12-22
(71)【出願人】
【識別番号】000003562
【氏名又は名称】東芝テック株式会社
(74)【代理人】
【識別番号】110003708
【氏名又は名称】弁理士法人鈴榮特許綜合事務所
(74)【代理人】
【識別番号】100108855
【弁理士】
【氏名又は名称】蔵田 昌俊
(74)【代理人】
【識別番号】100179062
【弁理士】
【氏名又は名称】井上 正
(74)【代理人】
【識別番号】100075672
【弁理士】
【氏名又は名称】峰 隆司
(74)【代理人】
【識別番号】100153051
【弁理士】
【氏名又は名称】河野 直樹
(74)【代理人】
【識別番号】100162570
【弁理士】
【氏名又は名称】金子 早苗
(72)【発明者】
【氏名】小林 亮太郎
【テーマコード(参考)】
5B175
【Fターム(参考)】
5B175CA09
(57)【要約】 (修正有)
【課題】対象の更新データのみを同期する情報処理システム、複数の情報処理装置及びプログラムを提供する。
【解決手段】情報処理システム100において、第1の情報処理装置であるクラウドサーバは、複数の店舗のデータを管理するデータベースの更新に基づいて、データベースから店舗毎の更新データを取得する取得部及び店舗毎の更新データに基づいて、店舗毎のデータ配信ファイルを作成するファイル作成部とファイル作成部により作成されたデータ配信ファイルを記憶装置に記憶させるように出力する出力部を備える。第2の情報処理装置であるエッジサーバは、第2の情報処理装置に関連付けられた店舗のデータ配信ファイルが記憶装置に記憶されている場合、第2の情報処理装置に関連付けられた店舗のデータ配信ファイルを取得する取得部及び第2の情報処理装置に関連付けられた店舗のデータ配信ファイルに基づいてデータベースを更新する記憶制御部を備える。
【選択図】
図1
【特許請求の範囲】
【請求項1】
第1の情報処理装置と第2の情報処理装置と記憶装置とを備える情報処理システムにおいて、
前記第1の情報処理装置は、
複数の店舗のデータを管理するデータベースの更新に基づいて、前記データベースから店舗毎の更新データを取得する取得部と、
店舗毎の前記更新データに基づいて、店舗毎のデータ配信ファイルを作成するファイル作成部と、
前記ファイル作成部により作成されたデータ配信ファイルを前記記憶装置に記憶させるように出力する出力部と、
を備え、
前記第2の情報処理装置は、
前記第2の情報処理装置に関連付けられた店舗のデータ配信ファイルが前記記憶装置に記憶されている場合、前記第2の情報処理装置に関連付けられた店舗のデータ配信ファイルを取得する取得部と、
前記第2の情報処理装置に関連付けられた店舗のデータ配信ファイルに基づいてデータベースを更新する記憶制御部と、
を備える、
情報処理システム。
【請求項2】
前記第2の情報処理装置は、
前記第2の情報処理装置に関連付けられた店舗のデータ配信ファイルの有無に関するリクエストを出力するリクエスト処理部をさらに備える、
請求項1に記載の情報処理システム。
【請求項3】
前記第2の情報処理装置は、
前記データ配信ファイルの更新指示を出力する指示出力部をさらに備える、
請求項2に記載の情報処理システム。
【請求項4】
前記第1の情報処理装置の前記ファイル作成部は、前記第2の情報処理装置に関連付けられたデータ配信ファイルを前記第2の情報処理装置毎に作成する、
請求項1に記載の情報処理システム。
【請求項5】
前記第2の情報処理装置の前記取得部は、前記第2の情報処理装置に関連付けられた全てのデータ配信ファイルを取得する、
請求項4に記載の情報処理システム。
【請求項6】
前記第2の情報処理装置の前記取得部は、前記第2の情報処理装置に関連付けられた最新のデータ配信ファイルを取得する、
請求項4に記載の情報処理システム。
【請求項7】
前記第2の情報処理装置の前記指示出力部は、前記データ配信ファイルを完了ディレクトリに移動する更新指示を出力する、
請求項3に記載の情報処理システム。
【請求項8】
前記第2の情報処理装置の前記指示出力部は、前記データ配信ファイルを削除する更新指示を出力する、
請求項3に記載の情報処理システム。
【請求項9】
複数の店舗のデータを管理するデータベースの更新に基づいて、前記データベースから店舗毎の更新データを取得する取得部と、
店舗毎の前記更新データに基づいて、店舗毎のデータ配信ファイルを作成するファイル作成部と、
前記ファイル作成部により作成されたデータ配信ファイルを記憶装置に記憶させるように出力する出力部と、
を備える情報処理装置。
【請求項10】
複数の店舗のデータを管理するデータベースの更新に基づいて、前記データベースから店舗毎の更新データを取得する取得部と、店舗毎の前記更新データに基づいて、店舗毎のデータ配信ファイルを作成するファイル作成部と、前記ファイル作成部により作成されたデータ配信ファイルを記憶装置に記憶させるように出力する出力部と、を備える第1の情報処理装置と共に情報処理システムを構成する第2の情報処理装置において、
前記第2の情報処理装置に関連付けられた店舗のデータ配信ファイルが前記記憶装置に記憶されている場合、前記第2の情報処理装置に関連付けられた店舗のデータ配信ファイルを取得する取得部と、
前記第2の情報処理装置に関連付けられた店舗のデータ配信ファイルに基づいてデータベースを更新する記憶制御部と、
を備える、
第2の情報処理装置。
【請求項11】
コンピュータに、
複数の店舗のデータを管理するデータベースの更新に基づいて、前記データベースから店舗毎の更新データを取得する取得機能と、
店舗毎の前記更新データに基づいて、店舗毎のデータ配信ファイルを作成するファイル作成機能と、
作成されたデータ配信ファイルを記憶装置に記憶させるように出力する出力機能と、
を実行させるための情報処理プログラム。
【請求項12】
複数の店舗のデータを管理するデータベースの更新に基づいて、前記データベースから店舗毎の更新データを取得する取得部と、店舗毎の前記更新データに基づいて、店舗毎のデータ配信ファイルを作成するファイル作成部と、前記ファイル作成部により作成されたデータ配信ファイルを記憶装置に記憶させるように出力する出力部と、を備える第1の情報処理装置と共に情報処理システムを構成する第2の情報処理装置のコンピュータに、
前記第2の情報処理装置に関連付けられた店舗のデータ配信ファイルが前記記憶装置に記憶されている場合、前記第2の情報処理装置に関連付けられた店舗のデータ配信ファイルを取得する取得機能と、
前記第2の情報処理装置に関連付けられた店舗のデータ配信ファイルに基づいてデータベースを更新する記憶制御機能と、
を実行させるための情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、情報処理システム、情報処理装置、第2の情報処理装置及び情報処理プログラムに関する。
【背景技術】
【0002】
近年、取引処理等の処理機能とデータベースをクラウドに配置し、店舗ではタブレット等の端末からクラウドのレジ機能を呼び出すことでレジ業務を行うクライアント―サーバ型のPOS(Point Of Sales)システムが普及してきている。このようなシステムにおいて、クラウドが通信障害などにより接続不可能となるとレジ業務が行えなくなる場合がある。この場合の対策として、店舗側にもクラウドと同じ処理機能、及びデータベースを有するエッジサーバ等のサーバを配置し、端末は接続先を店舗内サーバに切り替えることで業務継続を図ることが考えられる。
【0003】
しかしながら、店舗内にクラウドと同じ処理が行えるサーバを配置する場合、データベースのデータをクラウドとエッジサーバで同期する必要がある。クラウドのデータベースでは店舗別の商品マスタ等のデータを集約管理しており、各店舗は、店舗別のデータのみ同期する必要がある。また、クラウドに接続する店舗数は数百店舗以上の規模となるため、データの更新を行うたびに数百店舗分の更新要求アクセスがクラウドのデータベースに集中すると負荷が大きくなる。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
そこで、クラウド上のデータベースの更新データを更新対象の店舗に絞って同期して、データベースとネットワークリソースへの負荷を軽減させることができる技術が求められている。
【0006】
本発明の実施形態が解決しようとする課題は、対象の更新データのみを同期することができる技術を提供しようとするものである。
【課題を解決するための手段】
【0007】
一実施形態において、情報処理システムは、第1の情報処理装置と第2の情報処理装置と記憶装置とを備える。第1の情報処理装置は、取得部と、ファイル作成部と、出力部とを備える。取得部は、複数の店舗のデータを管理するデータベースの更新に基づいて、データベースから店舗毎の更新データを取得する。ファイル作成部は、店舗毎の更新データに基づいて、店舗毎のデータ配信ファイルを作成する。出力部は、ファイル作成部により作成されたデータ配信ファイルを記憶装置に記憶させるように出力する。第2の情報処理装置は、取得部と、記憶制御部とを備える。取得部は、第2の情報処理装置に関連付けられた店舗のデータ配信ファイルが記憶装置に記憶されている場合、第2の情報処理装置に関連付けられた店舗のデータ配信ファイルを取得する。記憶制御部は、第2の情報処理装置に関連付けられた店舗のデータ配信ファイルに基づいてデータベースを更新する。
【図面の簡単な説明】
【0008】
【
図1】
図1は、実施形態に係る情報処理システムを例示するブロック図である。
【
図2】
図2は、実施形態に係る商品マスタのデータ構造を例示する図である。
【
図3】
図3は、実施形態に係る情報処理システムによる情報処理の手順を例示するシーケンス図である。
【
図4】
図4は、実施形態に係るクラウドサーバによる情報処理の手順の一例を示すフローチャートである。
【
図5】
図5は、実施形態に係るストレージサーバによる情報処理の手順の一例を示すフローチャートである。
【
図6】
図6は、実施形態に係るエッジサーバによる情報処理の手順の一例を示すフローチャートである。
【発明を実施するための形態】
【0009】
以下、図面を用いて実施形態について説明する。
【0010】
以下、図面を用いて実施形態について説明する。各図面において同一の構成要素に対しては可能な限り同一の符号を付し、重複する説明は省略する。
図1は、実施形態に係る情報処理システム100を例示するブロック図である。
情報処理システム100は、クラウドサーバ1、ストレージサーバ2、エッジサーバ3、及びPOS端末4を含む。クラウドサーバ1、ストレージサーバ2、及びエッジサーバ3は、ネットワークを介して互いに通信自在に接続する。例えば、ネットワークは、インターネット、携帯通信網及びLAN(Local Area Network)等の種々のネットワークのうちの1以上のネットワークで構成される。1以上のネットワークは、無線ネットワークを含んでもよいし、有線ネットワークを含んでもよい。なお、情報処理システム100は、クラウドサーバ1、ストレージサーバ2、及びエッジサーバ3のうちの少なくとも2つの機器を含むシステムを指すこともある。
【0011】
エッジサーバ3、及びPOS端末4は、LAN(Local Area Network)等のネットワーク5に接続されている。POS端末4は、無線ユニットを備えている。POS端末4は、無線ユニットを介して、スキャナ、プリンタ、及びドロワー等の周辺機器と接続する。POS端末4は、例えば、専用の端末でもよいし、タブレット端末、又はスマートフォン、又は、PC(Personal Computer)等でもよい。エッジサーバ3、及びPOS端末4は、一店舗に複数台あってもよい。
【0012】
クラウドサーバ1は、データを収集し、収集したデータを処理する電子機器である。電子機器は、コンピュータを含む。クラウドサーバ1は、ネットワークを介して、ストレージサーバ2、及びエッジサーバ3と通信自在に接続する。エッジサーバ3は、例えば、商業施設等の店舗において店員等により使用され得る。クラウドサーバ1は、ストレージサーバ2、及びエッジサーバ3から種々のデータを受け取り、ストレージサーバ2、及びエッジサーバ3に種々のデータを出力する。クラウドサーバ1の構成例については後述する。クラウドサーバ1は、情報処理装置の一例である。クラウドサーバ1は、第1の情報処理装置の一例である。店員は、ユーザ又は人と読み替えてもよい。
【0013】
ストレージサーバ2は、データを収集し、収集したデータを処理する電子機器である。電子機器は、コンピュータを含む。ストレージサーバ2は、ネットワークを介して、クラウドサーバ1、及びエッジサーバ3と通信自在に接続する。ストレージサーバ2は、ストレージサーバ2、及びエッジサーバ3から種々のデータを受け取り、ストレージサーバ2、及びエッジサーバ3に種々のデータを出力する。ストレージサーバ2の構成例については後述する。ストレージサーバ2は、情報処理装置の一例である。
【0014】
エッジサーバ3は、データを収集し、収集したデータを処理する電子機器である。電子機器は、コンピュータを含む。エッジサーバ3は、ネットワークを介して、クラウドサーバ1、及びストレージサーバ2と通信自在に接続する。エッジサーバ3は、クラウドサーバ1、及びストレージサーバ2から種々のデータを受け取り、クラウドサーバ1、及びストレージサーバ2に種々のデータを出力する。エッジサーバ3の構成例については後述する。エッジサーバ3は、情報処理装置の一例である。エッジサーバ3は、第2の情報処理装置の一例である。エッジサーバ3は、レジ機能のアプリケーションがインストールされており、POS端末4はGUI(Guraphical User Interface)アプリでエッジサーバ3と協働してレジ業務を実行することができる。
【0015】
クラウドサーバ1の構成例について説明する。
クラウドサーバ1は、プロセッサ11、メインメモリ12、補助記憶デバイス13及び通信インタフェース14を含む電子機器である。クラウドサーバ1を構成する各部は、互いに信号を入出力可能に接続されている。
図1では、インタフェースは、「I/F」と記載されている。
【0016】
プロセッサ11は、クラウドサーバ1の中枢部分に相当する。プロセッサ11は、クラウドサーバ1のコンピュータを構成する要素である。例えば、プロセッサ11は、CPU(Central Processing Unit)であるが、これに限定されない。プロセッサ11は、種々の回路で構成されていてもよい。プロセッサ11は、メインメモリ12又は補助記憶デバイス13に予め記憶されているプログラムをメインメモリ12に展開する。プログラムは、クラウドサーバ1のプロセッサ11に後述する各部を実現又は実行させるプログラムである。プロセッサ11は、メインメモリ12に展開されるプログラムを実行することで、種々の動作を実行する。
【0017】
メインメモリ12は、クラウドサーバ1の主記憶部分に相当する。メインメモリ12は、クラウドサーバ1のコンピュータを構成する要素である。メインメモリ12は、不揮発性のメモリ領域と揮発性のメモリ領域とを含む。メインメモリ12は、不揮発性のメモリ領域ではオペレーティングシステム又はプログラムを記憶する。メインメモリ12は、揮発性のメモリ領域を、プロセッサ11によってデータが適宜書き換えられるワークエリアとして使用する。例えば、メインメモリ12は、不揮発性のメモリ領域としてROM(Read Only Memory)を含む。例えば、メインメモリ12は、揮発性のメモリ領域としてRAM(Random Access Memory)を含む。メインメモリ12は、プログラムを記憶する。
【0018】
補助記憶デバイス13は、クラウドサーバ1の補助記憶部分に相当する。補助記憶デバイス13は、クラウドサーバ1のコンピュータを構成する要素である。補助記憶デバイス13は、EEPROM(登録商標)(Electric Erasable Programmable Read-Only Memory)、HDD(Hard Disc Drive)又はSSD(Solid State Drive)等である。補助記憶デバイス13は、上述のプログラム、プロセッサ11が各種の処理を行う上で使用するデータ及びプロセッサ11での処理によって生成されるデータを記憶する。補助記憶デバイス13は、上述のプログラムを記憶する。補助記憶デバイス13は、記憶部の一例である。
【0019】
補助記憶デバイス13は、商品マスタ記憶領域を含む。商品マスタ記憶領域は、複数の店舗の商品マスタを記憶する。商品マスタ記憶領域は、複数の店舗の商品マスタを管理する。商品マスタは、商品レコードの集合体である。商品レコードは、企業コード、店コード、端末コード、及び商品情報等を含む。企業コードは、企業を分類するために企業の種類毎に割り当てられた固有の識別情報である。企業の種類は、例えば、飲食店、衣料店、スーパーマーケット等を含む。店コードは、店舗を個々に識別するために店舗毎に割り当てられた固有の識別情報である。端末コードは、エッジサーバ3を個々に識別するためにエッジサーバ3毎に割り当てられた固有の識別情報である。商品情報は、各店舗で販売される商品毎に作成される当該商品に関する種々のデータを含む。商品情報は、商品識別情報、商品の金額等を含む。商品識別情報は、商品を個々に識別するために商品毎に割り当てられた固有の識別情報である。商品マスタは、各店舗の商品情報等が更新される毎に更新され得る。商品マスタは、商品情報等が更新された日時を示すタイムスタンプを含んでもよい。商品マスタは、データベースの一例である。
【0020】
補助記憶デバイス13は、プロモーション情報記憶領域を含む。プロモーション情報記憶領域は、複数の店舗のプロモーション情報を記憶する。プロモーション情報は、商品の特売情報等を含む。プロモーション情報は、商品の特売情報等が更新される毎に更新され得る。プロモーション情報は、特売情報等が更新された日時を示すタイムスタンプを含んでもよい。複数の店舗のプロモーション情報は、複数の店舗のデータの一例である。
【0021】
補助記憶デバイス13は、周辺機器情報記憶領域を含む。周辺機器情報記憶領域は、周辺機器情報を記憶する。周辺機器情報は、複数の店舗の各POS端末4に接続された周辺機器の情報である。周辺機器は、例えば、スキャナ、プリンタ、ドロワー等を含む。周辺機器の情報は、接続設定に関連する情報を含む。周辺機器は、情報処理端末とネットワークを介して接続され得る。ネットワークは、例えば、LAN(Local Area Network)、Bluetooth(登録商標)、Wi-Fi(登録商標)等を含む。周辺機器情報は、周辺機器情報が更新される毎に更新され得る。周辺機器情報は、周辺機器情報が更新された日時を示すタイムスタンプを含んでもよい。複数の店舗の周辺機器情報は、複数の店舗のデータの一例である。
【0022】
通信インタフェース14は、所定の通信プロトコルに従い、ネットワークを介して、クラウドサーバ1を他の電子機器と通信可能に接続する種々のインタフェースを含む。
【0023】
なお、クラウドサーバ1のハードウェア構成は、上述の構成に限定されるものではない。クラウドサーバ1は、適宜、上述の構成要素の省略及び変更並びに新たな構成要素の追加を可能とする。
【0024】
上述のプロセッサ11に実現される各部について説明する。
プロセッサ11は、更新判定部110、取得部111、ファイル作成部112、及び出力部113を実現する。プロセッサ11に実現される各部は、各機能ということもできる。プロセッサ11に実現される各部は、プロセッサ11及びメインメモリ12を含む制御部に実現されるということもできる。
【0025】
更新判定部110は、商品マスタ記憶領域に記憶される商品マスタの更新の有無を判定する。更新判定部110は、補助記憶デバイス13において商品マスタの更新処理が行われた際に発行される更新を通知する更新イベントを取得してもよい。更新判定部110は、更新イベントに基づいて、商品マスタの更新の有無を判定してもよい。
【0026】
取得部111は、商品マスタの更新がされた場合、商品マスタの更新に基づいて、商品マスタ記憶領域から更新データを取得する。更新データは、更新された商品レコードを含む。更新データは、更新された商品レコードを含む店舗毎の商品マスタであってもよい。取得部111は、店舗毎の更新データを取得する。取得部111は、商品マスタが更新される毎に、更新データを取得してもよい。取得部111は、更新イベントに応答して更新データを取得してもよい。取得部111は、所定の時間間隔で更新データを取得してもよい。更新データは、前回の更新データの取得時から今回の更新データの取得時までの間に更新されたデータを含む。取得部111は、前回の更新データの取得時から今回の更新データの取得時までの間に更新されたデータをすべて取得してもよいし、各レコードについて最新のデータのみを取得してもよい。更新データは、データが更新された日時を示すタイムスタンプを含んでもよい。
【0027】
ファイル作成部112は、取得した更新データに基づいて、店舗毎のデータ配信ファイルを作成する。ファイル作成部112は、更新データに含まれる識別情報から、企業、店舗、及びエッジサーバ3の少なくとも1つを識別する。識別情報は、企業コード、店コード、及び端末コードを含む。ファイル作成部112は、識別情報に基づいて、各店舗向けのデータ配信ファイルを作成する。データ配信ファイルは、各店舗に配信される各店舗に関連付けられた更新データを含む。データ配信ファイルは、各企業、各店舗、又は各エッジサーバに関連付けられた更新データを含んでもよい。例えば、企業「A」の店舗「111」に配置されたエッジサーバ「aaa」に関連付けられたデータ配信ファイルは、企業「A」、店舗「111」、及びエッジサーバ「aaa」に関連付けられた更新データを含む。ファイル作成部112は、識別情報に基づいて、店舗毎のデータ配信ファイルを作成してもよい。ファイル作成部112は、店舗毎のデータ配信ファイルをエッジサーバ3に関連付けられたデータ配信ファイルとして作成してもよい。ファイル作成部112は、エッジサーバ3毎のデータ配信ファイルを作成してもよい。ファイル作成部112は、エッジサーバ3毎のデータ配信ファイルをエッジサーバ3に関連付けられたデータ配信ファイルとして作成してもよい。
【0028】
一例では、ファイル作成部112は、商品マスタが更新される毎にデータ配信ファイルを作成する。この場合、ファイル作成部112は、各エッジサーバ3に関連付けられたデータ配信ファイルを複数作成してもよい。複数のデータ配信ファイルは、例えば、更新データのタイムスタンプ等により管理される。別の例では、ファイル作成部112は、商品マスタが更新される毎にデータ配信ファイルを更新する。この場合、ファイル作成部112は、各エッジサーバ3に関連付けられたデータ配信ファイルを随時上書きしてもよい。ファイル作成部112は、最新の商品レコードを含むデータ配信ファイルを作成する。
【0029】
各店舗において、エッジサーバ3は、データ配信ファイルに基づいて、補助記憶デバイス33に記憶されるデータを更新する。データ配信ファイルは、エッジサーバ3において同期が完了したか否かを示す情報を含んでもよい。「同期」は、データ配信ファイルに基づいて、エッジサーバ3の補助記憶デバイスに記憶される商品マスタを更新することを含む。以下の説明では、「同期」は、更新、追加、削除、変更を含む。データ配信ファイルは、企業コード、店コード、及び端末コード等の識別情報を含む。データ配信ファイルは、データ配信ファイルを個々に識別可能な識別情報を含んでもよい。
【0030】
出力部113は、通信インタフェース14を介して、ファイル作成部112により作成されたデータ配信ファイルを補助記憶デバイス23に記憶させるようにストレージサーバ2に出力する。ストレージサーバ2は、データ配信ファイルを補助記憶デバイス23に記憶する。ストレージサーバ2は、店舗毎に振り分けられた領域にデータ配信ファイルを記憶する。ストレージサーバ2は、エッジサーバ3毎に振り分けられた領域にデータ配信ファイルを記憶してもよい。
【0031】
ストレージサーバ2の構成例について説明する。
ストレージサーバ2は、プロセッサ21、メインメモリ22、補助記憶デバイス23、及び通信インタフェース24を含む電子機器である。ストレージサーバ2を構成する各部は、互いに信号を入出力可能に接続されている。ストレージサーバ2は、記憶装置の一例である。補助記憶デバイス23は、記憶部の一例である。
【0032】
プロセッサ21は、ストレージサーバ2の中枢部分に相当する。プロセッサ21は、ストレージサーバ2のコンピュータを構成する要素である。プロセッサ21は、上述のプロセッサ11と同様のハードウェア構成である。プロセッサ21は、メインメモリ22又は補助記憶デバイス23に予め記憶されているプログラムを実行することで、種々の動作を実行する。
【0033】
メインメモリ22は、ストレージサーバ2の主記憶部分に相当する。メインメモリ22は、ストレージサーバ2のコンピュータを構成する要素である。メインメモリ22は、上述のメインメモリ12と同様のハードウェア構成である。メインメモリ22は、プログラムを記憶する。
【0034】
補助記憶デバイス23は、ストレージサーバ2の補助記憶部分に相当する。補助記憶デバイス23は、ストレージサーバ2のコンピュータを構成する要素である。補助記憶デバイス23は、上述の補助記憶デバイス13と同様のハードウェア構成である。補助記憶デバイス23は、上述のプログラムを記憶する。
【0035】
補助記憶デバイス23は、企業毎に振り分けられた領域を含む。企業毎に振り分けられた領域は、各企業に含まれる少なくとも1つの店舗毎に振り分けられた領域を含む。各店舗に含まれる少なくとも1つのエッジサーバ3毎に振り分けられた領域を含む。エッジサーバ3毎に振り分けられた領域は、例えば、配信ファイルディレクトリ、及び同期完了ディレクトリを含んでもよい。配信ファイルディレクトリは、対応するエッジサーバ3に配信される更新データを含む。同期完了ディレクトリは、対応するエッジサーバ3において同期が完了した更新データを含む。同期完了ディレクトリは、単に完了ディレクトリともいう。補助記憶デバイス23は、例えば、データ配信ファイルに含まれる識別情報に基づいて、データ配信ファイルを記憶する。補助記憶デバイス23は、記憶装置の一例である。
【0036】
通信インタフェース24は、所定の通信プロトコルに従い、ネットワークを介して、ストレージサーバ2を他の機器と通信可能に接続する種々のインタフェースを含む。ストレージサーバ2は、通信インタフェース24を介して、周辺機器と接続可能である。
【0037】
表示デバイス25は、プロセッサ21の制御により種々の画像を表示可能なデバイスである。例えば、表示デバイス25は、液晶ディスプレイ又はEL(Electroluminescence)ディスプレイ等である。
【0038】
なお、ストレージサーバ2のハードウェア構成は、上述の構成に限定されるものではない。ストレージサーバ2は、適宜、上述の構成要素の省略及び変更並びに新たな構成要素の追加を可能とする。
【0039】
上述のプロセッサ21に実現される各部について説明する。
プロセッサ21は、ファイル取得部210、記憶制御部211、指示取得部212、及び出力部213を実現する。プロセッサ21に実現される各部は、各機能ということもできる。プロセッサ21に実現される各部は、プロセッサ21及びメインメモリ22を含む制御部に実現されるということもできる。
【0040】
ファイル取得部210は、通信インタフェース24を介して、クラウドサーバ1からデータ配信ファイルを取得する。
【0041】
記憶制御部211は、データ配信ファイルを補助記憶デバイス23に記憶させる。記憶制御部211は、データ配信ファイルに含まれる識別情報に基づいて、データ配信ファイルを企業毎、店舗毎、及びエッジサーバ毎に振り分けられた領域に記憶させる。記憶制御部211は、エッジサーバ3からの更新指示に基づいて、データ配信ファイルを更新させる。更新指示は、データ配信ファイルを配信ファイルディレクトから同期完了ディレクトリに移動させる移動指示を含む。更新指示は、データ配信ファイルを削除させる削除指示を含む。記憶制御部211は、移動指示に基づいて、データ配信ファイルを配信ファイルディレクトから同期完了ディレクトリに移動させる。記憶制御部211は、エッジサーバ3からの削除指示に基づいて、データ配信ファイルを配信ファイルディレクトから削除してもよい。記憶制御部211は、エッジサーバ3からの削除指示に基づいて、データ配信ファイルを補助記憶デバイス23から削除してもよい。
【0042】
指示取得部212は、通信インタフェース24を介して、エッジサーバ3からリクエストを取得する。リクエストは、例えば、エッジサーバ3から定期的に出力されてもよい。リクエストは、補助記憶デバイス23の特定の領域におけるデータ配信ファイルの有無に関するリクエストを示す。リクエストは、エッジサーバ3に対応する企業コード、店舗コード、エッジサーバ3の端末コードの少なくとも1つを含む。特定の領域は、例えば、エッジサーバ3に割り当てられた領域を含む。特定の領域は、エッジサーバ3に関連付けられた店舗に割り当てられた領域を含む。指示取得部212は、リクエストに含まれる企業コード、店舗コード、エッジサーバ3の端末コードの少なくとも1つに基づいて、特定の領域を判定する。指示取得部212は、リクエストに応答して、特定の領域にデータ配信ファイルがあるかを判定する。
【0043】
指示取得部212は、通信インタフェース24を介して、エッジサーバ3から指示を取得する。指示は、データ配信ファイルをエッジサーバ3に出力するための出力指示を含む。指示は、データ配信ファイルを更新するための更新指示を含む。更新指示は、データ配信ファイルを配信ファイルディレクトから同期完了ディレクトリに移動させる移動指示を含む。更新指示は、データ配信ファイルを削除させる削除指示を含む。
【0044】
出力部213は、通信インタフェース24を介して、エッジサーバ3からのリクエストに対する応答を出力する。出力部213は、特定の領域におけるデータ配信ファイルの有無に関する応答を出力する。出力部213は、特定の領域にデータ配信ファイルがある場合にのみ応答を出力してもよい。出力部213は、特定の領域にデータ配信ファイルがない場合、空の応答を出力してもよい。
【0045】
出力部213は、通信インタフェース24を介して、エッジサーバ3にデータ配信ファイルを出力する。出力部213は、エッジサーバ3からの出力指示に基づいて、データ配信ファイルを出力してもよい。出力部213は、エッジサーバ3からのリクエストに基づいて、データ配信ファイルを出力してもよい。出力部213は、エッジサーバ3に関連付けられたすべてのデータ配信ファイルを出力してもよい。出力部213は、エッジサーバ3に関連付けられたデータ配信ファイルのうち、最新のデータ配信ファイルを出力してもよい。出力部213は、エッジサーバ3に関連付けられた店舗に関連付けられたすべてのデータ配信ファイルを出力してもよい。出力部213は、エッジサーバ3に関連付けられた店舗に関連付けられたデータ配信ファイルのうち、最新のデータ配信ファイルを出力してもよい。
【0046】
エッジサーバ3の構成例について説明する。
エッジサーバ3は、プロセッサ31、メインメモリ32、補助記憶デバイス33、及び通信インタフェース34を含む電子機器である。エッジサーバ3を構成する各部は、互いに信号を入出力可能に接続されている。
【0047】
プロセッサ31は、エッジサーバ3の中枢部分に相当する。プロセッサ31は、エッジサーバ3のコンピュータを構成する要素である。プロセッサ31は、上述のプロセッサ11と同様のハードウェア構成である。プロセッサ31は、メインメモリ32又は補助記憶デバイス33に予め記憶されているプログラムを実行することで、種々の動作を実行する。
【0048】
メインメモリ32は、エッジサーバ3の主記憶部分に相当する。メインメモリ32は、エッジサーバ3のコンピュータを構成する要素である。メインメモリ32は、上述のメインメモリ12と同様のハードウェア構成である。メインメモリ32は、プログラムを記憶する。
【0049】
補助記憶デバイス33は、エッジサーバ3の補助記憶部分に相当する。補助記憶デバイス33は、エッジサーバ3のコンピュータを構成する要素である。補助記憶デバイス33は、上述の補助記憶デバイス13と同様のハードウェア構成である。補助記憶デバイス33は、上述のプログラムを記憶する。
【0050】
補助記憶デバイス33は、商品マスタ記憶領域を含む。商品マスタ記憶領域は、エッジサーバ3に関連付けられた店舗の商品マスタを記憶する。商品マスタは、データベースの一例である。
【0051】
補助記憶デバイス33は、プロモーション情報記憶領域を含む。プロモーション情報記憶領域は、エッジサーバ3に関連付けられた店舗のプロモーション情報を記憶する。
【0052】
補助記憶デバイス13は、周辺機器情報記憶領域を含む。周辺機器情報記憶領域は、周辺機器情報を記憶する。周辺機器情報は、エッジサーバ3に関連付けられた店舗の各POS端末4に接続された周辺機器の情報である。
【0053】
通信インタフェース34は、所定の通信プロトコルに従い、ネットワークを介して、エッジサーバ3を他の機器と通信可能に接続する種々のインタフェースを含む。エッジサーバ3は、通信インタフェース34を介して、周辺機器と接続可能である。
【0054】
なお、エッジサーバ3のハードウェア構成は、上述の構成に限定されるものではない。エッジサーバ3は、適宜、上述の構成要素の省略及び変更並びに新たな構成要素の追加を可能とする。
【0055】
上述のプロセッサ31に実現される各部について説明する。
プロセッサ31は、リクエスト処理部310、判定部311、取得部312、記憶制御部313、及び指示出力部314を実現する。プロセッサ31に実現される各部は、各機能ということもできる。プロセッサ31に実現される各部は、プロセッサ31及びメインメモリ32を含む制御部に実現されるということもできる。
【0056】
リクエスト処理部310は、通信インタフェース34を介して、データ配信ファイルの有無に関するリクエストをストレージサーバ2に出力する。リクエストは、エッジサーバ3に関連付けられた店舗のデータ配信ファイルの有無に関するリクエストを含む。リクエストは、エッジサーバ3に関連付けられたデータ配信ファイルの有無に関するリクエストを含む。リクエスト処理部310は、所定の間隔でリクエストを出力してもよい。所定の間隔は、例えば、5分毎等の時間間隔を含む。リクエスト処理部310は、通信インタフェース34を介して、ストレージサーバ2からリクエストに対する応答を取得する。リクエストに対する応答は、データ配信ファイルがあることを示す「あり」応答を含む。リクエストに対する応答は、データ配信ファイルがないことを示す「なし」応答を含む。
【0057】
判定部311は、リクエストに対するストレージサーバ2からの応答に基づいて、特定の領域におけるデータ配信ファイルの有無を判定する。
【0058】
取得部312は、エッジサーバ3に関連付けられた店舗のデータ配信ファイルがストレージサーバ2に記憶されている場合、エッジサーバ3に関連付けられた店舗のデータ配信ファイルを取得する。取得部312は、通信インタフェース34を介して、ストレージサーバ2からデータ配信ファイルを取得する。取得部312は、エッジサーバ3に関連付けられた店舗の全てのデータ配信ファイルを取得してもよい。取得部312は、エッジサーバ3に関連付けられた全てのデータ配信ファイルを取得してもよい。取得部312は、エッジサーバ3に関連付けられた店舗の最新のデータ配信ファイルを取得してもよい。取得部312は、エッジサーバ3に関連付けられた最新のデータ配信ファイルを取得してもよい。
【0059】
記憶制御部313は、データ配信ファイルに基づいて補助記憶デバイス33に記憶された商品マスタを更新する。更新は、商品レコードの削除、追加、上書き、変更等を含む。記憶制御部313は、データ配信ファイルに基づいて、商品マスタをクラウドサーバ1の商品マスタと同期させる。
【0060】
指示出力部314は、通信インタフェース34を介して、データ配信ファイルの出力指示をストレージサーバ2に出力する。指示出力部314は、通信インタフェース34を介して、データ配信ファイルの更新指示をストレージサーバ2に出力する。更新指示は、データ配信ファイルを配信ファイルディレクトリから同期完了ディレクトリに移動する移動指示を含む。更新指示は、データ配信ファイルを配信ファイルディレクトリから削除する削除指示を含む。更新指示は、データ配信ファイルを補助記憶デバイス23から削除する削除指示を含む。
【0061】
クラウドサーバ1の補助記憶デバイス13に記憶される商品マスタの構成例について説明する。
図2は、実施形態に係る商品マスタのデータ構造を例示する図である。
商品マスタは、1以上の商品レコードを含む。商品レコードは、企業コード、店コード、端末コード、及び商品情報等が互いに関連付けられたデータを含む。
【0062】
例えば、企業コード「A」、店コード「111」、端末コード「aaa」のレコードは、Aに分類される企業に含まれる店舗「111」で使用されるエッジサーバ3の識別情報が「aaa」であることを示す。当該レコードは、エッジサーバ3「aaa」に関連付けられた商品情報を含む。商品マスタは、複数の企業、及び複数の店舗に関連付けられた商品マスタのレコードを含む。
【0063】
クラウドサーバ1の更新判定部110は、商品マスタの更新がされた場合、更新されたレコードに関連付けられた識別情報に基づいて、更新有無を判定する。
【0064】
なお、エッジサーバ3の補助記憶デバイス33に記憶される商品マスタは、
図2に示す商品マスタのデータ構造と同様のデータ構造を有する。補助記憶デバイス33に記憶される商品マスタは、エッジサーバ3に対応する企業コード、店コード、端末コード、及び商品情報等を含む。
【0065】
図3は、実施形態に係る情報処理システムによる情報処理の手順を例示するシーケンス図である。
エッジサーバ3のリクエスト処理部310は、データ配信ファイルの有無に関するリクエストをストレージサーバ2に出力する(S21)。
ストレージサーバ2の指示取得部212は、エッジサーバ3からリクエストを取得する(S11)。
ストレージサーバ2の出力部213は、エッジサーバ3からのリクエストに対する応答を出力する(S12)。ここでは、エッジサーバ3に関連付けられた店舗のデータ配信ファイルがストレージサーバ2に記憶されていないものとする。この場合、出力部213は、「なし」応答をエッジサーバ3に出力する。
エッジサーバ3のリクエスト処理部310は、ストレージサーバ2からリクエストに対する「なし」応答を取得する(S22)。
【0066】
クラウドサーバ1の更新判定部110は、商品マスタ記憶領域に記憶される商品マスタの更新の有無を判定する(S1)。ここでは、更新判定部110により商品マスタの更新があったと判定されたことを想定する。
クラウドサーバ1の取得部111は、商品マスタの更新に基づいて、商品マスタ記憶領域から更新データを取得する(S2)。
クラウドサーバ1のファイル作成部112は、取得した更新データに基づいて、店舗毎のデータ配信ファイルを作成する(S3)。
クラウドサーバ1の出力部113は、ファイル作成部112により作成されたデータ配信ファイルを補助記憶デバイス23に記憶させるようにストレージサーバ2に出力する(S4)。
【0067】
ストレージサーバ2のファイル取得部210は、クラウドサーバ1からデータ配信ファイルを取得する(S13)。
ストレージサーバ2の記憶制御部211は、データ配信ファイルを補助記憶デバイス23に記憶させる(S14)。
エッジサーバ3のリクエスト処理部310は、データ配信ファイルの有無に関するリクエストを出力した後から一定時間経過後に、リクエストをストレージサーバ2に出力する(S23)。
ストレージサーバ2の指示取得部212は、エッジサーバ3からリクエストを取得する(S15)。
ストレージサーバ2の出力部213は、エッジサーバ3からのリクエストに対する応答を出力する(S16)。ここでは、エッジサーバ3に関連付けられた店舗のデータ配信ファイルがストレージサーバ2に記憶されていることを想定する。この場合、出力部213は、「あり」応答をエッジサーバ3に出力する。
【0068】
エッジサーバ3のリクエスト処理部310は、ストレージサーバ2からリクエストに対する「あり」応答を取得する(S24)。
エッジサーバ3の指示出力部314は、データ配信ファイルの出力指示をストレージサーバ2に出力する(S25)。
【0069】
ストレージサーバ2の指示取得部212は、エッジサーバ3からデータ配信ファイルの出力指示を取得する(S17)。
ストレージサーバ2の出力部213は、エッジサーバ3に関連付けられた店舗のデータ配信ファイルをエッジサーバ3に出力する(S18)。
【0070】
エッジサーバ3の取得部312は、エッジサーバ3に関連付けられた店舗のデータ配信ファイルを取得する(S26)。
エッジサーバ3の記憶制御部313は、データ配信ファイルに基づいて補助記憶デバイス33に記憶された商品マスタを更新する(S27)。
エッジサーバ3の指示出力部314は、データ配信ファイルの更新指示をストレージサーバ2に出力する(S28)。
【0071】
ストレージサーバ2の指示取得部212は、データ配信ファイルを更新するための更新指示をエッジサーバ3から取得する(S19)。
ストレージサーバ2の記憶制御部211は、エッジサーバ3からの更新指示に基づいて、データ配信ファイルを更新させる(S20)。
【0072】
以下、情報処理システム100による処理の手順について説明する。
【0073】
なお、以下のクラウドサーバ1を主体とする説明では、クラウドサーバ1をプロセッサ11と読み替えてもよい。ストレージサーバ2を主体とする説明では、ストレージサーバ2をプロセッサ21と読み替えてもよい。エッジサーバ3を主体とする説明では、エッジサーバ3をプロセッサ31と読み替えてもよい。
【0074】
なお、以下で説明する処理手順は一例に過ぎず、各処理は可能な限り変更されてよい。また、以下で説明する処理手順について、実施形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
【0075】
以下の説明では、企業コード「A」、店舗コード「111」の店舗において、端末コード「aaa」のエッジサーバ3が、クラウドサーバ1の商品マスタとの同期を行うことを想定する。クラウドサーバ1は、データ配信ファイルをストレージサーバ2に出力する。エッジサーバ3は、ストレージサーバ2からデータ配信ファイルを取得し、補助記憶デバイス33に記憶される商品マスタを更新する。
【0076】
クラウドサーバ1によるデータ配信ファイル作成処理について説明する。
図4は、実施形態に係るクラウドサーバ1による情報処理の手順の一例を示すフローチャートである。
【0077】
更新判定部110は、補助記憶デバイス13に記憶される商品マスタの更新の有無を判定する(ACT1)。ACT1では、例えば、更新判定部110は、補助記憶デバイス13の更新に基づいて出力される更新イベントに基づいて、商品マスタの更新の有無を判定する。更新判定部110により商品マスタの更新があったと判定された場合(ACT1:YES)、処理は、ACT1からACT2へ遷移する。更新判定部110により商品マスタの更新がないと判定された場合(ACT1:NO)、処理は、ACT1を繰り返す。商品マスタの更新は、商品レコードの更新を含む。商品マスタの更新は、クラウドサーバ1により管理される複数の企業、及び複数の店舗の商品マスタのうち少なくとも1つのレコードの更新を含む。なお、更新判定部110は、補助記憶デバイス13を定期的に監視し、商品マスタの更新の有無を判定してもよい。
【0078】
取得部111は、商品マスタの更新に基づいて、商品マスタ記憶領域から更新データを取得する(ACT2)。ACT2では、例えば、取得部111は、更新された商品レコードを取得する。取得部111は、更新された商品レコードを含む店舗の商品マスタを取得してもよい。なお、取得部111は、商品マスタが更新される毎に更新データを取得してもよいし、所定の時間間隔で更新データを取得してもよい。取得部111は、すべての更新データを取得してもよいし、各レコードについて最新のデータのみを取得してもよい。
【0079】
ファイル作成部112は、取得した更新データに基づいて、データ配信ファイルを作成する(ACT3)。ACT3では、例えば、ファイル作成部112は、更新データの識別情報に基づいて、企業毎、店舗毎、又はエッジサーバ毎のデータ配信ファイルを作成する。例えば、端末コード「aaa」のエッジサーバ3に関連付けられた商品マスタが更新されたことを想定する。この場合、ファイル作成部112は、端末コード「aaa」のエッジサーバ3に関連付けられたデータ配信ファイルを作成する。端末コード「aaa」のエッジサーバ3に関連付けられたデータ配信ファイルは、店舗コード「111」の店舗のデータ配信ファイルに含まれる。ファイル作成部112は、各店舗に関連付けられたデータ配信ファイルを作成してもよい。
【0080】
出力部113は、データ配信ファイルを補助記憶デバイス23に記憶させるようにストレージサーバ2に出力する(ACT4)。ACT4では、例えば、出力部113は、データ配信ファイルをストレージサーバ2に出力する。ストレージサーバ2は、データ配信ファイルを識別情報に基づいて補助記憶デバイス23の対応する領域に保存する。
【0081】
ストレージサーバ2によるデータ配信ファイルに関する処理について説明する。
図5は、実施形態に係るストレージサーバ2による情報処理の手順の一例を示すフローチャートである。
【0082】
ファイル取得部210は、クラウドサーバ1から出力されたデータ配信ファイルを取得する(ACT11)。
【0083】
記憶制御部211は、データ配信ファイルを補助記憶デバイス23に記憶させる(ACT12)。ACT12では、例えば、記憶制御部211は、データ配信ファイルの識別情報に基づいて、対応する領域にデータ配信ファイルを保存する。例えば、データ配信ファイルが企業コード「A」、店舗コード「111」、端末コード「aaa」を有する場合、記憶制御部211は、企業コード「A」、店舗コード「111」、端末コード「aaa」のエッジサーバ3に割り当てられた領域にデータ配信ファイルを保存する。記憶制御部211は、データ配信ファイルを各企業、各店舗、又は各エッジサーバに関連付けて補助記憶デバイス23に記憶させる。
【0084】
指示取得部212は、エッジサーバ3からデータ配信ファイルの有無に関するリクエストを取得したか否かを判定する(ACT13)。指示取得部212により、リクエストを取得したと判定された場合(ACT13:YES)、処理は、ACT13からACT14へ遷移する。指示取得部212により、リクエストを取得していないと判定された場合(ACT13:NO)、処理は、ACT13を繰り返す。
【0085】
指示取得部212は、エッジサーバ3に関連付けられた店舗のデータ配信ファイルの有無を判定する(ACT14)。ACT14では、例えば、指示取得部212は、リクエストに含まれる企業コード、店舗コード、エッジサーバ3の端末コードの少なくとも1つに基づいて、エッジサーバ3に関連付けられた特定の領域におけるデータ配信ファイルの有無を判定する。エッジサーバ3に関連付けられた特定の領域は、エッジサーバ3に割り当てられた領域であってもよいし、エッジサーバ3に関連付けられた店舗に割り当てられた領域であってもよい。
【0086】
出力部213は、エッジサーバ3からのリクエストに対する応答を出力する(ACT15)。ACT15では、例えば、出力部213は、エッジサーバ3に関連付けられた店舗のデータ配信ファイルの有無に関する応答を出力する。ACT14において指示取得部212によりデータ配信ファイルがあると判定された場合、出力部213は、データ配信ファイルがあることを示す「あり」応答を出力する。ACT14において指示取得部212によりデータ配信ファイルがないと判定された場合、出力部213は、データ配信ファイルがないことを示す「なし」応答を出力する。
【0087】
指示取得部212は、エッジサーバ3から出力指示を取得したか否かを判定する(ACT16)。エッジサーバ3は、出力部213により出力されたリクエストに対する応答に基づいて、エッジサーバ3に関連付けられた店舗に割り当てられた特定の領域にデータ配信ファイルがある場合、出力指示を出力する。指示取得部212により出力指示が取得された場合(ACT16:YES)、処理は、ACT16からACT17へ遷移する。指示取得部212により出力指示が取得されていない場合(ACT16:NO)、処理は、ACT16を繰り返す。なお、指示取得部212は、エッジサーバ3からのデータ配信ファイルの有無に関するリクエストに出力指示が含まれている場合、リクエストに基づいて出力指示があったことを判定してもよい。この場合、ACT16は省略可能である。
【0088】
出力部213は、エッジサーバ3にデータ配信ファイルを出力する(ACT17)。ACT17では、例えば、出力部213は、エッジサーバ3に関連付けられたデータ配信ファイルをエッジサーバ3に出力する。出力部213は、エッジサーバ3に関連付けられたすべてのデータ配信ファイルをエッジサーバ3に出力してもよいし、エッジサーバ3に関連付けられた最新のデータ配信ファイルのみをエッジサーバ3に出力してもよい。
【0089】
指示取得部212は、エッジサーバ3から更新指示を取得したか否かを判定する(ACT18)。指示取得部212により更新指示が取得された場合(ACT18:YES)、処理は、ACT18からACT19へ遷移する。指示取得部212により更新指示が取得していない場合(ACT18:NO)、処理は、ACT18を繰り返す。
【0090】
記憶制御部211は、エッジサーバ3からの更新指示に基づいて、データ配信ファイルを更新させる(ACT19)。ACT19では、例えば、記憶制御部211は、エッジサーバ3から移動指示を取得した場合、エッジサーバ3に関連付けられたデータ配信ファイルを配信ファイルディレクトから同期完了ディレクトリに移動させる。記憶制御部211は、エッジサーバ3から削除指示を取得した場合、エッジサーバ3に関連付けられたデータ配信ファイルを削除させる。記憶制御部211は、エッジサーバ3に関連付けられたデータ配信ファイルを配信ファイルディレクトから削除させてもよいし、補助記憶デバイス23から削除させてもよい。エッジサーバ3に関連付けられたデータ配信ファイルは、エッジサーバ3に出力されたデータ配信ファイルに対応する。これにより、ストレージサーバ2は、エッジサーバ3に出力すべきデータ配信ファイルの有無を判定することができる。
【0091】
エッジサーバ3における商品マスタの同期に関する処理について説明する。
【0092】
図6は、実施形態に係るエッジサーバ3による情報処理の手順の一例を示すフローチャートである。
【0093】
リクエスト処理部310は、データ配信ファイルの有無に関するリクエストをストレージサーバ2に出力する(ACT21)。ACT21では、例えば、リクエスト処理部310は、所定の間隔でエッジサーバ3に関連付けられたデータ配信ファイルの有無に関するリクエストを出力する。
【0094】
判定部311は、エッジサーバ3に関連付けられたデータ配信ファイルの有無を判定する(ACT22)。ACT22では、例えば、判定部311は、リクエスト処理部310により出力されたリクエストに対するストレージサーバ2からの応答を取得する。判定部311は、ストレージサーバ2からの応答に基づいて、エッジサーバ3に関連付けられたデータ配信ファイルの有無を判定する。判定部311によりエッジサーバ3に関連付けられたデータ配信ファイルがあると判定された場合(ACT22:YES)、処理は、ACT22からACT23へ遷移する。判定部311によりエッジサーバ3に関連付けられたデータ配信ファイルがないと判定された(ACT22:NO)、処理は、ACT22を繰り返す。
【0095】
取得部312は、エッジサーバ3に関連付けられたデータ配信ファイルをストレージサーバ2から取得する(ACT23)。ACT23では、例えば、取得部312は、端末コード「aaa」のエッジサーバ3に割り当てられた領域のデータ配信ファイルをストレージサーバ2から取得する。一例では、取得部312は、エッジサーバ3に関連付けられたすべてのデータ配信ファイルを取得する。別の例では、取得部312は、エッジサーバ3に関連付けられた最新のデータ配信ファイルを取得する。
【0096】
記憶制御部313は、取得したデータ配信ファイルに基づいて補助記憶デバイス33に記憶された商品マスタを更新する(ACT24)。ACT24では、例えば、記憶制御部313は、データ配信ファイルを補助記憶デバイス33に記憶させる。取得部312により、複数のデータ配信ファイルが取得された場合、記憶制御部313は、データ配信ファイルに含まれるタイムスタンプ等に基づいて、最新のデータ配信ファイルを補助記憶デバイス33に記憶させる。取得部312により、最新のデータ配信ファイルが取得された場合、記憶制御部313は、取得した最新のデータ配信ファイルを補助記憶デバイス33に記憶させる。データ配信ファイルを補助記憶デバイス33に記憶させることは、データ配信ファイルに基づいて、補助記憶デバイス33に記憶された商品マスタを、削除、追加、上書き、変更することを含む。
【0097】
指示出力部314は、データ配信ファイルの更新指示をストレージサーバ2に出力する(ACT25)。ACT25では、例えば、指示出力部314は、データ配信ファイルの移動指示をストレージサーバ2に出力する。この場合、ストレージサーバ2は、データ配信ファイルを配信ファイルディレクトリから同期完了ディレクトリに移動する。指示出力部314は、データ配信ファイルの削除指示をストレージサーバ2に出力してもよい。この場合、ストレージサーバ2は、データ配信ファイルを配信ファイルディレクトリから削除してもよい。ストレージサーバ2は、データ配信ファイルを補助記憶デバイス23から削除してもよい。
【0098】
上述の例では、商品マスタの更新を例として説明したが、これに限られない。上述の実施形態は、商品マスタの他、プロモーション情報、又は周辺機器情報等のデータベースの更新にも適用可能である。
【0099】
(効果)
実施形態に係る情報処理システムは、クラウドサーバ1とエッジサーバ3を備え、クラウドサーバ1は、複数の店舗のデータを管理するデータベースの更新に基づいて、データベースから店舗毎の更新データを取得し、店舗毎の更新データに基づいて、店舗毎のデータ配信ファイルを作成し、ファイル作成部により作成されたデータ配信ファイルを記憶装置に記憶させるように出力することができる。エッジサーバ3は、エッジサーバ3に関連付けられた店舗のデータ配信ファイルが記憶装置に記憶されている場合、エッジサーバ3に関連付けられた店舗のデータ配信ファイルを取得し、エッジサーバ3に関連付けられた店舗のデータ配信ファイルに基づいてデータベースを更新することができる。
例えば、クラウドサーバ1は、商品マスタ等のデータベースが更新された場合、更新データに基づいて店舗毎の更新データを含むデータ配信ファイルを作成し、データ配信ファイルを店舗毎に振り分けられたストレージサーバ2等の記憶装置の記憶領域に記憶させるよう出力する。ストレージサーバ2は、データ配信ファイルを店舗毎に振り分けられた記憶領域に記憶する。エッジサーバ3は、エッジサーバ3に関連付けられた店舗のデータ配信ファイルを取得し、取得したデータ配信ファイルに基づいて、商品マスタ等のデータベースを更新する。
そのため、クラウドサーバ1は、店舗毎にデータ配信ファイルを作成し、ストレージサーバ2に記憶させるため、エッジサーバ3は、エッジサーバ3に関連付けられた店舗のデータ配信ファイルのみを取得して商品マスタ等の同期を行うことができる。これにより、情報処理システムは、エッジサーバ3が対象の更新データのみを同期することを実現することができる。エッジサーバ3は、対象データのみを取得することができ、処理負担を軽減することができる。
また、エッジサーバ3は、クラウドサーバ1にアクセスすることなく、更新データを取得することができるため、複数の店舗分のエッジサーバからのアクセスがクラウドサーバ1に集中することがない。これにより、情報処理システムは、クラウドサーバ1のデータベースに負荷をかけることなく、エッジサーバ3によるクラウドサーバ上のデータとの同期を実現することができる。
【0100】
実施形態に係る情報処理システムにおいて、エッジサーバ3は、エッジサーバ3に関連付けられた店舗のデータ配信ファイルの有無に関するリクエストを出力することができる。そのため、エッジサーバ3は、リクエストに対する応答に基づいて、データ配信ファイルを取得することができる。これにより、情報処理システムは、エッジサーバ3による更新データの同期処理の負担を軽減することができる。
【0101】
実施形態に係る情報処理システムにおいて、エッジサーバ3は、データ配信ファイルの更新指示を出力することができる。そのため、ストレージサーバ2は、更新指示に基づいて、データ配信ファイルを更新することができる。例えば、ストレージサーバ2は、データ配信ファイルのディレクトリ間の移動、又は削除をすることができる。これにより、情報処理システムは、エッジサーバ3による二重の同期を防止することができる。
【0102】
実施形態に係る情報処理システムにおいて、クラウドサーバ1は、エッジサーバ3に関連付けられたデータ配信ファイルをエッジサーバ毎に作成することができる。そのため、情報処理システムは、ストレージサーバ2に記憶されるデータ配信ファイルのデータ量を削減することができる。
【0103】
実施形態に係る情報処理システムにおいて、クラウドサーバ1は、データベースが更新される毎にデータ配信ファイルを作成することができる。そのため、情報処理システムは、クラウドサーバ1によるデータ配信ファイルの作成処理を簡略化することができる。
【0104】
実施形態に係る情報処理システムにおいて、クラウドサーバ1は、データベースが更新される毎にデータ配信ファイルを更新することができる。そのため、クラウドサーバ1は、最新の更新データに基づいてデータ配信ファイルを作成することができる。これにより、情報処理システムは、ストレージサーバ2に記憶されるデータ配信ファイルのデータ量を削減することができる。
【0105】
実施形態に係る情報処理システムにおいて、エッジサーバ3は、エッジサーバ3に関連付けられた全てのデータ配信ファイルを取得することができる。そのため、情報処理システムは、エッジサーバ3によるデータ配信ファイルの取得処理を簡略化することができる。
【0106】
実施形態に係る情報処理システムにおいて、エッジサーバ3は、エッジサーバ3に関連付けられた最新のデータ配信ファイルを取得することができる。そのため、情報処理システムは、エッジサーバ3による取得されるデータ配信ファイルのデータ量を削減することができる。また、エッジサーバ3は、最新のデータ配信ファイルに基づいて、更新データの同期をすることができる。そのため、情報処理システムは、エッジサーバ3による同期処理を簡略化することができる。
【0107】
実施形態に係る情報処理システムにおいて、エッジサーバ3は、所定の間隔でリクエストを出力することができる。エッジサーバ3は、リクエストに対する応答に基づいて、データ配信ファイルの有無を判定することができる。そのため、情報処理システムは、更新データの有無を容易に判定することができる。
【0108】
実施形態に係る情報処理システムにおいて、エッジサーバ3は、データ配信ファイルを完了ディレクトリに移動する更新指示を出力することができる。また、エッジサーバ3は、データ配信ファイルを削除する更新指示を出力することができる。そのため、ストレージサーバ2は、更新指示に基づいて、データ配信ファイルのディレクトリ間の移動、又は削除をすることができる。これにより、情報処理システムは、エッジサーバ3による二重の同期を防止することができる。
【0109】
上述の実施形態に係る情報処理システムは、以下のように表されてもよい。
[1] 第1の情報処理装置と第2の情報処理装置と記憶装置とを備える情報処理システムにおいて、
前記第1の情報処理装置は、
複数の店舗のデータを管理するデータベースの更新に基づいて、前記データベースから店舗毎の更新データを取得する取得部と、
店舗毎の前記更新データに基づいて、店舗毎のデータ配信ファイルを作成するファイル作成部と、
前記ファイル作成部により作成されたデータ配信ファイルを前記記憶装置に記憶させるように出力する出力部と、
を備え、
前記第2の情報処理装置は、
前記第2の情報処理装置に関連付けられた店舗のデータ配信ファイルが前記記憶装置に記憶されている場合、前記第2の情報処理装置に関連付けられた店舗のデータ配信ファイルを取得する取得部と、
前記第2の情報処理装置に関連付けられた店舗のデータ配信ファイルに基づいてデータベースを更新する記憶制御部と、
を備える、
情報処理システム。
[2] 前記第2の情報処理装置は、
前記第2の情報処理装置に関連付けられた店舗のデータ配信ファイルの有無に関するリクエストを出力するリクエスト処理部をさらに備える、
[1]に記載の情報処理システム。
[3] 前記第2の情報処理装置は、
前記データ配信ファイルの更新指示を出力する指示出力部をさらに備える、
[1]に記載の情報処理システム。
[4] 前記第1の情報処理装置の前記ファイル作成部は、前記第2の情報処理装置に関連付けられたデータ配信ファイルを前記第2の情報処理装置毎に作成する、
[1]に記載の情報処理システム。
[5] 前記第1の情報処理装置の前記ファイル作成部は、データベースが更新される毎に前記データ配信ファイルを作成する、
[1]に記載の情報処理システム。
[6] 前記第1の情報処理装置の前記ファイル作成部は、データベースが更新される毎に前記データ配信ファイルを更新する、
[1]に記載の情報処理システム。
[7] 前記第2の情報処理装置の前記取得部は、前記第2の情報処理装置に関連付けられた全てのデータ配信ファイルを取得する、
[4]に記載の情報処理システム。
[8] 前記第2の情報処理装置の前記取得部は、前記第2の情報処理装置に関連付けられた最新のデータ配信ファイルを取得する、
[4]に記載の情報処理システム。
[9] 前記第2の情報処理装置の前記リクエスト処理部は、所定の間隔で前記リクエストを出力する、
[2]に記載の情報処理システム。
[10] 前記第2の情報処理装置の前記指示出力部は、前記データ配信ファイルを完了ディレクトリに移動する更新指示を出力する、
[3]に記載の情報処理システム。
[11] 前記第2の情報処理装置の前記指示出力部は、前記データ配信ファイルを削除する更新指示を出力する、
[3]に記載の情報処理システム。
【0110】
上述の実施形態に係る第1の情報処理装置は、以下のように表されてもよい。
[1] 複数の店舗のデータを管理するデータベースの更新に基づいて、前記データベースから店舗毎の更新データを取得する取得部と、
店舗毎の前記更新データに基づいて、店舗毎のデータ配信ファイルを作成するファイル作成部と、
前記ファイル作成部により作成されたデータ配信ファイルを記憶装置に記憶させるように出力する出力部と、
を備える第1の情報処理装置。
[2] 前記ファイル作成部は、第2の情報処理装置に関連付けられたデータ配信ファイルを前記第2の情報処理装置毎に作成する、
[1]に記載の第1の情報処理装置。
[3] 前記ファイル作成部は、データベースが更新される毎に前記データ配信ファイルを作成する、
[1]に記載の第1の情報処理装置。
[4] 前記ファイル作成部は、データベースが更新される毎に前記データ配信ファイルを更新する、
[1]に記載の第1の情報処理装置。
[5] コンピュータに、
複数の店舗のデータを管理するデータベースの更新に基づいて、データベースから店舗毎の更新データを取得する取得機能と、
店舗毎の更新データに基づいて、店舗毎のデータ配信ファイルを作成するファイル作成機能と、
作成されたデータ配信ファイルを記憶装置に記憶させるように出力する出力機能と、
を実行させるための情報処理プログラム。
【0111】
上述の実施形態に係る第2の情報処理装置は、以下のように表されてもよい。
[1] 第2の情報処理装置に関連付けられた店舗のデータ配信ファイルが記憶装置に記憶されている場合、前記第2の情報処理装置に関連付けられた店舗のデータ配信ファイルを取得する取得部と、
前記第2の情報処理装置に関連付けられた店舗のデータ配信ファイルに基づいてデータベースを更新する記憶制御部と、
を備える、第2の情報処理装置。
[2] 前記第2の情報処理装置に関連付けられた店舗のデータ配信ファイルの有無に関するリクエストを出力するリクエスト処理部をさらに備える、
[1]に記載の第2の情報処理装置。
[3] 前記データ配信ファイルの更新指示を出力する指示出力部をさらに備える、
[1]に記載の第2の情報処理装置。
[4] 前記取得部は、前記第2の情報処理装置に関連付けられた全てのデータ配信ファイルを取得する、
[1]に記載の第2の情報処理装置。
[5] 前記取得部は、前記第2の情報処理装置に関連付けられた最新のデータ配信ファイルを取得する、
[1]に記載の第2の情報処理装置。
[6] 前記リクエスト処理部は、所定の間隔で前記リクエストを出力する、
[2]に記載の第2の情報処理装置。
[7] 前記指示出力部は、前記データ配信ファイルを完了ディレクトリに移動する更新指示を出力する、
[3]に記載の第2の情報処理装置。
[8] 前記指示出力部は、前記データ配信ファイルを削除する更新指示を出力する、
[3]に記載の第2の情報処理装置。
[9] コンピュータに、
第2の情報処理装置に関連付けられた店舗のデータ配信ファイルが記憶装置に記憶されている場合、前記第2の情報処理装置に関連付けられた店舗のデータ配信ファイルを取得する取得機能と、
前記第2の情報処理装置に関連付けられた店舗のデータ配信ファイルに基づいてデータベースを更新する記憶制御機能と、
を実行させるための情報処理プログラム。
【0112】
[他の実施形態]
第1の情報処理装置は、クラウドサーバ1のような1つの装置で実現されてもよいし、機能を分散させた複数の装置で実現されてもよい。
【0113】
第2の情報処理装置は、エッジサーバ3のような1つの装置で実現されてもよいし、機能を分散させた複数の装置で実現されてもよい。
【0114】
上述の実施形態では、クラウドサーバ1とストレージサーバ2を独立した装置として実現する例として説明したが、これに限られない。クラウドサーバ1とストレージサーバ2は、プロセッサ11とプロセッサ21の機能を有する1つの装置で実現されてもよい。この場合、1つの装置は、補助記憶デバイス13と補助記憶デバイス23の機能を有する異なる補助記憶デバイスを備える。この例では、出力部113がデータ配信ファイルを補助記憶デバイス23に記憶させるように出力することは、出力部113がメインメモリ12に一時的に記憶されているデータ配信ファイルを補助記憶デバイス23に出力することを含む。
【0115】
上述の実施形態は、POS端末4がレジ機能のアプリケーションを記憶している場合にも適用可能である。
【0116】
上述の実施形態は、装置だけでなく、装置が実行する方法に適用されてもよい。上述の実施形態は、装置のコンピュータに各機能を実行させることが可能なプログラムに適用されてもよい。
【0117】
プログラムは、装置に記憶された状態で譲渡されてよいし、装置に記憶されていない状態で譲渡されてもよい。後者の場合は、プログラムは、ネットワークを介して譲渡されてよいし、記録媒体に記録された状態で譲渡されてもよい。記録媒体は、非一時的な有形の媒体である。記録媒体は、コンピュータ可読媒体である。記録媒体は、CD-ROM、メモリカード等のプログラムを記憶可能かつコンピュータで読取可能な媒体であればよく、その形態は問わない。
【0118】
この他、本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0119】
1…クラウドサーバ、2…ストレージサーバ、3…エッジサーバ、4…POS端末、5…ネットワーク、11…プロセッサ、12…メインメモリ、13…補助記憶デバイス、14…通信インタフェース、21…プロセッサ、22…メインメモリ、23…補助記憶デバイス、24…通信インタフェース、25…表示デバイス、31…プロセッサ、32…メインメモリ、33…補助記憶デバイス、34…通信インタフェース、100…情報処理システム、110…更新判定部、111…取得部、112…ファイル作成部、113…出力部、210…ファイル取得部、211…記憶制御部、212…指示取得部、213…出力部、310…リクエスト処理部、311…判定部、312…取得部、313…記憶制御部、314…指示出力部。