JP6515663B2 - ネットワークシステム、ネットワークシステムの制御方法、及び、制御装置 - Google Patents

ネットワークシステム、ネットワークシステムの制御方法、及び、制御装置 Download PDF

Info

Publication number
JP6515663B2
JP6515663B2 JP2015092867A JP2015092867A JP6515663B2 JP 6515663 B2 JP6515663 B2 JP 6515663B2 JP 2015092867 A JP2015092867 A JP 2015092867A JP 2015092867 A JP2015092867 A JP 2015092867A JP 6515663 B2 JP6515663 B2 JP 6515663B2
Authority
JP
Japan
Prior art keywords
server
access code
control
function unit
control device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2015092867A
Other languages
English (en)
Other versions
JP2016212493A (ja
JP2016212493A5 (ja
Inventor
浩一郎 堤
浩一郎 堤
潤一 ▲吉▼澤
潤一 ▲吉▼澤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2015092867A priority Critical patent/JP6515663B2/ja
Priority to US15/135,968 priority patent/US9923968B2/en
Publication of JP2016212493A publication Critical patent/JP2016212493A/ja
Publication of JP2016212493A5 publication Critical patent/JP2016212493A5/ja
Application granted granted Critical
Publication of JP6515663B2 publication Critical patent/JP6515663B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/108Network architectures or network communication protocols for network security for controlling access to devices or network resources when the policy decisions are valid for a limited amount of time

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Cash Registers Or Receiving Machines (AREA)

Description

本発明は、ネットワークシステム、ネットワークシステムの制御方法、及び、制御装置に関する。
従来、制御サーバー(サーバー)がアクセスコードを生成(発行)し、サーバーへの接続に際し、サーバーが生成したアクセスコードを使用するシステムが知られている(例えば、特許文献1参照)。また、近年、インターネットを含むグローバルネットワークに接続されたサーバー(いわゆるクラウドサーバー)が、クライアントからの要求に応じて、要求に対応する処理を実行するネットワークシステム(クラウドシステムが普及している。
特開2005−250665号公報
ここで、上述したクラウドシステムにおいて、特許文献1に記載された技術を利用して、クライアントである制御装置が制御サーバー(サーバー)の接続にアクセスコードを利用することによって、認証情報(例えば、IDとパスワードとの組み合わせ)の入力を省略できる等、サーバーへのアクセスの容易性を向上できる一方、クライアントである制御装置がサーバーと正常に通信できない状況が生じ得るため、このような状況が生じた場合に対応できるようにする必要がある。
本発明は、上述した事情に鑑みてなされたものであり、制御サーバーと、制御サーバーとグローバルネットワークを介して接続された制御装置とを備えるシステムについて、制御装置が制御サーバーと正常に通信できない場合に対応できるようにすることを目的とする。
上記目的を達成するために、本発明のネットワークシステムは、グローバルネットワークに接続し、サーバー機能を有する制御サーバーと、前記サーバーと前記グローバルネットワークを介して通信可能な制御装置と、を備え、前記制御サーバーは、前記制御装置からの認証の要求に応じて、前記制御装置から受信した認証情報に基づいて前記制御装置の認証を行い、認証に成功した場合、アクセスコードを生成して前記制御装置に送信し、前記アクセスコードをサーバー側認証用アクセスコードとして記憶し、前記制御装置は、サーバー機能を有するサーバー機能部と、前記制御サーバーと通信して、前記制御サーバーが生成した前記アクセスコードを取得し、取得した前記アクセスコードを、制御装置側認証用アクセスコードとして前記サーバー機能部が参照可能な記憶領域に記憶し、また、前記制御サーバーと通信して、前記サーバー側認証用アクセスコードと前記制御装置側認証用アクセスコードとの同期を取る同期処理部と、前記制御サーバーに前記認証情報を送信して認証を要求し、認証の成功に応じて前記制御サーバーが生成した前記アクセスコードを取得して記憶し、前記制御サーバーと正常に通信できる場合は、記憶した前記アクセスコードに基づいて前記制御サーバーのクライアントとして前記制御サーバーと通信し、前記制御サーバーと処理を実行し、前記制御サーバーと正常に通信できない場合は、記憶した前記アクセスコードに基づいて前記サーバー機能部のクライアントとして前記サーバー機能部と通信し、前記サーバー機能部と処理を実行するクライアント機能部と、を備えることを特徴とする。
本発明の構成によれば、制御サーバーと、制御サーバーとグローバルネットワークを介して接続された制御装置とを備えるシステムについて、制御装置が制御サーバーと正常に通信できない場合に対応できる。
また、本発明のネットワークシステムは、制御サーバーは、前記制御装置から不正なアクセスがあった場合、又は、前記制御装置が不正な処理を実行した場合、記憶した前記サーバー側認証用アクセスコードを削除することを特徴とする。
本発明の構成によれば、不正なアクセスを行った制御装置や、不正な処理を実行した制御装置が、制御サーバーの機能を利用して処理を実行することを防止することができる。
また、本発明のネットワークシステムは、前記制御サーバーは、所定の時間帯に前記制御装置から前記アクセスコードに基づくアクセスがあった場合は、前記アクセスコードに基づいて前記制御装置の認証が完了したか否かを判別し、当該所定の時間帯以外の時間帯に前記制御装置から前記アクセスコードに基づくアクセスがあった場合は、前記制御装置に前記認証情報の送信を要求することを特徴とする。
本発明の構成によれば、不正なアクセスを行った可能性のあるPOS端末10が、制御サーバー15の機能を利用して処理を実行することを防止することができる。
また、本発明のネットワークシステムは、前記制御装置は、記録媒体に記録する記録機能を有し、前記制御装置の前記クライアント機能部は、前記制御サーバー又は前記サーバー機能部と通信して会計に係る処理を実行し、レシートを発行することを特徴とする。
本発明の構成によれば、会計処理を行ってレシートを発行する機能を有する制御装置と、制御装置とグローバルネットワークを介して接続された制御サーバーとを備えるシステムについて、制御装置が制御サーバーと正常に通信できない場合に対応できる。
また、本発明のネットワークシステムは、前記制御装置は、記録媒体に記録する記録機能を有する記録装置に接続され、前記制御装置の前記クライアント機能部は、前記制御サーバー又は前記サーバー機能部と通信して会計に係る処理を実行し、前記記録装置にレシートを発行させることを特徴とする。
本発明の構成によれば、記録装置に接続され、会計処理を行って記録装置にレシートを発行させる制御装置と、制御装置とグローバルネットワークを介して接続された制御サーバーとを備えるシステムについて、制御装置が制御サーバーと正常に通信できない場合に対応できる。
また、上記目的を達成するために、本発明は、グローバルネットワークに接続し、サーバー機能を有する制御サーバーと、前記サーバーと前記グローバルネットワークを介して通信可能に構成され、クライアント機能部、サーバー機能部、及び同期処理部を有する制御装置と、を備えるネットワークシステムの制御方法であって、前記制御装置の前記クライアント機能部は、前記制御サーバーに認証情報を送信して認証を要求し、前記制御サーバーは、前記制御装置からの認証の要求に応じて、前記制御装置から受信した認証情報に基づいて前記制御装置の認証を行い、認証に成功した場合、アクセスコードを生成して前記制御装置に送信し、前記アクセスコードをサーバー側認証用アクセスコードとして記憶し、前記制御装置の前記クライアント機能部は、認証の成功に応じて前記制御サーバーが生成した前記アクセスコードを取得して記憶し、前記制御装置の前記同期処理部は、前記制御サーバーと通信して、前記制御サーバーが生成した前記アクセスコードを取得し、取得した前記アクセスコードを、制御装置側認証用アクセスコードとして前記サーバー機能部が参照可能な記憶領域に記憶し、また、前記制御サーバーと通信して、前記サーバー側認証用アクセスコードと前記制御装置側認証用アクセスコードとの同期を取り、前記制御装置の前記クライアント機能部は、前記制御サーバーと正常に通信できる場合は、記憶した前記アクセスコードに基づいて前記制御サーバーのクライアントとして前記制御サーバーと通信し、前記制御サーバーと処理を実行し、前記制御サーバーと正常に通信できない場合は、記憶した前記アクセスコードに基づいてサーバー機能を有する前記サーバー機能部のクライアントとして前記サーバー機能部と通信し、前記サーバー機能部と処理を実行することを特徴とする。
本発明の構成によれば、制御サーバーと、制御サーバーとグローバルネットワークを介して接続された制御装置とを備えるシステムについて、制御装置が制御サーバーと正常に通信できない場合に対応できる。
また、上記目的を達成するために、本発明の制御装置は、サーバー機能を有するサーバー機能部と、グローバルネットワークに接続された制御サーバーに認証情報を送信して認証を要求し、認証の成功に応じて前記制御サーバーが生成したアクセスコードを取得して記憶するクライアント機能部と、前記制御サーバーと通信して、前記制御サーバーが生成した前記アクセスコードを取得し、取得した前記アクセスコードを、制御装置側認証用アクセスコードとして前記サーバー機能部が参照可能な記憶領域に記憶し、また、前記制御サーバーと通信して、制御サーバーが管理するアクセスコードと前記制御装置側認証用アクセスコードとの同期を取る同期処理部と、を備え、前記クライアント機能部は、前記制御サーバーと正常に通信できる場合は、記憶した前記アクセスコードに基づいて前記制御サーバーのクライアントとして前記制御サーバーと通信し、前記制御サーバーと処理を実行し、前記制御サーバーと正常に通信できない場合は、記憶した前記アクセスコードに基づいて前記サーバー機能部のクライアントとして前記サーバー機能部と通信し、前記サーバー機能部と処理を実行することを特徴とする。
本発明の構成によれば、制御サーバーと、制御サーバーとグローバルネットワークを介して接続された制御装置とを備えるシステムについて、制御装置が制御サーバーと正常に通信できない場合に対応できる。
本実施形態に係るネットワークシステムの構成を示す図。 ネットワークシステムが備える各装置の機能的構成を示すブロック図。 POS端末、制御サーバーの動作を示すフローチャート。 認証用ユーザーインターフェースを示す図。 POS端末、制御サーバーの動作を示すフローチャート。 会計用ユーザーインターフェースを示す図。 POS端末、制御サーバーの動作を示すフローチャート。 POS端末の動作を示すフローチャート。 POS端末、制御サーバーの動作を示すフローチャート。 POS端末、制御サーバーの動作を示すフローチャート。 POS端末の動作を示すフローチャート。 POS端末の動作を示すフローチャート。 POS端末、制御サーバーの動作を示すフローチャート。
以下、図面を参照して本発明の実施形態について説明する。
図1は、本実施形態に係る会計システム1(ネットワークシステム)の構成を示す図である。
図1に示すように、会計システム1は、複数の店舗システム11を備える。店舗システム11は、スーパーマーケットや、コンビニエンスストア、デパート、飲食店等の店舗に用いられるシステムである。
店舗システム11は、顧客が購入した商品に応じた会計を行う機能、会計に応じてレシートを発行する機能等を備える。
店舗システム11が適用される店舗には、顧客が会計を行なうレジカウンターLが設けられる。レジカウンターLには、会計に応じてレシートを発行可能なPOS端末10(制御装置)が設けられる。
POS端末10は、レジカウンターLで行われる会計に応じて会計処理を実行し、会計に関する情報が記録されたレシートを発行する機能を有する。POS端末10により発行されたレシートは、顧客に引き渡される。
POS端末10の構成、機能、及び、機能に基づく処理については後述する。
店舗システム11は、ローカルネットワークLNを備える。
POS端末10は、LANに係る通信規格に従って、ローカルネットワークLNと接続する。POS端末10がローカルネットワークLNと接続する際に使用する通信規格は何でもよく、また、有線接続でも無線接続でもよい。
ローカルネットワークLNには、通信装置14が接続される。通信装置14は、ローカルネットワークLNと、インターネットを含むグローバルネットワークGNとを接続するインターフェース装置である。通信装置14は、モデム(又は、ONU(Optical Network Unit))としての機能、ルーター機能、NAT(Network Address Translation)機能、及び、DHCP(Dynamic Host Configuration Protocol)サーバー機能等を有する。通信装置14は、ローカルネットワークLNに接続された機器と、グローバルネットワークGNに接続された機器との間で行われる通信に際し、機器間で送受信されるデータを転送する。なお、図1では、通信装置14を1つのブロックで表現するが、通信装置14は、機能に応じた複数の装置を有する構成でもよい。
POS端末10は、通信装置14を介して、グローバルネットワークGNにアクセス可能である。
グローバルネットワークGNには、制御サーバー15(サーバー)が接続される。制御サーバー15は、サーバー機能を有し、POS端末10をクライアントとする、クラウドシステムのクラウドサーバーである。すなわち、制御サーバー15は、クライアントからの要求等をトリガーとして、所定の演算処理を実行し、演算処理の結果に基づくデータを、クライアントに送信する。なお、図1では、制御サーバー15を、1つのブロックによって表現するが、これは制御サーバー15が単一のサーバー装置により構成されることを意味するものではない。例えば、制御サーバー15は、複数のサーバー装置を含んで構成されたものでもよい。すなわち、制御サーバー15は、後述する各種処理を実行可能な構成であれば、その形態を問わない。
図2は、会計システム1が有するPOS端末10と、制御サーバー15との機能的構成を示すブロック図である。
POS端末10は、ロール紙(記録媒体)を収容し、ロール紙にライン型のサーマルヘッドによってドットを形成することにより画像を記録するラインサーマルプリンターである。
図2に示すように、POS端末10は、制御装置制御部50と、制御装置記録部51と、制御装置記憶部52と、制御装置通信部53と、制御装置デバイス通信部54と、を備える。
制御装置制御部50は、図示しないCPUや、ROM、RAM、その他周辺回路等を備え、POS端末10を制御する。
制御装置記録部51は、POS端末10の筐体に収容されたロール紙を搬送する搬送機構や、サーマルヘッドによってロール紙にドットを形成して画像を記録する記録機構、ロール紙を所定の位置で切断する切断機構等のロール紙への記録に関する各種機構を備える。制御装置記録部51は、制御装置制御部50の制御で、搬送機構によりロール紙を搬送しつつ、記録機構によりロール紙にレシートに係る画像を記録し、切断機構により所定の位置でロール紙を切断して、レシートを発行する。
制御装置記憶部52は、EPROM等の不揮発性メモリーを備え、各種データを記憶する。
制御装置記憶部52は、商品の商品コードと、商品に関する情報とを対応付けた商品マスターである制御装置側商品マスター521を記憶する。商品に関する情報は、少なくとも、商品の単価を示す情報を含む。
また、制御装置記憶部52は、制御装置側ウェブアプリケーション522を記憶する。制御装置側ウェブアプリケーション522については後述する。
また、制御装置記憶部52は、POS端末マスター523を記憶する。POS端末マスター523については後述する。
また、制御装置記憶部52は、会計情報一時記憶データベース524を記憶する。会計情報一時記憶データベース524については後述する。
POS端末10には、所定のウェブブラウザーがインストールされる。制御装置制御部50は、インストールされたウェブブラウザーを読み出して実行することにより、クライアント機能部501として機能する。
また、POS端末10には、所定のウェブサーバーソフトウェアがインストールされる。制御装置制御部50は、インストールされたウェブサーバーソフトウェアを読み出して実行することにより、サーバー機能部502として機能する。
上述した制御装置側ウェブアプリケーション522は、POS端末10にインストールされた所定のウェブサーバーソフトウェアで動作するアプリケーションであり、当該所定のウェブサーバーソフトウェアとの間でプログラム間通信が可能である。
サーバー機能部502は、制御装置側ウェブアプリケーション522を読み出して実行することにより、制御装置側アプリケーション実行部5021として機能する。
サーバー機能部502は、サーバー機能を有し、クライアント機能部501との関係において、クライアント機能部501をクライアントとするサーバーとして機能する。
POS端末10には、後述するように制御サーバー15とPOS端末10との間で所定のデータの同期を取る機能を有する所定のプログラムがインストールされる。制御装置制御部50は、当該所定のプログラムを読み出して実行することにより、同期処理部503として機能する。
制御装置制御部50が備える各機能ブロックの機能、及び、機能に基づく処理については後述する。
制御装置通信部53は、制御装置制御部50の制御で、ローカルネットワークLNにアクセスし、当該ネットワークに接続された機器(他のPOS端末10を含む。)と通信する。
また、制御装置通信部53は、制御装置制御部50の制御で、通信装置14を介して、グローバルネットワークGNにアクセスし、当該ネットワークに接続された機器(制御サーバー15を含む。)と通信する。
制御装置デバイス通信部54は、USBの規格に従ったポートや、USB以外のシリアル通信規格に従ったポート、その他通信規格に従ったポートを有するインターフェースボードを備える。各ポートには、デバイスが接続される。制御装置デバイス通信部54は、制御装置制御部50の制御で、ポートを介してPOS端末10に接続されたデバイスと通信する。
なお、制御装置デバイス通信部54が無線通信機能を備え、デバイスと無線通信する構成でもよい。
POS端末10には、デバイスとして、バーコードスキャナーBS、カスタマーディスプレーCD、キャッシュドロアーKS、及び、タッチパネルTPが接続される。
バーコードスキャナーBSは、商品や、商品の包装等に付されたバーコードを読み取り、読取結果を示すデータを制御装置デバイス通信部54に出力する。制御装置デバイス通信部54は、バーコードスキャナーBSから入力されたデータを、制御装置制御部50に出力する。
カスタマーディスプレーCDは、制御装置制御部50の制御で、画像を表示する。カスタマーディスプレーCDに表示された情報は、レジカウンターLで会計を行う顧客が視認できる。
キャッシュドロアーKSは、現金を収容するトレイ及びトレイをロックする機構を備え、制御装置制御部50の制御で、ロックを解除し、トレイを開く。
タッチパネルTPは、液晶表示パネルや有機ELパネル等の表示装置と、当該表示装置に重ねて設けられ、ユーザー(レジ担当者を含む。)のタッチ操作を検出するタッチセンサーと、を有する。タッチパネルTPは、レジカウンターLにおいて、レジ担当者が視認可能であり、タッチ操作可能な位置に設けられる。タッチパネルTPは、制御装置制御部50の制御で、表示装置に各種画像を表示する。制御装置制御部50のクライアント機能部501は、所定の手段で取得したHTMLファイルに基づいて、タッチパネルTPにウェブページを表示可能である。また、タッチパネルTPは、ユーザーのタッチ操作を検出した場合、タッチ操作された位置を示す信号を制御装置制御部50に出力すする。制御装置制御部50は、タッチパネルTPからの入力に基づいて、ユーザーのタッチ操作に対応する処理を実行する。
図2に示すように、制御サーバー15は、サーバー制御部40と、サーバー記憶部41と、サーバー通信部42と、を備える。
サーバー制御部40は、図示しないCPUや、ROM、RAM、その他周辺回路等を備え、制御サーバー15を制御する。
サーバー記憶部41は、図示しないハードディスクや、EEPROM等の不揮発性メモリーを備え、各種データを記憶する。
サーバー記憶部41は、商品の商品コードと商品の単価とを対応付けた商品マスターであるサーバー側商品マスター411を記憶する。
また、サーバー記憶部41は、HTMLファイルであるサーバー側HTMLファイル412を記憶する。サーバー側HTMLファイル412については後述する。
また、サーバー記憶部41は、サーバー側ウェブアプリケーション413を記憶する。サーバー側ウェブアプリケーション413については後述する。
また、サーバー記憶部41は、会計情報管理データベース414を記憶する。会計情報管理データベース414については後述する。
また、制御サーバー15には、所定のウェブサーバーソフトウェアがインストールされる。サーバー制御部40は、インストールされたウェブサーバーソフトウェアを読み出して実行することにより、サーバー側サーバーソフト実行部401として機能する。
上述したサーバー側ウェブアプリケーション413は、制御サーバー15にインストールされた所定のウェブサーバーソフトウェアで動作するアプリケーションであり、当該所定のウェブサーバーソフトウェアとの間でプログラム間通信が可能である。
サーバー側サーバーソフト実行部401は、上述したサーバー側ウェブアプリケーション413を読み出して実行することにより、サーバー側アプリケーション実行部4011として機能する。
サーバー通信部42は、サーバー制御部40の制御で、グローバルネットワークGNにアクセスし、当該ネットワークと接続する機器(POS端末10を含む。)と通信する。
ところで、後に詳述するが、制御サーバー15は、POS端末10等のグローバルネットワークGNを介して通信する外部装置と通信し、外部装置と共に処理を実行する機能を有する。従って、正当な権限を有さない第三者が、所定の装置を制御サーバー15と通信させて、制御サーバー15の機能を使用することを防止するため、制御サーバー15による認証によって、制御サーバー15にアクセスする権限を有する正当なPOS端末10のみが制御サーバー15の機能を使用できるようにすることが求められる。
ここで、一般に、認証は、パスワードとIDとの組み合わせ等の認証情報を用いて行われるが、レジ担当者が、POS端末10を使用する度に、認証情報を入力し、入力された認証情報に基づいて認証を行う構成とした場合、以下の課題がある。すなわち、作業が煩雑であり、また、1のPOS端末10を使用するレジ担当者は、同一人物とは限らないため、レジ担当者は、POS端末10を使用する度に、何らかの手段で当該POS端末10に対応する認証情報を把握する必要があり、また、レジ担当者は、必ずしも、POS端末10の使用方法に精通した者とは限らず、認証情報の入力に労力を要する場合が生じ得る。
以上を踏まえ、POS端末10を店舗システム11に導入する際、POS端末10は、以下の処理を実行する。
図3は、店舗システム11へのPOS端末10の導入時のPOS端末10、及び、制御サーバー15の動作を示すフローチャートである。図3(A)はPOS端末10の動作を示し、(B)は制御サーバー15の動作を示す。
以下の説明では、POS端末10を店舗システム11に導入する作業を行う者を「ユーザー」と表現する。
店舗システム11へのPOS端末10の導入に際し、ユーザーは、店舗に持ち込まれたPOS端末10(必ずしも店舗に持ち込まれた状態である必要はない。)の電源をオンする(ステップSX1)。
POS端末10は、電源のオンに応じて、自動でブラウザーが起動し、クライアント機能部501が処理を実行可能となる構成を有する。
図3(A)に示すように、POS端末10のクライアント機能部501は、制御サーバー15の所定のURLにアクセスする(ステップSA1)。制御サーバー15の所定のURLや、制御サーバー15との通信に必要な情報は、事前に登録される。
図3(B)に示すように、制御サーバー15のサーバー側サーバーソフト実行部401は、POS端末10のアクセスに応じて、POS端末10が、認証が完了した端末であるか否かを判別する(ステップSB1)。
ここで、認証が完了したPOS端末10は、制御サーバー15へのアクセスに際し、認証が成功した場合に制御サーバー15が生成するアクセスコードを所定の手段で制御サーバー15に送信する。ステップSB1において、制御サーバー15は、POS端末10からのアクセスが、アクセスコードを利用したアクセスであるか否かを判別することにより、POS端末10が、認証が完了した端末か否かを判別する。なお、認証が完了した端末か否かを判別する方法は、どのような方法でもよい。
本例では、ステップSB1において、サーバー側サーバーソフト実行部401は、POS端末10が、認証が完了した状態にない端末であると判別し、ステップSB2以下の処理を実行する。
ステップSB2において、サーバー側サーバーソフト実行部401は、後述する認証用ユーザーインターフェース70の表示に係るHTMLファイルをPOS端末10に送信する。
図3(A)に示すように、POS端末10のクライアント機能部501は、HTMLファイルを取得し、HTMLファイルに基づいて、タッチパネルTPに、認証用ユーザーインターフェース70を表示する(ステップSA2)。
図4は、認証用ユーザーインターフェース70を示す図である。
図4に示すように、認証用ユーザーインターフェース70は、POS端末10のシリアル番号を入力するシリアル番号入力欄R1と、パスワードとを入力するパスワード入力欄R2と、入力を確定するボタンB1とを備える。POS端末10のシリアル番号は、POS端末10の製造時に、POS端末10に一意に割り当てられる識別情報である。シリアル番号を示す情報が記録されたシールがPOS端末10の筐体に貼られる等してあり、ユーザーは、POS端末10のシリアル番号を容易に認識である。また、ユーザー(正当な権限を有する者)に、所定の方法によって、パスワードが事前に通知される。
ユーザーは、認証用ユーザーインターフェース70のシリアル番号入力欄R1にシリアル番号を入力し、パスワード入力欄R2にパスワードを入力して、ボタンB1を操作する(ステップSX2)。
ボタンB1が操作されたことを検出すると、クライアント機能部501は、制御装置通信部53を制御して、入力されたシリアル番号とパスワードとの組み合わせを、制御サーバー15に送信する(ステップSA3)。
図3(B)に示すように、制御サーバー15のサーバー側サーバーソフト実行部401は、サーバー通信部42を制御してシリアル番号とパスワードとの組み合わせを受信する(ステップSB3)。
次いで、サーバー側サーバーソフト実行部401は、サーバー記憶部41が記憶する認証データベース(不図示)を参照する(ステップSB4)。認証データベースは、制御サーバー15の機能を利用可能なPOS端末10について、シリアル番号とパスワードとを対応付けて記憶するデータベースである。
次いで、サーバー側サーバーソフト実行部401は、認証データベースに、ステップSB3で受信したシリアル番号とパスワードとの組み合わせが記憶された状態か否かを判別することにより、POS端末10の認証を行う(ステップSB5)。認証データベースにシリアル番号と、パスワードとの組み合わせが記憶された状態の場合、認証が成功し、記憶された状態にない場合認証が失敗する。
次いで、サーバー側サーバーソフト実行部401は、認証に成功したか否かを判別する(ステップSB6)。
認証に失敗した場合(ステップSB6:NO)、サーバー側サーバーソフト実行部401は、対応する処理を実行する(ステップSB7)。例えば、サーバー側サーバーソフト実行部401は、認証が失敗した旨を表示させるHTMLファイルをPOS端末10に送信して、ユーザーに認証が失敗したことを認識させる。
認証が成功した場合(ステップSB6:YES)、サーバー側サーバーソフト実行部401は、アクセスコードを生成する(ステップSB8)。アクセスコードは、認証が成功したPOS端末10について、POS端末10が制御サーバー15にアクセスする際に、使用する情報である。後述するように、認証が完了したPOS端末10は、制御サーバー15にアクセスする際、アクセスコードを送信する。制御サーバー15は、アクセスコードの送信元のPOS端末10について、認証が完了したPOS端末10と判別し、制御サーバー15の機能の利用を許可する。
アクセスコードは、一意な値とされる。
次いで、サーバー側サーバーソフト実行部401は、ステップSB8で生成したアクセスコードを、認証データベースで、対応するシリアル番号及びパスワードと対応付けて記憶する(ステップSB9)。以下、認証データベースで、シリアル番号及びパスワードと対応付けて記憶されたアクセスコードを「サーバー側認証用アクセスコード」と表現する。
次いで、サーバー側サーバーソフト実行部401は、サーバー通信部42を制御して、ステップSB8で生成したアクセスコードをPOS端末10に送信する(ステップSB10)。
図3(A)に示すように、POS端末10のクライアント機能部501は、制御装置通信部53を制御して、アクセスコードを受信する(ステップSA4)。
次いで、クライアント機能部501は、受信したアクセスコードを、クライアント機能部501が参照可能な不揮発メモリーの所定の記憶領域に記憶する(ステップSA5)。
次に、認証が完了したPOS端末10の電源がオンされた場合の、POS端末10の動作について説明する。
図5は、認証が完了したPOS端末10の電源がオンされた場合のPOS端末10、及び、制御サーバー15の動作を示すフローチャートである。図5(A)はPOS端末10の動作を示し、(B)は制御サーバー15の動作を示す。
レジ担当者は、POS端末10の電源をオンする(ステップSX3)。本例では、POS端末10は、レジカウンターLに設置された状態であり、レジ担当者は、例えば、店舗の開店時にPOS端末10の電源をオンする。上述したように、POS端末10の電源のオンに応じて、自動で、ブラウザーが起動する。
図5(A)に示すように、POS端末10のクライアント機能部501は、所定の記憶領域に記憶されたアクセスコードを取得する(ステップSC1)。
次いで、クライアント機能部501は、制御装置通信部53を制御して、取得したアクセスコードを送信し、制御サーバー15の所定のURLにアクセスする(ステップSC2)。なお、アクセスコードの送信方法は、例えば、HTTPリクエストに付加情報としてアクセスコードを記述する方法でもよく、また、URLのクエリにパラメーターとして付加する方法でもよく、また、アクセスコードが記述された所定の制御コマンドを送信する方法でもよい。アクセスコードの送信に際し、アクセスコードを、制御サーバー15が復号可能な方法で暗号化してもよい。
図5(B)に示すように、制御サーバー15のサーバー側サーバーソフト実行部401は、POS端末10からのアクセスに応じて、POS端末10が送信したアクセスコードを取得する(ステップSD1)。
次いで、サーバー側サーバーソフト実行部401は、上述した認証データベースを参照する(ステップSD2)。
次いで、サーバー側サーバーソフト実行部401は、ステップSD1で取得したアクセスコードと同一の値のサーバー側認証用アクセスコードが記憶された状態か否かを判別する(ステップSD3)。上述したように、アクセス元のPOS端末10が送信したアクセスコードと同一の値のサーバー側認証用アクセスコードが認証データベースに記憶された状態の場合に、対応するPOS端末10について認証が成功となる。
認証データベースに対応するサーバー側認証用アクセスコードが記憶された状態にない場合(ステップSD3:NO)、サーバー側サーバーソフト実行部401は、対応する処理を実行する(ステップSD4)。例えば、サーバー側サーバーソフト実行部401は、アクセスコードが有効でないことを示す情報が表示され、及び、シリアル番号とパスワードとを用いた認証を実行可能なユーザーインターフェースを表示させるHTMLファイルを送信する。
認証データベースに対応するサーバー側認証用アクセスコードが記憶された状態の場合(ステップSD3:YES)、サーバー側サーバーソフト実行部401は、サーバー通信部42を制御して、サーバー側HTMLファイル412をPOS端末10に送信する(ステップSD5)。サーバー側HTMLファイル412は、後述する会計用ユーザーインターフェース60(図6)を表示させるHTMLファイルである。
図5(A)に示すように、POS端末10のクライアント機能部501は、制御装置通信部53を制御して、サーバー側HTMLファイル412を受信し、取得する(ステップSC3)。
次いで、クライアント機能部501は、取得したサーバー側HTMLファイル412を実行して、会計用ユーザーインターフェース60(図6)をタッチパネルTPに表示する(ステップSC4)。
図6は、タッチパネルTPに表示された会計用ユーザーインターフェース60の一例を示す図である。
図6の会計用ユーザーインターフェース60において、左上部には、顧客が購入した商品の名称(商品名)、商品の単価、及び、商品の数量が一覧表示される一覧表示エリア61が設けられる。一覧表示エリア61の右方には、顧客が購入した商品の合計金額、会計に際して顧客から預かった貨幣の金額、及び、顧客に渡す釣銭の金額が表示される金額表示エリア62が設けられる。
一覧表示エリア61の下方には、バーコードスキャナーBSによって読み取られたバーコードの情報(以下、「バーコード情報」という。)が表示されるバーコード情報表示エリア63が設けられる。バーコード情報は、基本的には、商品に割り当てられた商品コードである。
バーコード情報表示エリア63の右方には、ソフトウェアテンキー64が設けられる。ソフトウェアテンキー64は、会計を確定する確定キー641を有する。
以後、レジカウンターLにおいて、レジ担当者は、会計用ユーザーインターフェース60を用いて、会計を行う。
このように、認証が成功したPOS端末10については、起動時に、アクセスコードを用いて自動で制御サーバー15にアクセスする。このため、レジ担当者は、POS端末10の起動時等、POS端末10による制御サーバー15へのアクセスに際し、シリアル番号や、パスワードを入力する必要がなく、レジ担当者の利便性が向上する。
なお、図5のフローチャートでは、制御サーバー15は、アクセスコードに基づいてアクセスしたPOS端末10について、認証データベースに対応するサーバー側認証用アクセスコードがあるか否かにより、認証が完了した状態か否かを判別する構成であるが、以下の構成でもよい。すなわち、制御サーバー15は、アクセスコードに基づくアクセスがあった時刻が、予め定められた時間帯に属するか否かを判別し、時間帯に属しない場合は、パスワードとシリアル番号の送信を要求し、当該要求に基づいて受信したこれら情報を用いた認証を改めて行う構成でもよい。時間帯は、POS端末10が設けられた店舗の開店時間/閉店時間等を反映して、POS端末10による正常なアクセスが行われる可能性がある時間帯とされる。
これによれば、POS端末10により制御サーバー15の機能が不正に使用されることを効果的に防止できる。
次に、POS端末10の制御装置制御部50の同期処理部503について説明する。
図7は、同期処理部503が処理を実行するときのPOS端末10、及び、制御サーバー15の動作、を示すフローチャートである。図7(A)はPOS端末10の動作を示し、(B)は制御サーバー15の動作を示す。
ここで、同期処理部503は、制御サーバー15が記憶するサーバー側商品マスター411とPOS端末10が記憶する制御装置側商品マスター521との同期、制御サーバー15が記憶するサーバー側ウェブアプリケーション413とPOS端末10が記憶する制御装置側ウェブアプリケーション522との同期、及び、制御サーバー15が記憶するサーバー側認証用アクセスコードとPOS端末10が記憶する制御装置側認証用アクセスコード(後述)との同期を取る機能を有する。
以下、制御サーバー15が記憶するサーバー側商品マスター411、サーバー側ウェブアプリケーション413、及び、サーバー側認証用アクセスコードを総称して「サーバー側データ」と表現する。
また、POS端末10が記憶する制御装置側商品マスター521、制御装置側ウェブアプリケーション522、および、制御装置側認証用アクセスコード(後述)を総称して「制御装置側データ」と表現する。
図7(A)に示すように、同期処理部503は、制御装置通信部53を制御して、サーバー側データに変更があったか否かを問い合わせる制御コマンド(以下、「改変応答要求コマンド」という。)を制御サーバー15に送信する(ステップSE1)。改変応答要求コマンドは、POS端末10のシリアル番号が含まれた制御コマンドである。なお、同期処理部503は、制御サーバー15のアクセス先等、改変応答要求コマンドの送信に必要な通信に関する情報を管理する。
同期処理部503は、所定の周期で、改変応答要求コマンドを制御サーバー15に送信する。従って、ステップSE1以下の処理は、改変応答要求コマンドを送信する所定の周期で実行される。
なお、サーバー側データに変更があったとは、サーバー側商品マスター411については内容に変更があったことを意味する。また、サーバー側ウェブアプリケーション413についてはプログラム修正があったことを意味する。また、サーバー側認証用アクセスコードについては、認証データベースにおいてシリアル番号と対応付けられたサーバー側認証用アクセスコードが新たに生成されたこと、又は、サーバー側認証用アクセスコードが削除されたことを意味する。後述するように、制御サーバー15が生成し、認証データベースに記憶されたサーバー側認証用アクセスコードは、削除される場合がある。
図7(B)に示すように、制御サーバー15のサーバー側サーバーソフト実行部401は、サーバー通信部42を制御して、改変応答要求コマンドを受信する(ステップSF1)。
次いで、サーバー側サーバーソフト実行部401は、前回、改変応答要求コマンドを受信してから、ステップSF1で改変応答要求コマンドを受信するまでの間に、サーバー側データに変更があったか否かを判別する(ステップSF2)。
サーバー側データに変更がない場合(ステップSF2:NO)、サーバー側サーバーソフト実行部401は、処理を終了する。
サーバー側データに変更があった場合(ステップSF2:YES)、サーバー側サーバーソフト実行部401は、サーバー側データに対して行われた変更と同様の変更を制御装置側データに行わせる制御コマンド(以下、「改変実行指示応答コマンド」という。)を生成する(ステップSF3)。
ステップSF3において、サーバー側サーバーソフト実行部401は、サーバー側商品マスター411の内容に変更があった場合、サーバー側商品マスター411に対する変更と同一の変更を制御装置側商品マスター521に行わせる改変実行指示応答コマンドを生成する。また、サーバー側サーバーソフト実行部401は、サーバー側ウェブアプリケーション413に修正があった場合、サーバー側ウェブアプリケーション413に対する修正と同一の修正を制御装置側ウェブアプリケーション522に行わせる改変実行指示応答コマンドを生成する。
また、サーバー側サーバーソフト実行部401は、認証データベースにおいて、改変応答要求コマンドに含まれるシリアル番号に対して、サーバー側認証用アクセスコードが新たに対応付けて記憶された場合は、サーバー側認証用アクセスコード(アクセスコード)を記憶させる改変実行指示応答コマンドを生成する。この場合、改変実行指示応答コマンドにサーバー側認証用アクセスコード(アクセスコード)が含まれる。また、サーバー側サーバーソフト実行部401は、認証データベースにおいて、改変応答要求コマンドに含まれるシリアル番号に対して対応付けられた状態のサーバー側認証用アクセスコードが削除された場合は、後述する制御装置側認証用アクセスコードを削除させる改変実行指示応答コマンドを生成する。
図7(A)に示すように、POS端末10の同期処理部503は、制御装置通信部53を制御して、改変実行指示応答コマンドを受信する(ステップSE2)。
次いで、同期処理部503は、受信した改変実行指示応答コマンドに基づいて、制御装置側データを変更する(ステップSE3)。
同期処理部503は、改変実行指示応答コマンドが、サーバー側認証用アクセスコード(アクセスコード)を記憶させる制御コマンドである場合、改変実行指示応答コマンドに含まれるサーバー側認証用アクセスコードを、所定の記憶領域に記憶する。サーバー側認証用アクセスコードが記憶される記憶領域は、サーバー機能部502が参照可能な記憶領域である一方、クライアント機能部501が参照できない記憶領域とされる。また、サーバー認証用アクセスコードの所定の記憶領域への記憶に際し、第3者により値が改変されないよう、所定の手段で暗号化してもよい。
以下、改変実行指示応答コマンドに基づいて、所定の記憶領域に記憶されたサーバー側認証用アクセスコードを「制御装置側認証用アクセスコード」と表現する。
また、同期処理部503は、改変実行指示応答コマンドが、制御装置側認証用アクセスコードを削除させる制御コマンドである場合、所定の記憶領域から制御装置側認証用アクセスコードを削除する。
このように、同期処理部503の機能により、サーバー側データと、制御装置側データとについて同期が取れた状態が維持される。特に、制御サーバー15でサーバー側認証用アクセスコードが記憶された場合は、POS端末10で制御装置側認証用アクセスコードが記憶される。また、制御サーバー15でサーバー側認証用アクセスコードが削除された場合は、POS端末10で制御装置側認証用アクセスコードが削除される。
なお、制御装置側商品マスター521と、サーバー側商品マスター411との間で同期をとる手段は、例示した手段に限らない。例えば、制御サーバー15が、上述した改変実行指示応答コマンドに代えて、更新後のサーバー側データのコピーデータ、変更前のサーバー側データと変更後のサーバー側データの差分を示すデータ等を送信する構成でもよい。また、POS端末10から制御サーバー15に対してサーバー側データの変更の有無を問い合わせるのではなく、制御サーバー15が、サーバー側データの更新があった場合に、上述した改変実行指示応答コマンドや、変更後のサーバー側データのコピーデータ、変更前のサーバー側データと変更後のサーバー側データの差分を示すデータ等を送信する構成でもよい。
次に、制御サーバー15のサーバー側サーバーソフト実行部401が実行する別の処理について説明する。
サーバー側サーバーソフト実行部401は、制御サーバー15にアクセスしてきたPOS端末10について、サーバー側認証用アクセスコードを削除する条件(以下、「アクセスコード削除条件」という。)が成立したか否かを監視する。
アクセスコード削除条件は、POS端末10のアクセスが不正に行われており、正当な権限を有さない者の指示に基づいてアクセスが行われた可能性がある場合に成立する条件とされる。
例えば、アクセスコード削除条件は、POS端末10が制御サーバー15にアクセスした時刻が、当該POS端末10が設置された店舗の開店時刻/閉店時刻との関係で、想定された時刻でないことである。
また例えば、アクセスコード削除条件は、アクセスの頻度や、アクセスの態様が、異常であることである。どのような頻度でアクセスがあった場合に異常と判定するか、及び、どのような態様でアクセスがあった場合に異常と判定するかは事前に設定される。
また例えば、アクセスコード削除条件は、POS端末10により異常な会計処理が行われたことである。異常な会計情報処理とは、例えば、想定される額を上回る決済が、複数に行われたこと等である。この場合、制御サーバー15は、後述する会計情報データに基づいて、POS端末10ごとに異常な会計処理が行われたか否かを判別する機能を有する。
1のPOS端末10について、アクセスコード削除条件が成立した場合、サーバー側サーバーソフト実行部401は、認証データベースにおいて、当該1のPOS端末10のシリアル番号と対応付けられたサーバー側認証用アクセスコードを削除する。
このように、1のPOS端末10から不正である可能性があるアクセスがあった場合、サーバー側サーバーソフト実行部401は、認証データベースから当該1のPOS端末10に対応するサーバー側認証用アクセスコードを削除する。この構成のため、以後、不正なアクセスを行った可能性のあるPOS端末10について、アクセスコードを利用して制御サーバー15にアクセスし、制御サーバー15の機能を利用することを防止できる。
ところで、上述したように、POS端末10は、レジカウンターLで行われる会計に応じて会計処理を実行し、会計処理に基づいてレコードを発行する。レコードの発行に係る処理は、より詳細には、以下のようにして実行される。すなわち、クライアント機能部501は、後述する通信監視切替処理により、通信先を制御サーバー15と、サーバー機能部502とのいずれかに切り替える。そして、クライアント機能部501は、通信先が制御サーバー15の場合は、制御サーバー15と通信し、制御サーバー15と会計に係る処理を実行し、レコードを発行する。また、クライアント機能部501は、通信先がサーバー機能部502の場合は、サーバー機能部502と通信し、サーバー機能部502と会計に係る処理を実行し、レコードを発行する。
以下、通信監視切替処理について説明し、次いで、通信先が制御サーバー15の場合とサーバー機能部502との場合に分けて、POS端末10の処理について説明する。
図8は、通信監視切替処理を実行するときのPOS端末10の動作を示すフローチャートである。
なお、図8の動作の開始時点では、クライアント機能部501の通信先は、制御サーバー15である。
ここで、クライアント機能部501は、POS端末10のブラウザーが起動し、サーバー側HTMLファイル412の取得後、以下の処理を継続して実行する。
すなわち、クライアント機能部501は、制御サーバー15に対して、所定の間隔をあけて、応答要求に係るデータの送信を行う。制御サーバー15は、当該応答要求に係るデータを受け付けた場合、応答に係るデータを送信する機能を有する。クライアント機能部501は、応答要求に係るデータを送信後、応答に係るデータを受信するまでの経過時間に基づいて、制御サーバー15の通信応答速度を計測する。以上のようにして、クライアント機能部501は、間隔をあけて実行する応答要求に係るデータの送信に応じて制御サーバー15の通信応答速度を計測し、これにより、制御サーバー15の通信応答速度を監視する。なお、通信応答速度を計測する方法(通信応答速度を監視する方法)は、例示した方法に限らず、どのような方法でもよい。
図8に示すように、クライアント機能部501は、制御サーバー15の通信応答速度が、閾値TH1(所定の速度)よりも遅いか否かを監視する(ステップSG1)。閾値TH1の値は、POS端末10と、制御サーバー15との通信が許容範囲を超えて遅延した状態の場合に、制御サーバー15の通信応答速度が当該閾値TH1を下回るような値とされる。閾値TH1の値は、事前のテストやシミュレーション等に基づいて決定される。
制御サーバー15の通信応答速度が、閾値TH1よりも遅い場合、クライアント機能部501は、制御サーバー15との間で正常に通信できないと判別する。すなわち、本実施形態において、POS端末10と制御サーバー15とが正常に通信できない状態とは、制御サーバー15の通信応答速度が閾値TH1よりも遅い状態を意味する。
ステップSG1において、制御サーバー15の通信応答速度が、閾値TH1よりも遅くなったと判別した場合(ステップSG1:YES)、クライアント機能部501は、サーバー機能部502の通信応答速度の監視を開始する(ステップSG2)。
ここで、サーバー機能部502の通信応答速度の監視に際して、クライアント機能部501は、サーバー機能部502に対して、所定の間隔をあけて、応答要求に係るデータの出力を行う。サーバー機能部502は、当該応答要求に係るデータを受け付けた場合、応答に係るデータを出力する機能を有する。クライアント機能部501は、応答要求に係るデータを出力後、応答に係るデータが入力されるまでの経過時間に基づいて、サーバー機能部502の通信応答速度を計測する。以上のようにして、クライアント機能部501は、所定の間隔をあけて実行する応答要求に係るデータの出力に応じてサーバー機能部502の通信応答速度を計測し、これにより、サーバー機能部502の通信応答速度を監視する。なお、通信応答速度を計測する方法(通信応答速度を監視する方法)は、例示した方法に限らず、どのような方法でもよい。
このように、本実施形態では、制御サーバー15の通信応答速度が閾値TH1よりも速い場合は、サーバー機能部502の通信応答速度の監視を行わず、制御サーバー15の通信応答速度が閾値TH1よりも遅くなってからサーバー機能部502の通信応答速度の監視を開始する。ここで、制御サーバー15の通信応答速度が閾値TH1よりも速い場合は、通信先の切り替えが行われず、通信先が制御サーバー15の状態が維持されるので、サーバー機能部502の通信応答速度を監視する必要がない。従って、制御サーバー15の通信応答速度が閾値TH1よりも遅くなってからサーバー機能部502の通信応答速度の監視を開始することにより、不必要にサーバー機能部502の通信応答速度の監視に係る処理が行われることを防止でき、処理負荷の軽減、処理効率の向上を図ることができる。
サーバー機能部502の通信応答速度の監視の開始後、クライアント機能部501は、サーバー機能部502は、サーバー機能部502の通信応答速度が閾値TH2よりも遅いか否かを判別する(ステップSG3)。閾値TH2の値は、クライアント機能部501とサーバー機能部502との通信が許容範囲を超えて遅延した状態の場合に、クライアント機能部501の通信応答速度が当該閾値TH2を下回るような値とされる。閾値TH2の値は、事前のテストやシミュレーション等に基づいて決定される。
ここで、サーバー機能部502の通信応答速度の許容範囲を超えた遅延(サーバー機能部502の通信応答速度が閾値TH2よりも遅くなる状態)は、例えば、POS端末10のCPUに過負荷が生じている場合や、サーバー機能部502が実行中の処理が多数の場合等に生じ得る。ただし、POS端末10のCPUは、制御サーバー15と正常に通信できない場合にクライアント機能部501の通信先がサーバー機能部502に切り替わる可能性があることを想定したスペックのものが採用された状態のため、サーバー機能部502の通信応答速度の遅延が発生する可能性は、制御サーバー15との間での通信に遅延が発生する可能性と比較して非常に小さい。すなわち、制御サーバー15との通信、及び、サーバー機能部502との通信の双方に許容範囲を超えた遅延が発生する可能性は非常に小さい。
ステップSG3において、サーバー機能部502の通信応答速度が、閾値TH2よりも小さくない場合(ステップSG3:NO)、クライアント機能部501は、通信先を、制御サーバー15から、サーバー機能部502へと切り替える(ステップSG4)。
ステップSG4における通信先の切り替えに際し、クライアント機能部501、及び、サーバー機能部502は、以下の処理を実行する。
すなわち、クライアント機能部501は、当該クライアント機能部501が参照可能な所定の記憶領域に記憶されたアクセスコードを取得し、取得したアクセスコードを、サーバー機能部502に出力する。
クライアント機能部501からアクセスコードが入力されると、サーバー機能部502は、当該サーバー機能部502が参照可能な所定の記憶領域に制御装置側認証用アクセスコードが記憶された状態か否かを判別する。
制御装置側認証用アクセスコードが記憶された状態にない場合は、POS端末10が、制御サーバー15による認証が完了した状態にない端末ということである。これを踏まえ、制御装置側認証用アクセスコードが記憶された状態ではない場合、サーバー機能部502は、クライアント機能部501に対してサーバー機能部502の機能の使用を許可せず、クライアント機能部501と共に処理を実行しない。
制御装置側認証用アクセスコードが記憶された状態の場合、サーバー機能部502は、クライアント機能部501から入力されたアクセスコードの値と、制御装置側認証用アクセスコードの値とが一致するか否かを判別する。これら値が一致しない場合は、POS端末10が、制御サーバー15による認証が完了した状態にない端末ということである。これを踏まえ、制御装置側認証用アクセスコードが記憶されていても、クライアント機能部501から入力されたアクセスコードの値と、制御装置側認証用アクセスコードの値とが一致しない場合、サーバー機能部502は、クライアント機能部501に対してサーバー機能部502の機能の使用を許可せず、クライアント機能部501と共に処理を実行しない。
クライアント機能部501から入力されたアクセスコードの値と、制御装置側認証用アクセスコードの値とが一致する場合、サーバー機能部502は、クライアント機能部501に対してサーバー機能部502の機能の使用を許可し、以後、クライアント機能部501をクライアントとするサーバーとして機能し、クライアント機能部501からの要求に応じて各種処理を実行する。
このように、本実施形態では、制御サーバー15からの通信の切り替えに際し、クライアント機能部501は、アクセスコードを利用して、サーバー機能部502にアクセスし、サーバー機能部502の機能を利用できる状態とする。
このため、認証が完了した状態にないPOS端末10について、クライアント機能部501によりサーバー機能部502の機能が利用されて処理が実行されることが防止され、セキュリティーが保たれる。さらに、通信先の切り替えに際し、ユーザーは、シリアル番号やパスワードを入力する必要がなく、ユーザーの利便性がよい。
なお、後述するステップSA12においても、通信先の切り替えに関し、ステップSA4と同様の処理が行われる。
次いで、クライアント機能部501は、制御サーバー15の通信応答速度が、上述した閾値TH1よりも速くなったか否かを監視する(ステップSG5)。なお、ステップSO5で、制御サーバー15と比較する閾値は、閾値TH1でなくてもよく、閾値TH1の値に所定のマージンを反映した値の閾値でもよい。
制御サーバー15の通信応答速度が、閾値TH1よりも速くなった場合(ステップSG5:YES)、クライアント機能部501は、サーバー機能部502の通信応答速度の監視を停止し、クライアント機能部501の通信先を、制御サーバー15へと切り替え(ステップSG6)、処理手順をステップSG1へ戻す。
一方、ステップSG3において、サーバー機能部502の通信応答速度が閾値TH2よりも遅いと判別した場合(ステップSG3:YES)、クライアント機能部501は、対応する処理を実行し(ステップSG7)、通信先の切り替えを行わない(ステップSG8)。ステップSG7で、クライアント機能部501は、例えば、制御サーバー15、及び、サーバー機能部502のいずれとも正常に通信することができないため、会計に係る処理、その他付随する処理の実行ができない旨の情報をタッチパネルTPに表示する。この場合、レジ担当者を含むユーザーは、タッチパネルTPに表示された情報を参照することにより、POS端末10を用いた会計が行えないこと、及び、その原因を認識でき、当該認識に基づいて原因の解消等の対応する処理を実行できる。
このように、制御サーバー15の通信応答速度が閾値TH1よりも遅い場合でも、サーバー機能部502の通信応答速度が閾値TH2よりも遅い場合は、クライアント機能部501は、通信先の切り替えを行わない。これにより、不必要に通信先の切り替えが行われることを防止できる。
次いで、クライアント機能部501は、サーバー機能部502の通信応答速度が閾値TH2(閾値TH2の値にマージンを反映した値の閾値でもよい。)よりも速くなった否かを監視し(ステップSG9)、サーバー機能部502の通信応答速度が閾値TH2よりも遅い場合(ステップSG9:NO)、制御サーバー15の通信応答速度が閾値TH1(閾値TH1の値にマージンを反映した値の閾値でもよい。)よりも速くなったか否かを監視する(ステップSG10)。
制御サーバー15の通信応答速度が閾値TH1よりも速くなった場合(ステップSG10:YES)、クライアント機能部501は、サーバー機能部502の通信応答速度の監視を停止し(ステップSG11)、処理手順をステップSG1へ戻す。
制御サーバー15の通信応答速度が閾値TH1よりも速くなる前に、サーバー機能部502の通信応答速度が閾値TH2よりも速くなった場合(ステップSG9:YES)、クライアント機能部501は、通信先を、制御サーバー15から、サーバー機能部502へと切り替える(ステップSG12)。
次いで、クライアント機能部501は、制御サーバー15の通信応答速度が、上述した閾値TH1(閾値TH1の値にマージンを反映した値の閾値でもよい。)よりも速くなったか否かを監視する(ステップSG13)。
制御サーバー15の通信応答速度が、閾値TH1よりも速くなった場合(ステップSG13:YES)、クライアント機能部501は、サーバー機能部502の通信応答速度の監視を停止し、クライアント機能部501の通信先を制御サーバー15へと切り替え(ステップSG14)、処理手順をステップSG1へ戻す。
ここで、後述するように、通信先がサーバー機能部502へと切り替わった場合、クライアント機能部501は、制御サーバー15のサーバー側アプリケーション実行部4011に代えて、サーバー機能部502の制御装置側アプリケーション実行部5021と通信し、制御装置側アプリケーション実行部5021と共に、会計に係る処理、その他付随する処理を実行する。そして、サーバー側アプリケーション実行部4011の機能を実現するサーバー側ウェブアプリケーション413と、制御装置側アプリケーション実行部5021の機能を実現する制御装置側ウェブアプリケーション522とは、同一の機能を有するアプリケーションであり、所定の手段によって同期が取られる。また、サーバー側アプリケーション実行部4011が処理を実行するときに使用するサーバー側商品マスター411と、サーバー機能部502の制御装置側アプリケーション実行部5021が処理を実行するときに使用する制御装置側商品マスター521とは、同一の内容のデータであり、後述する所定の手段によって同期が取られる。このため、クライアント機能部501がサーバー側アプリケーション実行部4011と共に実行した1の処理の処理結果と、制御装置側アプリケーション実行部5021と共に実行した1の処理の処理結果とは、基本的に同一となり、通信先の変更に伴って、処理結果が相違することはない。
以上のように、クライアント機能部501は、制御サーバー15の通信応答速度を監視し、通信応答速度が所定の速度よりも遅い場合、制御サーバー15との間で正常に通信できないと判別し、所定の場合を除き、通信先を制御サーバー15から、サーバー機能部502へと切り替える。
これにより、クライアント機能部501は、制御サーバー15と通信が正常にできない場合でも、通信先をサーバー機能部502に切り替えて、処理(会計に係る処理を含む。)を継続して実行可能である。従って、業務が停止することがない。ここで、例えば、ローカルネットワークLNに、制御サーバー15を代替するサーバー(以下、「代替サーバー」という。)を接続し、クライアント機能部501が、制御サーバー15と正常に通信できない場合に、ローカルネットワークLNを介して代替サーバーにアクセスする構成とすることも可能である。しかしながら、この場合、ローカルネットワークLNの輻輳、その他の原因により、代替サーバーとの間での通信が正常に行えない場合が生じ得る。一方で、本実施形態では、クライアント機能部501の通信先の切り替え先が、ネットワークを介して接続された代替サーバーではなく、同一の装置が有し、プログラム間通信で通信可能なサーバー機能部502であるため、上述した事態が発生することがなく、制御サーバー15と正常に通信ができない場合でも、業務を継続して実行可能な可能性が非常に高い。
なお、本実施形態では、制御サーバー15と正常に通信可能な場合は、クライアント機能部501の通信先が制御サーバー15とされる。すなわち、クライアント機能部501の通信先は、サーバー機能部502に優先して、制御サーバー15とされる。これは、以下の理由による。すなわち、会計システム1では、各POS端末10が、会計に際し、サーバー側ウェブアプリケーション413の機能により、サーバー側商品マスター411等の制御サーバー15が記憶するデータ等を利用して、処理を実行することが求められる。なぜなら、サーバー側商品マスター411の内容に変更があった場合や、サーバー側ウェブアプリケーション413に修正があった場合に、各POS端末10が最新の変更が反映されたマスターを使用して、最新の修正が反映されたプログラムの機能により、同一性を有する処理を実行可能となるからである。なお、上述した同期処理部503により、サーバー側商品マスター411と制御装置側商品マスター521との同期、及び、サーバー側ウェブアプリケーション413と制御装置側ウェブアプリケーション522との同期はとられるが、制御装置側データに変更が行われたタイミングと、制御装置側データとサーバー側データとの間で同期がとられるタイミングとには、タイムラグが生じる場合がある。
以上を踏まえ、クライアント機能部501の通信先は、サーバー機能部502に優先して、制御サーバー15とされる。
<POS端末10が制御サーバー15と正常に通信可能な場合の会計時の処理>
次に、POS端末10が制御サーバー15と正常に通信可能な場合に、レジカウンターLで行われる会計時の会計システム1の各装置の動作について説明する。
クライアント機能部501は、上述した通信監視切替処理で、制御サーバー15と正常に通信可能か否かを判別し、可能な場合は、通信先を制御サーバー15とし、図9(A)のフローチャートの処理を実行する。
図9は、会計時の会計システム1の各装置の動作を示すフローチャートである。(A)はPOS端末10の動作を示し、(B)は制御サーバー15の動作を示す。
図9(A)、及び、図9(B)に示すように、POS端末10、及び、制御サーバー15は、会計の開始に応じて、会計処理を実行する(ステップSH1、及び、ステップSI1)。
図10は、会計処理において、POS端末10、及び、制御サーバー15が行う処理の一部を示すフローチャートである。(A)はPOS端末10の動作を示し、(B)は制御サーバー15の動作を示す。
会計処理において、レジ担当者は、バーコードスキャナーBSによって、顧客が購入する商品や商品の包装等に付されたバーコードを読み取る(ステップSX4)。バーコードの読み取りに応じて、バーコードスキャナーBSは、読取結果に基づくデータ(以下、「読取結果データ」という。)を、バーコードスキャナーBSが接続されたポートを介して、POS端末10の制御装置デバイス通信部54に出力する。制御装置デバイス通信部54は、読取結果データを、制御装置制御部50に出力する。
読取結果データは、商品の商品コードを示す情報を含むデータである。
図10(A)に示すように、POS端末10の制御装置制御部50のクライアント機能部501は、制御装置デバイス通信部54からの入力に基づいて、読取結果データを取得する(ステップSJ1)。
次いで、クライアント機能部501は、読取結果データに基づいて、商品コードを取得する(ステップSJ2)。
次いで、クライアント機能部501は、会計用ユーザーインターフェース60のバーコード情報表示エリア63にステップSJ2で取得した商品コードを表示する(ステップSJ3)。
次いで、クライアント機能部501は、制御装置通信部53を制御して、ステップSJ2で取得した商品コードの商品名、及び、商品の単価を問い合わせるデータ(以下、「商品情報要求データ」という。)を、制御サーバー15に送信する(ステップSJ4)。
なお、クライアント機能部501は、制御サーバー15のアドレスや、対応するプロトコル等、制御サーバー15と通信するために必要な情報を管理しており、管理する情報に基づいて制御サーバー15とコネクションを確立し、確立したコネクションでデータの送受信を行う。
図10(B)に示すように、制御サーバー15のサーバー制御部40のサーバー側アプリケーション実行部4011は、サーバー通信部42を制御して、商品情報要求データを受信する(ステップSK1)。
次いで、サーバー側アプリケーション実行部4011は、受信した商品情報要求データに基づいて、商品コードを取得し、サーバー記憶部41が記憶するサーバー側商品マスター411を参照し、取得した商品コードの商品の商品名、及び、商品の単価を取得する(ステップSK2)。
次いで、サーバー側アプリケーション実行部4011は、サーバー通信部42を制御して、ステップSK2で取得した商品の商品名、及び、商品の単価を示す商品情報応答データをPOS端末10に送信する(ステップSK3)。
図10(A)に示すように、POS端末10の制御装置制御部50のクライアント機能部501は、制御装置通信部53を制御して、商品情報応答データを受信する(ステップSJ5)。
次いで、クライアント機能部501は、受信した商品情報応答データに基づいて、商品の商品名、及び、商品の単価を取得し、会計用ユーザーインターフェース60の一覧表示エリア61の対応する領域に、商品の商品名、商品の単価、及び、商品の数量の組み合わせを表示する(ステップSJ6)。
以上のように、会計の際は、顧客が購入する商品のそれぞれについて、レジ担当者により、バーコードスキャナーBSによるバーコードの読み取りが行われ、バーコードの読み取りに応じて、POS端末10、及び、制御サーバー15により図10のフローチャートで示す処理が実行される。
全ての商品のバーコードの読み取り、及び、読み取りに応じた各装置の処理が完了すると、一覧表示エリア61に、顧客が購入する商品の商品名、単価、及び、数量の組み合わせが一覧表示された状態となる。
全ての商品のバーコードの読み取りが完了すると、レジ担当者は、ソフトウェアテンキー64を操作して合計金額の確定を行い、また、顧客からの貨幣の受け取り、顧客への釣銭の受け渡し等を行う。POS端末10の制御装置制御部50のクライアント機能部501は、適宜、会計用ユーザーインターフェース60の金額表示エリア62に、顧客が購入した商品の合計金額、会計に際して顧客から預かった貨幣の金額、及び、顧客に渡す釣銭の金額を表示する。また、クライアント機能部501は、適宜、カスタマーディスプレーCDを制御して、カスタマーディスプレーCDに会計に関する情報を表示する。また、クライアント機能部501は、適宜、キャッシュドロアーKSを制御して、キャッシュドロアーKSのトレイを開く。
顧客への釣銭の引き渡しが完了すると、レジ担当者は、会計用ユーザーインターフェース60のソフトウェアテンキー64の確定キー641を操作する。レジ担当者による確定キー641の操作により、会計処理が終了する。
図9(A)に示すように、会計処理が終了すると、POS端末10の制御装置制御部50のクライアント機能部501は、会計情報を取得する(ステップSH2)。
会計情報は、会計ごとに一意に付与される識別情報(以下、「会計識別情報」という。)と、顧客が購入した商品のそれぞれの商品コード、商品名、単価、数量の組み合わせを示す情報(以下、「購入商品情報」という。)と、合計購入金額、顧客から受け取った貨幣の金額、顧客に引き渡した釣銭の金額を示す情報(以下、「会計金額情報」という。)と、会計が行われた時刻を示す情報(以下、「会計時刻情報」という。)と、会計が行われた店舗の識別情報である店舗IDと、を含む情報である。
なお、会計中、クライアント機能部501は、購入商品情報に含まれる情報、及び、会計金額情報に含まれる情報を、所定の記憶領域に記憶する。ステップSI2において、クライアント機能部501は、当該所定の記憶領域に記憶した情報に基づいて、購入商品情報、及び、会計金額情報を取得する。
また、会計時刻情報が示す会計が行われた時刻は、確定キー641が操作された時刻である。会計時刻情報が示す会計が行われた時刻は、確定キー641が操作された時刻に限らず、会計に際して1つ目の商品のバーコードが読み取られた時刻等、会計に由来する時刻であればよい。
また、クライアント機能部501は、会計に応じて、会計識別情報を生成する機能を有し、当該機能に基づいて、会計識別情報を生成する。会計識別情報の値は、各店舗で行われる会計のそれぞれについて、一意な値とされる。
会計情報の取得後、クライアント機能部501は、制御装置通信部53を制御して、取得した会計情報を示す会計情報データを制御サーバー15に送信する(ステップSG3)。
図9(B)に示すように、制御サーバー15のサーバー制御部40のサーバー側アプリケーション実行部4011は、サーバー通信部42を制御して、会計情報データを受信する(ステップSI2)。
次いで、サーバー側アプリケーション実行部4011は、受信した会計情報データが示す会計情報に基づいて、所定のレイアウトのレシートの発行を指示する記録データを生成する(ステップSI3)。
記録データは、所定のレイアウトに従って、いわゆるトップロゴや、ボトムロゴ、会計識別情報、会計が行われた時刻、顧客が購入した商品の商品名、単価、数量、合計購入金額、顧客から受け取った貨幣の金額、顧客に引き渡した釣銭の金額等が記録されたレシートの発行を指示する制御データである。記録データは、XMLのフォーマットに従って情報が記述されたXMLドキュメントである。
次いで、サーバー側アプリケーション実行部4011は、サーバー通信部42を制御して、生成した記録データを、POS端末10に送信する(ステップSI4)。
図9(A)に示すように、POS端末10の制御装置制御部50のクライアント機能部501は、制御装置通信部53を制御して記録データを受信する(ステップSH4)。
次いで、クライアント機能部501は、XMLドキュメントの記録データに基づいて、制御装置記録部51が対応するコマンド体系の記録コマンドを生成する(ステップSH5)。
次いで、クライアント機能部501は、生成した記録コマンドに基づいて、制御装置記録部51を制御して、レシートを発行させる(ステップSH6)。
ステップSG4で発行されたレシートは、レジ担当者により、顧客に引き渡される。
一方、図9(B)に示すように、ステップSI2で会計情報データを受信した後、制御サーバー15のサーバー制御部40のサーバー側アプリケーション実行部4011は、サーバー記憶部41が記憶する会計情報管理データベース414にアクセスする(ステップSI5)。
会計情報管理データベース414の1件のレコードは、購入商品情報と、会計金額情報と、会計時刻情報と、店舗IDと、を関連付けて記憶する。
次いで、ステップSI2で受信した会計情報データに基づいて、会計情報管理データベース414に、会計識別情報と、購入商品情報と、会計金額情報と、会計時刻情報と、店舗IDとを関連付けた1件のレコードを生成する(ステップSI6)。
このように、制御サーバー15は、会計に応じた会計情報を累積的に記憶する。これにより、店舗ごとの売上や、店舗における商品ごとの売り上げを管理できる。
<POS端末10が制御サーバー15と通信が正常にできない場合の会計時の処理>
次に、POS端末10が制御サーバー15と通信が正常にできない場合に、レジカウンターLで行われる会計時のPOS端末10の動作について説明する。
クライアント機能部501は、上述した通信監視切替処理により、制御サーバー15と正常に通信可能か否かを判別し、正常に通信できない場合、通信先をサーバー機能部502として、図11(A)のフローチャートで示す処理を実行する。
図11は、制御サーバー15と通信不可能な場合のPOS端末10の動作を示すフローチャートであり、(A)はクライアント機能部501の動作を示し、(B)はサーバー機能部502(制御装置側アプリケーション実行部5021を含む。)の動作を示す。
ここで、図11に示すフローチャートの開始時点では、POS端末10のクライアント機能部501によるサーバー側HTMLファイル412の取得、及び、取得は完了した状態である。すなわち、図11のフローチャートの処理は、クライアント機能部501によるサーバー側HTMLファイル412の取得が完了した後、所定の原因により、POS端末10と制御サーバー15と間での通信が正常に行えない場合を想定する。なお、サーバー側HTMLファイル412と所定の手段により同期が取られたHTMLファイルをPOS端末10に記憶する構成とし、クライアント機能部501が、制御サーバー15との通信が正常にできないことに起因して制御サーバー15からサーバー側HTMLファイル412が取得できない場合は、記憶したHTMLファイルを取得し、取得する構成でもよい。
図11(A)、及び、図11(B)に示すように、クライアント機能部501、及び、サーバー機能部502の制御装置側アプリケーション実行部5021は、会計の開始に応じて、会計処理を実行する(ステップSL1、及び、ステップSM1)。
図12は、会計処理において、クライアント機能部501、及び、制御装置側アプリケーション実行部5021が行う処理の一部を示すフローチャートである。(A)はクライアント機能部501の動作を示し、(B)はサーバー機能部502の制御装置側アプリケーション実行部5021の動作を示す。
会計処理において、レジ担当者は、バーコードスキャナーBSによって、顧客が購入する商品や商品の包装等に付されたバーコードを読み取る(ステップSX5)。バーコードの読み取りに応じて、バーコードスキャナーBSは、読取結果データを、バーコードスキャナーBSが接続されたポートを介して、POS端末10の制御装置デバイス通信部54に出力する。制御装置デバイス通信部54は、読取結果データを、制御装置制御部50に出力する。上述したように、読取結果データは、商品の商品コードを示す情報を含むデータである。
図12(A)に示すように、POS端末10の制御装置制御部50のクライアント機能部501は、制御装置デバイス通信部54からの入力に基づいて、読取結果データを取得する(ステップSN1)。
次いで、クライアント機能部501は、読取結果データに基づいて、商品コードを取得する(ステップSN2)。
次いで、クライアント機能部501は、会計用ユーザーインターフェース60のバーコード情報表示エリア63にステップSN2で取得した商品コードを表示する(ステップSN3)。
次いで、クライアント機能部501は、制御装置通信部53を制御して、ステップSN2で取得した商品コードの商品名、及び、商品の単価を問い合わせる商品情報要求データを、制御装置側アプリケーション実行部5021に出力する(ステップSN4)。
図12(B)に示すように、制御装置側アプリケーション実行部5021は、クライアント機能部501から入力された商品情報要求データを取得する(ステップSO1)。
次いで、制御装置側アプリケーション実行部5021は、取得した商品情報要求データに基づいて商品コードを取得し、制御装置記憶部52が記憶する制御装置側商品マスター521を参照し、取得した商品コードの商品の商品名、及び、商品の単価を取得する(ステップSO2)。
上述したように、同期処理部503の機能により、制御装置側商品マスター521と、サーバー側商品マスター411との間では同期が取られた状態にある。
次いで、制御装置側アプリケーション実行部5021は、ステップSO2で取得した商品の商品名、及び、商品の単価を示す商品情報応答データをクライアント機能部501に出力する(ステップSO3)。
図12(A)に示すように、クライアント機能部501は、制御装置側アプリケーション実行部5021から入力された商品情報応答データを取得する(ステップSN5)。
次いで、クライアント機能部501は、受信した商品情報応答データに基づいて、商品の商品名、及び、商品の単価を取得し、会計用ユーザーインターフェース60の一覧表示エリア61の対応する領域に、商品の商品名、商品の単価、及び、商品の数量の組み合わせを表示する(ステップSN6)。
図11(A)に示すように、会計処理が終了すると、クライアント機能部501は、上述した会計情報を取得する(ステップSL2)。
次いで、クライアント機能部501は、ステップSN2で取得した会計情報を示す会計情報データを、制御装置記憶部52が記憶する会計情報一時記憶データベース524に記憶(登録)する(ステップSL3)。
会計情報一時記憶データベース524は、制御サーバー15とPOS端末10との間で通信が不可能な状態の間に、POS端末10が行った会計処理に基づく会計情報データを、累積的に、一時記憶するデータベースである。
後に詳述するが、クライアント機能部501は、制御サーバー15との通信が可能となった後、会計情報一時記憶データベース524に累積的に記憶された会計情報データを、制御サーバー15に送信する。クライアント機能部501は、制御サーバー15に会計情報データを送信した後、送信した会計情報データを会計情報一時記憶データベース524から削除する。
ステップSN3で会計情報を記憶した後、クライアント機能部501は、会計情報データを、制御装置側アプリケーション実行部5021に出力する(ステップSL4)。
図11(B)に示すように、制御装置側アプリケーション実行部5021は、クライアント機能部501から入力された会計情報データを取得する(ステップSM2)。
次いで、制御装置側アプリケーション実行部5021は、ステップSM2で取得した会計情報データが示す会計情報に基づいて、レシートの発行を指示する記録データを生成する(ステップSM3)。上述したように記録データは、XMLのフォーマットに従って情報が記述されたXMLドキュメントである。
次いで、制御装置側アプリケーション実行部5021は、生成した記録データを、クライアント機能部501に出力する(ステップSM4)。
図11(A)に示すように、クライアント機能部501は、制御装置側アプリケーション実行部5021から入力された記録データを取得する(ステップSL5)。
次いで、クライアント機能部501は、XMLドキュメントの記録データに基づいて、制御装置記録部51が対応するコマンド体系の記録コマンドを生成する(ステップSL6)。
次いで、クライアント機能部501は、生成した記録コマンドに基づいて、制御装置記録部51を制御して、レシートを発行させる(ステップSL7)。
ステップSL7で発行されたレシートは、レジ担当者により、顧客に引き渡される。
以上のように、POS端末10は、制御サーバー15と通信が正常にできない場合、制御サーバー15のサーバー側商品マスター411ではなく、自身が記憶する制御装置側商品マスター521を使用して会計に係る処理を実行する。これにより、POS端末10と制御サーバー15との間で通信が正常にできない状態が発生しても、POS端末10は会計処理を実行でき、ユーザーは、店舗における業務を継続して行える。
次に、POS端末10と制御サーバー15との間での通信が正常にできない状態から、通信が正常にできる状態へと移行した後のPOS端末10、及び、制御サーバー15の動作について説明する。
図13は、POS端末10と制御サーバー15との間での通信が不可能な状態から、通信が可能な状態へと移行した後のPOS端末10、及び、制御サーバー15の動作を示すフローチャートである。図13(A)はPOS端末10の動作を示し、(B)は制御サーバー15の動作を示す。なお、図13(A)のフローチャートの開始時点では、POS端末10と制御サーバー15との間での通信が不可能な状態である。
図13(A)に示すように、POS端末10のクライアント機能部501は、制御サーバー15と通信不可能な状態の間、所定の手段により、制御サーバー15と通信可能な状態となったか否かを監視する(ステップSP1)。
制御サーバー15と通信可能な状態となった場合(ステップSP1:YES)、クライアント機能部501は、会計情報一時記憶データベース524を参照する(ステップSP2)。
次いで、クライアント機能部501は、会計情報一時記憶データベース524に、1以上の会計情報データが記憶(登録)された状態か否かを判別する(ステップSP3)。
会計情報一時記憶データベース524に1以上の会計情報データが記憶された場合、制御サーバー15との通信が不可能な状態の間に、POS端末10が設置されたレジカウンターLにおいて会計が行われ、POS端末10が会計処理を行ったということである。一方、会計情報一時記憶データベース524に1つも会計情報データが記憶されてた状態にない場合、制御サーバー15との通信が不可能な状態の間に、POS端末10が設置されたレジカウンターLにおいて会計が行われなかったということである。
会計情報一時記憶データベース524に1つも会計情報データが記憶された状態にない場合(ステップSP3:NO)、クライアント機能部501は、処理を終了する。
会計情報一時記憶データベース524に1以上の会計情報データが記憶された状態の場合(ステップSP3:YES)、クライアント機能部501は、当該データベースが記憶する会計情報データの全てを取得する(ステップSP4)。
次いで、クライアント機能部501は、制御装置通信部53を制御して、取得した全ての会計情報データを、制御サーバー15に送信する(ステップSP5)。
図13(B)に示すように、制御サーバー15のサーバー制御部40のサーバー側アプリケーション実行部4011は、サーバー通信部42を制御して、会計情報データ(会計情報データが複数ある場合は、複数の会計情報データのそれぞれ)を受信する(ステップSQ1)。
次いで、サーバー側アプリケーション実行部4011は、サーバー記憶部41が記憶する会計情報管理データベース414にアクセスする(ステップSQ2)。
次いで、サーバー側アプリケーション実行部4011は、ステップSQ2で受信した会計情報データに基づいて、会計情報管理データベース414に、ステップSQ1で受信した会計情報データのそれぞれに基づいて、会計識別情報と、購入商品情報と、会計金額情報と、会計時刻情報と、店舗IDとを関連付けたレコード(複数の会計情報データがある場合は、複数の会計情報データのそれぞれに対応する複数のレコード)を生成する(ステップSQ3)。
以上のように、POS端末10と、制御サーバー15との間で通信が正常にできない間に行われた会計に基づく会計情報データは、POS端末10に累積的に記憶され、制御サーバー15との通信が正常にできる状態となった後に、制御サーバー15に送信される。そして、制御サーバー15は、受信した会計情報データに基づいて、会計情報管理データベース414を更新する。このため、POS端末10と、制御サーバー15との間で通信が不可能な状態が発生した場合でも、制御サーバー15の会計情報管理データベース414に、行われた会計に基づく会計情報データに対応するレコードが過不足なく生成される。
以上説明したように、本実施形態に係る会計システム1(ネットワークシステム)は、グローバルネットワークGNに接続し、サーバー機能を有する制御サーバー15と、制御サーバー15とグローバルネットワークGNを介して通信可能なPOS端末10と、を備える。制御サーバー15は、POS端末10からの認証の要求に応じて、POS端末10から受信した認証情報(シリアル番号とパスワードとの組み合わせ)に基づいてPOS端末10の認証を行い、認証に成功した場合、アクセスコードを生成してPOS端末10に送信し、アクセスコードをサーバー側認証用アクセスコードとして記憶する。POS端末10は、サーバー機能を有するサーバー機能部502と、制御サーバー15と通信して、制御サーバー15が生成したアクセスコードを取得し、取得したアクセスコードを、制御装置側認証用アクセスコードとしてサーバー機能部502が参照可能な記憶領域に記憶し、また、制御サーバー15と通信して、サーバー側認証用アクセスコードと制御装置側認証用アクセスコードとの同期を取る同期処理部503と、制御サーバー15に認証情報を送信して認証を要求し、認証の成功に応じて制御サーバー15が生成したアクセスコードを取得して記憶し、制御サーバー15と正常に通信できる場合は、記憶したアクセスコードに基づいて制御サーバー15のクライアントとして制御サーバー15と通信し、制御サーバー15と処理を実行し、制御サーバー15と正常に通信できない場合は、記憶したアクセスコードに基づいてサーバー機能部502のクライアントとしてサーバー機能部502と通信し、サーバー機能部502と処理を実行するクライアント機能部501と、を備える。
この構成によれば、制御サーバー15による認証が成功した後、POS端末10のクライアント機能部501は、制御サーバー15が認証に成功した場合に生成するアクセスコードに基づいて、制御サーバー15と正常に通信可能な場合は制御サーバー15にアクセスして制御サーバー15と処理を実行し、制御サーバー15と正常に通信ができない場合はサーバー機能部502にアクセスしてサーバー機能部502と処理を実行することによって、処理を継続することができる。すなわち、上記構成によれば、制御サーバー15と、制御サーバー15とグローバルネットワークGNを介して接続されたPOS端末10とを備えるシステムについて、POS端末10が制御サーバー15と正常に通信できない場合に対応できる。
また、本実施形態では、制御サーバー15は、POS端末10から不正なアクセスがあった場合、又は、POS端末10が不正な処理を実行した場合、記憶したサーバー側認証用アクセスコードを削除する。
この構成によれば、不正なアクセスを行ったPOS端末10や、不正な処理を実行したPOS端末10が、制御サーバー15の機能を利用して処理を実行することを防止することができ、セキュリティーを向上することができる。
また、本実施形態では、制御サーバー15は、所定の時間帯にPOS端末10らアクセスコードに基づくアクセスがあった場合は、アクセスコードに基づいてPOS端末の認証が完了したか否かを判別し、当該所定の時間帯以外の時間帯にPOS端末10からアクセスコードに基づくアクセスがあった場合は、POS端末10に認証情報(シリアル番号とパスワードとの組み合わせ等)の送信を要求する。
この構成によれば、不正なアクセスを行った可能性のあるPOS端末10が、制御サーバー15の機能を利用して処理を実行することを防止することができる。
また、本実施形態では、POS端末10は、ロール紙(記録媒体)に記録する記録機能を有する。POS端末10のクライアント機能部501は、制御サーバー15又はサーバー機能部502と通信して会計に係る処理を実行し、レシートを発行する。
この構成によれば、会計処理を行ってレシートを発行するPOS端末10と、POS端末10とグローバルネットワークGNを介して接続された制御サーバー15とを備えるシステムについて、POS端末10が制御サーバー15と正常に通信できない場合に対応できる。
なお、上述した実施の形態は、あくまでも本発明の一態様を示すものであり、本発明の範囲内で任意に変形および応用が可能である。
例えば、上述した実施形態では、POS端末10が記録媒体に記録する記録機能を有し、POS端末10が会計処理に基づいてレシートを発行した。しかしながら、POS端末10に記録機能を有する記録装置を接続し、記録装置によりレシートを発行する構成でもよい。
また、上述した実施形態では、「サーバー側データ」、及び、「制御装置側データ」は、例示したものに限らず、同期が取られることが求められるデータであれば何でもよい。
また例えば、上述した実施形態では、会計システム1が、店舗に適用される場合を例示して発明を説明したが、会計システム1が適用される施設は、店舗に限らない。
また例えば、会計システム1を構成する各装置の通信方法はどのような方法でもよい。
また、上述した実施形態では、POS端末10の記録方式は、サーマル式としたが、記録方式は何でもよい。
また例えば、図を用いて説明した各機能ブロックはハードウェアとソフトウェアにより任意に実現可能であり、特定のハードウェア構成を示唆するものではない。
また、機能ブロック図に示した機能ブロックは、各装置の機能的構成を示すもので、具体的な実装形態を制限しない。つまり、図中の機能ブロックに対応するハードウェアが実装される必要はなく、一つのプロセッサーがプログラムを実行することで複数の機能部の機能を実現する構成とすることも勿論可能である。また、上記実施形態においてソフトウェアで実現される機能の一部をハードウェアで実現してもよく、あるいは、ハードウェアで実現される機能の一部をソフトウェアで実現してもよい。
1…会計システム(ネットワークシステム)、10…POS端末(制御装置)、15…制御サーバー、50…制御装置制御部、501…クライアント機能部、502…サーバー機能部、503…同期処理部、53…制御装置通信部、GN…グローバルネットワーク、LN…ローカルネットワーク。

Claims (7)

  1. グローバルネットワークに接続し、サーバー機能を有する制御サーバーと、
    前記制御サーバーと前記グローバルネットワークを介して通信可能な制御装置と、を備え、
    前記制御サーバーは、
    前記制御装置からの認証の要求に応じて、前記制御装置から受信した認証情報に基づいて前記制御装置の認証を行い、認証に成功した場合、アクセスコードを生成して前記制御装置に送信し、前記アクセスコードをサーバー側認証用アクセスコードとして記憶し、
    前記制御装置は、
    サーバー機能を有するサーバー機能部と、
    前記制御サーバーと通信して、前記制御サーバーが生成した前記アクセスコードを取得し、取得した前記アクセスコードを、制御装置側認証用アクセスコードとして前記サーバー機能部が参照可能な記憶領域に記憶し、また、前記制御サーバーと通信して、前記サーバー側認証用アクセスコードと前記制御装置側認証用アクセスコードとの同期を取る同期処理部と、
    前記制御サーバーに前記認証情報を送信して認証を要求し、認証の成功に応じて前記制御サーバーが生成した前記アクセスコードを取得して記憶し、前記制御サーバーと正常に通信できる場合は、記憶した前記アクセスコードに基づいて前記制御サーバーのクライアントとして前記制御サーバーと通信し、前記制御サーバーと処理を実行し、前記制御サーバーと正常に通信できない場合は、記憶した前記アクセスコードに基づいて前記サーバー機能部のクライアントとして前記サーバー機能部と通信し、前記サーバー機能部と処理を実行するクライアント機能部と、
    を備え
    前記サーバー機能部は、前記クライアント機能部が前記アクセスコードに基づいて前記サーバー機能部のクライアントとして前記サーバー機能部にアクセスした場合、前記サーバー機能部が参照可能な記憶領域に前記制御装置側認証用アクセスコードが記憶された状態か否かを判別し、
    前記制御装置側認証用アクセスコードが記憶された状態にない場合は、前記クライアント機能部との処理を実行せず、前記制御装置側認証用アクセスコードが記憶された状態である場合は、前記クライアント機能部がアクセス時に入力した前記アクセスコードと、前記サーバー機能部が参照可能な記憶領域に記憶された前記制御装置側認証用アクセスコードとが一致するか否かを判別し、一致しない場合は前記クライアント機能部との処理を実行せず、一致する場合は前記クライアント機能部との処理を実行することを特徴とするネットワークシステム。
  2. 前記制御サーバーは、
    前記制御装置から不正なアクセスがあった場合、又は、前記制御装置が不正な処理を実行した場合、記憶した前記サーバー側認証用アクセスコードを削除することを特徴とする請求項1に記載のネットワークシステム。
  3. 前記制御サーバーは、
    所定の時間帯に前記制御装置から前記アクセスコードに基づくアクセスがあった場合は、前記アクセスコードに基づいて前記制御装置の認証が完了したか否かを判別し、
    当該所定の時間帯以外の時間帯に前記制御装置から前記アクセスコードに基づくアクセスがあった場合は、前記制御装置に前記認証情報の送信を要求することを特徴とする請求項1又は2に記載のネットワークシステム。
  4. 前記制御装置は、記録媒体に記録する記録機能を有し、
    前記制御装置の前記クライアント機能部は、前記制御サーバー又は前記サーバー機能部と通信して会計に係る処理を実行し、レシートを発行することを特徴とする請求項1乃至3のいずれか1項に記載のネットワークシステム。
  5. 前記制御装置は、記録媒体に記録する記録機能を有する記録装置に接続され、
    前記制御装置の前記クライアント機能部は、前記制御サーバー又は前記サーバー機能部と通信して会計に係る処理を実行し、前記記録装置にレシートを発行させることを特徴とする請求項1乃至3のいずれか1項に記載のネットワークシステム。
  6. グローバルネットワークに接続し、サーバー機能を有する制御サーバーと、
    前記制御サーバーと前記グローバルネットワークを介して通信可能に構成され、クライアント機能部、サーバー機能部、及び同期処理部を有する制御装置と、を備えるネットワークシステムの制御方法であって、
    前記制御装置の前記クライアント機能部は、
    前記制御サーバーに認証情報を送信して認証を要求し、
    前記制御サーバーは、
    前記制御装置からの認証の要求に応じて、前記制御装置から受信した認証情報に基づいて前記制御装置の認証を行い、認証に成功した場合、アクセスコードを生成して前記制御装置に送信し、前記アクセスコードをサーバー側認証用アクセスコードとして記憶し、
    前記制御装置の前記クライアント機能部は、
    認証の成功に応じて前記制御サーバーが生成した前記アクセスコードを取得して記憶し、
    前記制御装置の前記同期処理部は、
    前記制御サーバーと通信して、前記制御サーバーが生成した前記アクセスコードを取得し、取得した前記アクセスコードを、制御装置側認証用アクセスコードとして前記サーバー機能部が参照可能な記憶領域に記憶し、また、前記制御サーバーと通信して、前記サーバー側認証用アクセスコードと前記制御装置側認証用アクセスコードとの同期を取り、
    前記制御装置の前記クライアント機能部は、
    前記制御サーバーと正常に通信できる場合は、記憶した前記アクセスコードに基づいて前記制御サーバーのクライアントとして前記制御サーバーと通信し、前記制御サーバーと処理を実行し、前記制御サーバーと正常に通信できない場合は、記憶した前記アクセスコードに基づいてサーバー機能を有する前記サーバー機能部のクライアントとして前記サーバー機能部と通信し、前記サーバー機能部と処理を実行し、
    前記制御装置の前記サーバー機能部は、前記クライアント機能部が前記アクセスコードに基づいて前記サーバー機能部のクライアントとして前記サーバー機能部にアクセスした場合、前記サーバー機能部が参照可能な記憶領域に前記制御装置側認証用アクセスコードが記憶された状態か否かを判別し、
    前記制御装置側認証用アクセスコードが記憶された状態にない場合は、前記クライアント機能部との処理を実行せず、前記制御装置側認証用アクセスコードが記憶された状態である場合は、前記クライアント機能部がアクセス時に入力した前記アクセスコードと、前記サーバー機能部が参照可能な記憶領域に記憶された前記制御装置側認証用アクセスコードとが一致するか否かを判別し、一致しない場合は前記クライアント機能部との処理を実行せず、一致する場合は前記クライアント機能部との処理を実行する
    ことを特徴とするネットワークシステムの制御方法。
  7. サーバー機能を有するサーバー機能部と、
    グローバルネットワークに接続された制御サーバーに認証情報を送信して認証を要求し、認証の成功に応じて前記制御サーバーが生成したアクセスコードを取得して記憶するクライアント機能部と、
    前記制御サーバーと通信して、前記制御サーバーが生成した前記アクセスコードを取得し、取得した前記アクセスコードを、制御装置側認証用アクセスコードとして前記サーバー機能部が参照可能な記憶領域に記憶し、また、前記制御サーバーと通信して、前記制御サーバーが管理するアクセスコードと前記制御装置側認証用アクセスコードとの同期を取る同期処理部と、を備え、
    前記クライアント機能部は、
    前記制御サーバーと正常に通信できる場合は、記憶した前記アクセスコードに基づいて前記制御サーバーのクライアントとして前記制御サーバーと通信し、前記制御サーバーと処理を実行し、前記制御サーバーと正常に通信できない場合は、記憶した前記アクセスコードに基づいて前記サーバー機能部のクライアントとして前記サーバー機能部と通信し、前記サーバー機能部と処理を実行し、
    前記サーバー機能部は、前記クライアント機能部が前記アクセスコードに基づいて前記サーバー機能部のクライアントとして前記サーバー機能部にアクセスした場合、前記サーバー機能部が参照可能な記憶領域に前記制御装置側認証用アクセスコードが記憶された状態か否かを判別し、
    前記制御装置側認証用アクセスコードが記憶された状態にない場合は、前記クライアント機能部との処理を実行せず、前記制御装置側認証用アクセスコードが記憶された状態である場合は、前記クライアント機能部がアクセス時に入力した前記アクセスコードと、前記サーバー機能部が参照可能な記憶領域に記憶された前記制御装置側認証用アクセスコードとが一致するか否かを判別し、一致しない場合は前記クライアント機能部との処理を実行せず、一致する場合は前記クライアント機能部との処理を実行する
    ことを特徴とする制御装置。
JP2015092867A 2015-04-30 2015-04-30 ネットワークシステム、ネットワークシステムの制御方法、及び、制御装置 Active JP6515663B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2015092867A JP6515663B2 (ja) 2015-04-30 2015-04-30 ネットワークシステム、ネットワークシステムの制御方法、及び、制御装置
US15/135,968 US9923968B2 (en) 2015-04-30 2016-04-22 Network system and control method of a network system, and a control device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015092867A JP6515663B2 (ja) 2015-04-30 2015-04-30 ネットワークシステム、ネットワークシステムの制御方法、及び、制御装置

Publications (3)

Publication Number Publication Date
JP2016212493A JP2016212493A (ja) 2016-12-15
JP2016212493A5 JP2016212493A5 (ja) 2018-04-12
JP6515663B2 true JP6515663B2 (ja) 2019-05-22

Family

ID=57204280

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015092867A Active JP6515663B2 (ja) 2015-04-30 2015-04-30 ネットワークシステム、ネットワークシステムの制御方法、及び、制御装置

Country Status (2)

Country Link
US (1) US9923968B2 (ja)
JP (1) JP6515663B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6507882B2 (ja) * 2015-06-26 2019-05-08 セイコーエプソン株式会社 ネットワークシステム、及び、ネットワークシステムの制御方法
US10796016B2 (en) * 2018-03-28 2020-10-06 Visa International Service Association Untethered resource distribution and management
US11522963B2 (en) * 2019-01-30 2022-12-06 RackN, Inc. Distributed federation of endpoints with proxy synchronization

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3824427B2 (ja) * 1998-09-09 2006-09-20 株式会社Pfu セキュリティ情報配信機能を持つ景品管理システム
JP2001344208A (ja) 2000-03-31 2001-12-14 Active Network Design:Kk グループウエア並びに該グループウエアを記録した記録媒体
JP2002007345A (ja) 2000-06-16 2002-01-11 Osaka Gas Co Ltd ユーザ認証方法
JP2004265055A (ja) * 2003-02-28 2004-09-24 Fujitsu Ltd Posシステム
US9281945B2 (en) * 2003-12-30 2016-03-08 Entrust, Inc. Offline methods for authentication in a client/server authentication system
JP2005250665A (ja) 2004-03-02 2005-09-15 Global Value Kk 顧客登録システム
JP2006079408A (ja) 2004-09-10 2006-03-23 Matsushita Electric Ind Co Ltd オンラインアルバム装置およびオンラインアルバム表示方法
JP5840027B2 (ja) * 2012-02-23 2016-01-06 セイコーソリューションズ株式会社 決済端末装置、決済システムおよび決済方法
US9154304B1 (en) * 2013-03-14 2015-10-06 Emc Corporation Using a token code to control access to data and applications in a mobile platform

Also Published As

Publication number Publication date
US20160323289A1 (en) 2016-11-03
JP2016212493A (ja) 2016-12-15
US9923968B2 (en) 2018-03-20

Similar Documents

Publication Publication Date Title
JP6515663B2 (ja) ネットワークシステム、ネットワークシステムの制御方法、及び、制御装置
WO2018161362A1 (zh) 自助售卖方法及***
JP4876575B2 (ja) シン・クライアント・システム、サーバ装置、及び端末装置
JP2014021726A (ja) 配信装置、画像形成装置、システム、制御方法およびコンピュータプログラム
JP5046872B2 (ja) 画像形成装置、画像形成装置管理システム、画像形成装置管理方法、画像形成装置管理プログラム
JP2017154287A (ja) 画像形成装置、画像形成システム、その制御方法及びプログラム
JP4961535B2 (ja) 画像形成装置、制御方法、プログラム
JP2016212491A (ja) ネットワークシステム、ネットワークシステムの制御方法、及び、制御装置
JP6550900B2 (ja) ネットワークシステム、ネットワークシステムの制御方法、及び、制御装置
JP2016058931A (ja) 無線通信の設定方法、無線通信システム、及び、記録装置
JP6540444B2 (ja) ネットワークシステム、及び、サーバー
JP2017004198A (ja) ネットワークシステム、ネットワークシステムの制御方法、及び、制御装置
JP6528528B2 (ja) ネットワークシステム、ネットワークシステムの制御方法、及び、プリンター
JP6287215B2 (ja) Pos制御システム、印刷装置、及びpos制御システムの制御方法
JP6503905B2 (ja) ネットワークシステム、及び、ネットワークシステムの制御方法
JP2015135635A (ja) Posシステム、及び、posシステムの制御方法
JP6589874B2 (ja) ネットワークシステム、及び、通信方法
JP2021152775A (ja) 取引証明システム、管理装置及び情報処理プログラム
JP2016224790A (ja) ネットワークシステム、ネットワークシステムの制御方法、及び、サーバー
JP6405844B2 (ja) ネットワークシステム、及び、通信方法
JP6686494B2 (ja) ネットワークシステム、及び、ネットワークシステムの制御方法
JP2016071589A (ja) ネットワークシステム、及び、通信方法
JP2023056205A (ja) 情報処理システム、設置装置及びプログラム
JP2017092681A (ja) ネットワークシステム、クライアント、及び、クライアントの制御方法
JP2012173852A (ja) 商品販売データ処理装置及びその制御プログラム

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180302

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180302

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20181121

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190108

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190228

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190319

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190401

R150 Certificate of patent or registration of utility model

Ref document number: 6515663

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150