IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 東芝テック株式会社の特許一覧

特開2022-163828情報処理システム、クライアント装置及び情報処理プログラム
<>
  • 特開-情報処理システム、クライアント装置及び情報処理プログラム 図1
  • 特開-情報処理システム、クライアント装置及び情報処理プログラム 図2
  • 特開-情報処理システム、クライアント装置及び情報処理プログラム 図3
  • 特開-情報処理システム、クライアント装置及び情報処理プログラム 図4
  • 特開-情報処理システム、クライアント装置及び情報処理プログラム 図5
  • 特開-情報処理システム、クライアント装置及び情報処理プログラム 図6
  • 特開-情報処理システム、クライアント装置及び情報処理プログラム 図7
  • 特開-情報処理システム、クライアント装置及び情報処理プログラム 図8
  • 特開-情報処理システム、クライアント装置及び情報処理プログラム 図9
  • 特開-情報処理システム、クライアント装置及び情報処理プログラム 図10
  • 特開-情報処理システム、クライアント装置及び情報処理プログラム 図11
  • 特開-情報処理システム、クライアント装置及び情報処理プログラム 図12
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022163828
(43)【公開日】2022-10-27
(54)【発明の名称】情報処理システム、クライアント装置及び情報処理プログラム
(51)【国際特許分類】
   G06Q 50/10 20120101AFI20221020BHJP
【FI】
G06Q50/10
【審査請求】未請求
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2021068892
(22)【出願日】2021-04-15
(71)【出願人】
【識別番号】000003562
【氏名又は名称】東芝テック株式会社
(74)【代理人】
【識別番号】100108855
【弁理士】
【氏名又は名称】蔵田 昌俊
(74)【代理人】
【識別番号】100103034
【弁理士】
【氏名又は名称】野河 信久
(74)【代理人】
【識別番号】100179062
【弁理士】
【氏名又は名称】井上 正
(74)【代理人】
【識別番号】100075672
【弁理士】
【氏名又は名称】峰 隆司
(74)【代理人】
【識別番号】100153051
【弁理士】
【氏名又は名称】河野 直樹
(74)【代理人】
【識別番号】100162570
【弁理士】
【氏名又は名称】金子 早苗
(72)【発明者】
【氏名】小林 亮太郎
【テーマコード(参考)】
5L049
【Fターム(参考)】
5L049CC12
(57)【要約】
【課題】障害発生時におけるサーバの切り換えを容易に行うことを可能とする。
【解決手段】 第1の管理手段は、第1の要求手段による複数回の要求に応じた第1の処理手段による情報処理の実行結果を識別子に関連付けて管理する。記録手段は、第1の要求手段の要求の履歴を識別子に関連付けて記録する。第2の要求手段は、判定手段による障害発生の判定に応じて、記録された履歴に応じて、当該履歴が関連付けられた識別子の通知を伴って、障害が発生する前に第1の要求手段により要求済みの情報処理を第2のサーバに要求する。第2の管理手段は、第2及び第3の要求手段による複数回の要求に応じた第2の処理手段による情報処理の実行結果を、通知された識別子に関連付けて管理する。更新手段は、通知手段により通知された識別子に関連付けて第1の管理手段が管理している実行結果を、通知手段により通知された実行結果により更新する。
【選択図】 図10
【特許請求の範囲】
【請求項1】
第1のサーバ、第2のサーバ及びクライアント装置を含んだ情報処理システムであって、
前記クライアント装置に設けられ、操作に応じた情報処理を前記第1のサーバに要求する第1の要求手段と、
前記第1のサーバに備えられ、前記第1の要求手段による要求に応じた情報処理を実行する第1の処理手段と、
前記第1のサーバに備えられ、前記第1の要求手段による複数回の要求に応じた前記第1の処理手段による情報処理の実行結果を同一の識別子に関連付けて管理する第1の管理手段と、
前記クライアント装置に設けられ、前記第1の要求手段による要求の履歴を前記識別子に関連付けて記録する記録手段と、
前記クライアント装置に設けられ、前記第1のサーバに関する障害が発生したことを判定する判定手段と、
前記クライアント装置に設けられ、前記判定手段により障害の発生が判定されたことに応じて、前記記録手段により記録された履歴に応じて、当該履歴が関連付けられた識別子の通知を伴って、障害が発生する前に前記第1の要求手段により要求済みの情報処理を前記第2のサーバに要求する第2の要求手段と、
前記クライアント装置に設けられ、前記第2の要求手段による要求の終了後における操作に応じた情報処理を前記第2のサーバに要求する第3の要求手段と、
前記第2のサーバに備えられ、前記第2の要求手段及び前記第3の要求手段による要求に応じた情報処理を実行する第2の処理手段と、
前記第2のサーバに備えられ、前記第2の要求手段及び前記第3の要求手段による複数回の要求に応じた前記第2の処理手段による情報処理の実行結果を、前記第2の要求手段により通知された識別子に関連付けて管理する第2の管理手段と、
前記第2のサーバに備えられ、前記第2の要求手段により通知された識別子に関する前記第3の要求手段による要求が完了した後に、前記第2の管理手段により管理されている実行結果を、関連付けられている識別子とともに前記第1のサーバに通知する通知手段と、
前記第1のサーバに備えられ、前記通知手段により通知された識別子に関連付けて前記第1の管理手段が管理している実行結果を、前記通知手段により通知された実行結果により更新する更新手段と、
を具備した情報処理システム。
【請求項2】
前記第1の処理手段及び前記第2の処理手段は、前記クライアント装置で指定された商品の買上商品としての登録及び登録した買上商品の代金の決済のための情報処理を実行する、
請求項1に記載の情報処理システム。
【請求項3】
前記第1のサーバはクラウドサーバであり、
前記第2のサーバは前記クライアント装置の操作が行われる施設に設けられたローカルサーバである、
請求項1又は請求項2に記載の情報処理システム。
【請求項4】
前記クライアント装置と前記第1のサーバとの通信には広域ネットワークを利用し、
前記クライアント装置と前記第2のサーバとの通信には狭域ネットワークを利用する、
請求項1-請求項3のいずれか一項に記載の情報処理システム。
【請求項5】
操作に応じた情報処理を第1のサーバに要求する第1の要求手段と、
前記第1の要求手段による要求の履歴を識別子に関連付けて記録する記録手段と、
前記第1のサーバに関する障害が発生したことを判定する判定手段と、
前記判定手段により障害の発生が判定されたことに応じて、前記記録手段により記録された履歴に応じて、当該履歴が関連付けられた識別子の通知を伴って、障害が発生する前に前記第1の要求手段により要求済みの情報処理を第2のサーバに要求する第2の要求手段と、
前記第2の要求手段による要求の終了後における操作に応じた情報処理を第2のサーバに要求する第3の要求手段と、
を具備するクライアント装置。
【請求項6】
クライアント装置として機能するコンピュータを、
操作に応じた情報処理を第1のサーバに要求する第1の要求手段と、
前記第1の要求手段による要求の履歴を識別子に関連付けて記録する記録手段と、
前記第1のサーバに関する障害が発生したことを判定する判定手段と、
前記判定手段により障害の発生が判定されたことに応じて、前記記録手段により記録された履歴に応じて、当該履歴が関連付けられた識別子の通知を伴って、障害が発生する前に前記第1の要求手段により要求済みの情報処理を第2のサーバに要求する第2の要求手段と、
前記第2の要求手段による要求の終了後における操作に応じた情報処理を第2のサーバに要求する第3の要求手段と、
して機能させるための情報処理プログラム。

【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、情報処理システム、クライアント装置及び情報処理プログラムに関する。
【背景技術】
【0002】
店舗で買物する客が所持するスマートフォン又は店舗に備え付けのタブレット端末などを客のためのユーザインタフェースデバイスとして用い、買上商品の登録及びその代金の決済などのための情報処理をクラウドサーバにより実行するようにしたシステムが知られている。つまり、スマートフォン又はタブレット端末などを用いたクライアント装置と、クラウドサーバなどのサーバとからなるクライアントサーバシステムにより商品販売管理を行うシステムを実現することが知られている。
しかしながらこのようなシステムでは、クライアント装置とサーバとの通信障害などの何らかの障害が発生すると、それ以降の処理を継続できなくなってしまい、客が買い物を終えることができない。
【0003】
そこで、第1及び第2のサーバを準備しておき、第1のサーバに関する障害発生時には、第2のサーバにより処理を引き継ぐことが考えられるが、この場合には第1のサーバと第2のサーバとの連携が必要となり、そのための処理負荷が増大してしまう。
このような事情から、障害発生時におけるサーバの切り換えを容易に行うことができることが望まれていた。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特許第4983445号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
本発明が解決しようとする課題は、障害発生時におけるサーバの切り換えを容易に行うことを可能とする情報処理システム、クライアント装置及び情報処理プログラムを提供することである。
【課題を解決するための手段】
【0006】
実施形態の情報処理システムは、第1のサーバ、第2のサーバ及びクライアント装置を含む。第1のサーバは、第1の処理手段、第1の管理手段及び更新手段を備える。第2のサーバは、第2の処理手段、第2の管理手段及び通知手段を備える。クライアント装置は、第1の要求手段、記録手段、判定手段、第2の要求手段及び第3の要求手段を備える。第1の要求手段は、操作に応じた情報処理を第1のサーバに要求する。第1の処理手段は、第1の要求手段による要求に応じた情報処理を実行する。第1の管理手段は、第1の要求手段による複数回の要求に応じた第1の処理手段による情報処理の実行結果を同一の識別子に関連付けて管理する。記録手段は、第1の要求手段による要求の履歴を識別子に関連付けて記録する。判定手段は、第1のサーバに関する障害が発生したことを判定する。第2の要求手段は、判定手段により障害の発生が判定されたことに応じて、記録手段により記録された履歴に応じて、当該履歴が関連付けられた識別子の通知を伴って、障害が発生する前に第1の要求手段により要求済みの情報処理を第2のサーバに要求する。第3の要求手段は、第2の要求手段による要求の終了後における操作に応じた情報処理を第2のサーバに要求する。第2の処理手段は、第2の要求手段及び第3の要求手段による要求に応じた情報処理を実行する。第2の管理手段は、第2の要求手段及び第3の要求手段による複数回の要求に応じた第2の処理手段による情報処理の実行結果を、第2の要求手段により通知された識別子に関連付けて管理する。通知手段は、第2の要求手段により通知された識別子に関する第3の要求手段による要求が完了した後に、第2の管理手段により管理されている実行結果を、関連付けられている識別子とともに第1のサーバに通知する。更新手段は、通知手段により通知された識別子に関連付けて第1の管理手段が管理している実行結果を、通知手段により通知された実行結果により更新する。
【図面の簡単な説明】
【0007】
図1】一実施形態に係る商品販売処理システムの概略構成を示すブロック図。
図2図1に示される店舗サーバの要部回路構成を示すブロック図。
図3図2に示される取引データのデータ構造を示す模式図。
図4図1に示されるユーザ端末の要部回路構成を示すブロック図。
図5図4に示される履歴データのデータ構造を示す模式図。
図6図1に示されるカート端末の要部回路構成を示すブロック図。
図7図1に示されるクラウドサーバの要部回路構成を示すブロック図。
図8図7に示される取引データのデータ構造を示す模式図。
図9図4に示されるプロセッサによるスマホPOSアプリに基づく情報処理のフローチャート。
図10図4に示されるプロセッサによるスマホPOSアプリに基づく情報処理のフローチャート。
図11図7に示されるプロセッサによるウェブPOSアプリに基づくウェブPOS処理のフローチャート。
図12図2に示されるプロセッサによる代行POSアプリに基づく代行POS処理のフローチャート。
【発明を実施するための形態】
【0008】
以下、情報処理システムを適用して構成される商品販売処理システムの一実施形態について、図面を用いて説明する。
図1は本実施形態に係る商品販売処理システムの概略構成を示すブロック図である。
商品販売処理システムは、複数の店舗システム100、ユーザ端末200、カート端末300及びクラウドサーバ400を含む。そして、複数の店舗システム100、ユーザ端末200、カート端末300及びクラウドサーバ400は、通信ネットワーク500を介して通信可能である。
【0009】
図1では、2つの店舗システム100を示している。これら店舗システム100は、商品販売処理システムを利用するそれぞれ異なる店舗A及び店舗Bにそれぞれ設けられる。商品販売処理システムを利用する店舗が3つ以上存在してもよく、店舗毎に店舗システム100が設けられる。なお以下において、各店舗に設けられた店舗システム100を区別する必要がある場合には、店舗Aに設けられた店舗システム100を店舗システム100-1と表し、店舗Bに設けられた店舗システム100を店舗システム100-2と表す。
店舗Aを運営する事業者は、店舗Bを運営する事業者と同じであっても、別であってもよい。その他の店舗で取引システムが利用される場合も、その店舗を運営する事業者は、店舗A又は店舗Bを運営する事業者と同じであっても、別であってもよい。
【0010】
ユーザ端末200及びカート端末300は、商品販売処理システムを利用した買い物を店舗にて行う客のためのユーザインタフェースとして機能する情報処理装置である。ユーザ端末200及びカート端末300は、図1では店舗A内及び店舗B内にそれぞれ1台ずつ存在するように示しているが、各店舗内に複数が存在してもよい。また、全ての店舗では、あるいは一部の店舗では、ユーザ端末200及びカート端末300のいずれか一方が使用されなくても構わない。ユーザ端末200及びカート端末300は、店舗システム100と無線通信する機能と、通信ネットワーク500と無線通信する機能とを備える。ユーザ端末200としては、スマートフォン又はタブレットコンピュータ等のデータ通信機能を備えた通信端末が利用できる。ユーザ端末200は、客により所有されていてもよいし、店舗にて客に貸与されてもよい。カート端末300としては、タブレットコンピュータ等のデータ通信機能を備えた通信端末が利用され、店舗A又は店舗Bに備え付けのショッピングカートに取り付けられている。ユーザ端末200及びカート端末300は、主として客が操作者となる。ただしユーザ端末200及びカート端末300は、店員などにより客に代わって操作されることもある。カート端末300は、バーコードスキャナ301を備える。バーコードスキャナ301は、商品を識別するための識別子としての商品コードを表したバーコードを、赤外線レーザなどを用いて光学的に読み取るのに好適に構成された読取デバイスである。バーコードスキャナ301としては、撮像デバイスで撮影された画像からバーコードを認識して読み取るように構成された読取デバイスを、上記の読取デバイスに代えて、あるいは上記の読取デバイスに加えて備えてもよい。
【0011】
クラウドサーバ400は、ユーザ端末200及びカート端末300からの要求に応じて、買上商品の登録及びその代金の決済などの商品販売処理のための情報処理を実行する。例えばクラウドサーバ400は、商品販売処理のための様々な情報処理を実行する機能を備え、それらの情報処理の実行要求を受けるための複数のAPI(application programing interface)を公開する。APIにおいては、そのAPIを特定するための基本URL(uniform resource locator)と、基本URLに付加すべき引数などに関する定義とが定められている。そしてクラウドサーバ400は、基本URLに引数などを付加して構成されるアクセスURLによるアクセスを受けると、そのアクセスURLで特定される情報処理を実行する。
【0012】
通信ネットワーク500としては例えば、インターネット、VPN(virtual private network)、LAN(local area network)、公衆通信網、移動体通信網などを、単独又は適宜に組み合わせて用いることができる。通信ネットワーク500としては典型的には、移動体通信網とインターネットとが利用される。つまり、通信ネットワーク500は、典型的には広域ネットワークである。
【0013】
各店舗システム100の概略的な構成は共通である。すなわち店舗システム100は、店舗サーバ1、会計機2、ゲートウェイ3及びアクセスポイント4を、店内通信ネットワーク5を介して通信可能として構成される。ただし、店舗サーバ1、会計機2、ゲートウェイ3、アクセスポイント4及び店内通信ネットワーク5は、後述する動作を実現するための機能が共通であればよく、完全に同一である必要は無い。また一部の店舗システム100は、図1に示されない装置を備えてもよい。
【0014】
店舗サーバ1は、ユーザ端末200及びカート端末300からの要求に応じて、買上商品の登録及びその代金の決済などの商品販売処理のための情報処理を実行する。店舗サーバ1は、クラウドサーバ400が商品販売処理のために実行するのと同等な情報処理を実行する機能を備える。そして店舗サーバ1も、それらの情報処理の実行要求を受けるためのAPIを公開する。同等な情報処理に関してクラウドサーバ400及び店舗サーバ1がそれぞれ公開するAPIの基本URLは、互いに予め関連付けられる。本実施形態では例えば、指定された商品を買上商品として登録する処理のAPIに対し、クラウドサーバ400に関しては「xyz.cloud.co.jp/api/registration」が、また店舗サーバ1に関しては「192.168.1.zzz/api/registration」が、それぞれ基本URLとして定められていることとする。つまり同じ情報処理のAPIに定められる基本URLは、ドメインの部分のみが異なっている。そして店舗サーバ1は、アクセスURLによるアクセスを受けると、そのアクセスURLで特定されるAPIで提供すべき情報処理を実行する。つまり、店舗サーバ1は、クラウドサーバ400と同様な商品販売処理を実行する機能を備える。ただし店舗サーバ1は、後述するように、クラウドサーバ400の機能を一時的に代行するためにこれらの機能を実行する。つまり、クラウドサーバ400が、商品販売処理を主体的に行う第1のサーバに相当し、店舗サーバ1が、商品販売処理を代行的に行う第2のサーバに相当する。そしてユーザ端末200及びカート端末300が、クラウドサーバ400又は店舗サーバ1による商品販売処理を利用するためのクライアント装置に相当する。なお店舗サーバ1は、クライアント装置としてのユーザ端末200及びカート端末300の操作が行われる施設である店舗に設けられたローカルサーバである。
【0015】
会計機2は、客が決済を店舗にて行う場合のユーザインタフェース機器である。会計機2が上記の決済のために利用可能とする決済方法は、現金決済、クレジットカード決済、電子マネー決済、ポイント決済、コード決済等、周知の決済方法の全て又は任意の一部であってよい。なお、コード決済は、モバイル決済又はスマートフォン決済等とも称される。会計機2は、店員及び客のいずれにより操作されるのであってもよい。会計機2は例えば、既存のセミセルフ方式のPOS(point-of-sale)システムで用いられるセルフ方式の会計機をベースとして構成できる。会計機2は、商品を買上商品として登録するための情報処理を行う機能を有していてもよい。この場合に会計機2は例えば、既存のPOSシステムで用いられる対面式のPOS端末又は既存のセルフ方式のPOSシステムで用いられるセルフ式のPOS端末をベースとして構成できる。
【0016】
ゲートウェイ3は、店内通信ネットワーク5と通信ネットワーク500とを相互接続し、店内通信ネットワーク5と通信ネットワーク500の双方を介した通信を可能とする。ゲートウェイ3としては、例えばLANとインターネットとをインタフェースする既存の通信デバイスを用いることができる。
【0017】
アクセスポイント4は、ユーザ端末200が無線通信により店内通信ネットワーク5へとアクセスすることを可能とするための通信処理を行う。アクセスポイント4としては例えば、IEEE802.11規格により無線通信を行う周知の通信デバイスを用いることができる。アクセスポイント4は、店舗の売場のどこからでもユーザ端末200が無線通信可能なように、店舗内に設置される。店舗規模によっては、複数のアクセスポイント4が、1つの店舗システム100に配置される場合もある。
【0018】
店内通信ネットワーク5としては、インターネット、VPN、LAN、公衆通信網、移動体通信網などを、単独又は適宜に組み合わせて用いることができる。ただし典型的には、店内通信ネットワーク5は、LANである。つまり店内通信ネットワーク5は、典型的には狭域ネットワークである。
【0019】
店舗システム100が設けられた店舗には、その入口付近にチェックイン用の2次元コードTCIが掲示される。2次元コードTCIは、チェックインのためのチェックインデータを表す。チェックインデータは店舗毎に異なる。
チェックインデータは例えば、それぞれの店舗の(1) 店舗システム100の動作バージョン、(2) 店舗を識別するための店舗コード、(3) 店舗を運営する事業者の名称、(4) 店舗システム100が設けられる店舗の名称、(5) 店舗を運営する事業者を識別するための事業者コード、 (6) ユーザ端末200が店舗システム100と通信するための接続先や接続に必要な情報、といった情報を表す。なお、ユーザ端末200が店舗システム100と通信するための接続先としては、アクセスポイント4が挙げられる。そしてその接続に必要な情報としては、アクセスポイント4を識別するためのSSID(service set identifier)と、アクセスポイント4にアクセスするためのパスワードなどが挙げられる。また接続に必要な情報としては、店舗サーバ1のドメイン名が挙げられる。
なお、チェックインデータは、例示した各種の情報のうちの一部を含まなくてもよい。またチェックインデータは、例示した各種の情報とは別の情報を表してもよい。
【0020】
図2は店舗サーバ1の要部回路構成を示すブロック図である。
店舗サーバ1は、プロセッサ11、メインメモリ12、補助記憶ユニット13、通信インタフェース14及び伝送路15を含む。プロセッサ11、メインメモリ12、補助記憶ユニット13及び通信インタフェース14は、伝送路15を介して通信可能とされている。そして、プロセッサ11、メインメモリ12及び補助記憶ユニット13が伝送路15により接続されていることによって、店舗サーバ1を制御するためのコンピュータが構成される。
【0021】
プロセッサ11は、上記コンピュータの中枢部分に相当する。プロセッサ11は、オペレーティングシステム及びアプリケーションプログラム等の情報処理プログラムに従って、店舗サーバ1としての各種の機能を実現するための情報処理を実行する。プロセッサ11は、例えばCPU(central processing unit)である。
【0022】
メインメモリ12は、上記コンピュータの主記憶部分に相当する。メインメモリ12は、不揮発性のメモリ領域と揮発性のメモリ領域とを含む。メインメモリ12は、不揮発性のメモリ領域では上記の情報処理プログラムを記憶する。メインメモリ12は、プロセッサ11が情報処理を実行する上で必要なデータを不揮発性又は揮発性のメモリ領域で記憶する場合もある。メインメモリ12は、揮発性のメモリ領域を、プロセッサ11によってデータが適宜書き換えられるワークエリアとして使用する。不揮発性のメモリ領域は、例えばROM(read only memory)である。揮発性のメモリ領域は、例えばRAM(random access memory)である。
【0023】
補助記憶ユニット13は、上記コンピュータの補助記憶部分に相当する。補助記憶ユニット13としては、例えばEEPROM(electric erasable programmable read-only memory)、HDD(hard disc drive)、あるいはSSD(solid state drive)等の周知の記憶デバイスを用いた記憶ユニットを利用できる。補助記憶ユニット13は、プロセッサ11が各種の処理を行う上で使用するデータ、あるいはプロセッサ11での処理によって作成されたデータ等を保存する。補助記憶ユニット13は、上記の情報処理プログラムを記憶する場合もある。
【0024】
通信インタフェース14は、店内通信ネットワーク5に接続された各部との間で所定の通信プロトコルに従いデータ通信を行う。通信インタフェース14としては、例えばLAN用の周知の通信デバイスを適用できる。
伝送路15は、アドレスバス、データバス及び制御信号線等を含み、接続された各部の間で授受されるデータ及び制御信号を伝送する。
【0025】
補助記憶ユニット13は、情報処理プログラムの1つである代行POSアプリAPAを記憶する。代行POSアプリAPAは、アプリケーションプログラムであり、店舗サーバ1としての機能を実現するための情報処理について記述されている。補助記憶ユニット13の記憶領域の一部は、取引データDAAを記憶するために使用される。取引データDAAは、店舗での商品販売に関する一取引を管理するための種々のデータの集合である。
【0026】
図3は取引データDAAのデータ構造を示す模式図である。
取引データDAAは、取引の識別子としての取引コードに関連付けて、買上商品として登録済みの商品のそれぞれに関する商品データを含む。従って、取引データDAAがいくつの商品データを含むかは、買上商品として登録済みの商品の数に応じて変化する。商品データは、商品コード、商品名、価格及び数量などを含む。商品コードは、該当の商品をSKU(stock keeping unit)毎に識別するために定められた識別子であり、例えばJAN(Japanese article number)コードが用いられる。商品名は、該当の商品を人間が区別し易いように定められた名称である。価格は、該当の商品の販売の対価の金額である。数量は、該当の商品の買上数量である。
【0027】
図4はユーザ端末200の要部回路構成を示すブロック図である。
ユーザ端末200は、プロセッサ201、メインメモリ202、補助記憶ユニット203、タッチパネル204、カメラ205、サウンドユニット206、センサ群207、無線通信ユニット208、モバイル通信ユニット209及び伝送路210等を備える。プロセッサ201と、メインメモリ202、補助記憶ユニット203、タッチパネル204、カメラ205、サウンドユニット206、センサ群207、無線通信ユニット208及びモバイル通信ユニット209とは、伝送路210を介して通信可能とされている。そして、プロセッサ201、メインメモリ202及び補助記憶ユニット203が伝送路210により接続されていることによって、ユーザ端末200を制御するためのコンピュータが構成される。なお、プロセッサ201、メインメモリ202、補助記憶ユニット203及び伝送路210の機能の概略は、プロセッサ11、メインメモリ12、補助記憶ユニット13及び伝送路15と同等であるので、その説明は省略する。
【0028】
タッチパネル204は、ユーザ端末200の入力デバイス及び表示デバイスとして機能する。
カメラ205は、光学系及びイメージセンサを含み、光学系により形成される視野内の像を表した画像データをイメージセンサにより生成する。
サウンドユニット206は、音声及びメロディなどの各種サウンドを出力する。
センサ群207は、角速度センサ及びGPS(global positioning system)センサなどの各種のセンサを含む。
【0029】
無線通信ユニット208は、アクセスポイント4との間で無線通信プロトコルに従った無線通信によりデータを授受する。無線通信ユニット208としては、例えばIEEE802.11規格に準拠した周知の通信デバイスを利用できる。
モバイル通信ユニット209は、通信ネットワーク500を介したデータ通信のインタフェースである。モバイル通信ユニット209としては、例えば移動通信網を介したデータ通信を行うための周知の通信デバイスを利用できる。
【0030】
なお補助記憶ユニット203は、情報処理プログラムの1つであるスマホPOSアプリAPBを記憶する。スマホPOSアプリAPBは、アプリケーションプログラムであり、ユーザ端末200を店舗システム100の客用のユーザインタフェースとして機能させるための後述する情報処理について記述されている。補助記憶ユニット203の記憶領域の一部は、履歴データDABを記憶するために使用される。履歴データDABは、一取引に関してクラウドサーバ400に対して行った要求の履歴を管理するためのデータである。
【0031】
図5は履歴データDABのデータ構造を示す模式図である。
履歴データDABは、取引コードに関連付けて、当該取引コードで識別される取引に関する情報処理をクラウドサーバ400に要求するために用いたアクセスURLを含む。従って、履歴データDABがいくつのアクセスURLを含むかは、要求回数に応じて変化する。
【0032】
図6はカート端末300の要部回路構成を示すブロック図である。
カート端末300は、バーコードスキャナ301の他に、プロセッサ302、メインメモリ303、補助記憶ユニット304、タッチパネル305、サウンドユニット306、無線通信ユニット307及び伝送路308等を備える。プロセッサ302と、バーコードスキャナ301、メインメモリ303、補助記憶ユニット304、タッチパネル305、サウンドユニット306及び無線通信ユニット307とは、伝送路308を介して通信可能とされている。そして、プロセッサ302、メインメモリ303及び補助記憶ユニット304が伝送路308により接続されていることによって、カート端末300を制御するためのコンピュータが構成される。なお、プロセッサ302、メインメモリ303、補助記憶ユニット304、タッチパネル305、サウンドユニット306、無線通信ユニット307及び伝送路308の機能の概略は、プロセッサ11、メインメモリ12、補助記憶ユニット13、タッチパネル204、サウンドユニット206及び無線通信ユニット208及び伝送路15と同等であるので、その説明は省略する。
【0033】
なお補助記憶ユニット304は、情報処理プログラムの1つであるカート端末アプリAPCを記憶する。カート端末アプリAPCは、アプリケーションプログラムであり、カート端末300を店舗システム100の客用のユーザインタフェースとして機能させるための情報処理について記述されている。補助記憶ユニット304の記憶領域の一部は、履歴データDACを記憶するために使用される。履歴データDACは、一取引に関してクラウドサーバ400に対して行った要求の履歴を管理するためのデータである。履歴データDACは、例えば履歴データDABと同様な構成でよい。
【0034】
図7はクラウドサーバ400の要部回路構成を示すブロック図である。
クラウドサーバ400は、プロセッサ401、メインメモリ402、補助記憶ユニット403、通信インタフェース404及び伝送路405を含む。プロセッサ401、メインメモリ402、補助記憶ユニット403及び通信インタフェース404は、伝送路405を介して通信可能とされている。そして、プロセッサ401、メインメモリ402及び補助記憶ユニット403が伝送路405により接続されていることによって、クラウドサーバ400を制御するためのコンピュータが構成される。なお、プロセッサ401、メインメモリ402、補助記憶ユニット403、通信インタフェース404及び伝送路405の機能の概略は、プロセッサ11、メインメモリ12、補助記憶ユニット13、通信インタフェース14及び伝送路15と同等であるので、その説明は省略する。
【0035】
補助記憶ユニット403は、情報処理プログラムの1つであるウェブPOSアプリAPDを記憶する。ウェブPOSアプリAPDは、アプリケーションプログラムであり、後述するサービスを提供するための後述する情報処理について記述されている。補助記憶ユニット403の記憶領域の一部は、取引データDADを記憶するために使用される。取引データDADは、一取引を管理するための種々のデータの集合である。補助記憶ユニット403は、並列的に処理される複数の取引のそれぞれに関する複数の取引データDADを記憶する場合もある。
【0036】
図8は取引データDADのデータ構造を示す模式図である。
取引データDADは、取引コードに関連付けて、利用者コード、店舗コード及び商品データを含む。取引コードは、当該の取引データDADが関連付けられている取引の識別子である。利用者コードは、当該の取引データDADが関連付けられている取引の客の識別子である。店舗コードは、当該の取引データDADが関連付けられている取引が行われる店舗の識別子である。商品データは、買上商品として登録済みの商品を管理するためのデータである。取引データDADは、買上商品として登録済みの商品が無い状態では、商品データを1つも含まない。取引データDADは、買上商品として複数の商品が登録済みである状態では、それらの買上商品のそれぞれに関する複数の商品データを含む。商品データは、商品コード、商品名、価格及び数量などを含む。
【0037】
店舗サーバ1、ユーザ端末200、カート端末300又はクラウドサーバ400は、代行POSアプリAPA、スマホPOSアプリAPB、カート端末アプリAPC又はウェブPOSアプリAPDが補助記憶ユニット13,203,304,403に記憶された状態で譲渡されてもよいし、代行POSアプリAPA、スマホPOSアプリAPB、カート端末アプリAPC又はウェブPOSアプリAPDが補助記憶ユニット13,203,304,403に記憶されない状態のハードウェアと、代行POSアプリAPA、スマホPOSアプリAPB、カート端末アプリAPC又はウェブPOSアプリAPDと、が個別に譲渡されてもよい。代行POSアプリAPA、スマホPOSアプリAPB、カート端末アプリAPC又はウェブPOSアプリAPDの譲渡は、磁気ディスク、光磁気ディスク、光ディスク、半導体メモリなどのようなリムーバブルな記録媒体に記録して、あるいはネットワークを介した通信により行うことができる。
【0038】
次に以上のように構成された商品販売処理システムの動作について説明する。なお、以下に説明する各種の処理の内容は一例であって、一部の処理の順序の変更、一部の処理の省略、あるいは別の処理の追加などは適宜に可能である。例えば、以下の説明では、本実施形態の特徴的な動作を分かり易く説明するために、一部の処理についての説明を省略している。例えば、何らかのエラーが発生した場合に、そのエラーに対処するための処理が行われる場合があるが、そのような処理の一部については記載を省略している。
【0039】
なお、以下に説明する商品販売処理システムの動作により客に提供されるサービスは、スマホPOSサービス、あるいはカートPOSサービスなどと称されるが、以下においてはスマホPOSサービスと記すこととする。そして以下においては、ユーザ端末200を用いた買い物を実現するための動作を中心に説明する。
【0040】
客は、スマホPOSサービスを利用するためには、自らが所有するスマートフォン等にスマホPOSアプリAPBをインストールして、ユーザ端末200として利用可能としておく。あるいは、客は、タブレットコンピュータなどにスマホPOSアプリAPBをインストールして構成されたユーザ端末200を店舗にて借りる。そして客は、店舗に入るのに先立って、スマホPOSアプリAPBに基づく情報処理を起動させる。
【0041】
図9及び図10はプロセッサ201によるスマホPOSアプリAPBに基づく情報処理のフローチャートである。
まず図9に示すACT11としてプロセッサ201は、スマホPOSサービスの利用を開始するための利用開始処理を実行する。利用開始処理の詳細については、本実施形態の特徴とするところではないので、説明を省略する。なお、利用開始処理は、例えばクラウドサービスを利用するためのスマートフォンアプリケーションの起動時に実行されるのと同様な処理であってよい。例えばプロセッサ201は、利用開始処理の一処理として、クラウドサーバ400による利用者認証を受けるための処理を実行する。例えばプロセッサ201は、利用開始処理の一処理として、カメラ205を起動し、2次元コードTCIをカメラ205により撮影するように客に促すスキャン画面をタッチパネル204に表示させる。
【0042】
クラウドサーバ400にてプロセッサ401は、上記の利用開始処理の実行に伴ってのユーザ端末200からのアクセスがなされると、当該ユーザ端末200に対してスマホPOSサービスを提供するために、ウェブPOSアプリAPDに従った情報処理(以下、ウェブPOS処理と称する)を開始する。プロセッサ401は、別のユーザ端末200を対象としてウェブPOS処理を既に実行している場合には、それに並行して新たなウェブPOS処理を開始する。つまりプロセッサ401は、複数のユーザ端末200をそれぞれ対象としてウェブPOS処理を複数並行して実行する場合がある。以下においては、単に「ユーザ端末200」と表す場合には、説明中のウェブPOS処理の対象となっているユーザ端末200を指すこととする。
【0043】
図11はプロセッサ401によるウェブPOSアプリAPDに基づくウェブPOS処理のフローチャートである。
ACT41としてプロセッサ401は、アクセスしてきたユーザ端末200に対するスマホPOSサービスの提供を開始するための提供開始処理を実行する。提供開始処理の詳細については、本実施形態の特徴とするところではないので、説明を省略する。提供開始処理としてどのような処理を行うかは、例えばウェブPOSアプリAPDの作成者などにより任意に定められてよい。なお、提供開始処理は、例えばクラウドサービスを利用するためのスマートフォンアプリケーションの起動時に実行されるのと同様な処理であってよい。例えばプロセッサ401は、提供開始処理の一処理として、スマホPOSサービスを利用する客を認証するための処理を、ユーザ端末200における前述の利用開始処理との連携により実行する。
【0044】
客は、ユーザ端末200を持って、店舗システム100が設けられたいずれかの店舗へと入る。このときに客は、2次元コードTCIをユーザ端末200のカメラ205で撮影させることにより、当該2次元コードTCIが表すチェックインデータをユーザ端末200に読み取らせる。
【0045】
プロセッサ201は、図9中のACT11での利用開始処理を終えると、ACT12へと進む。
ACT12としてプロセッサ201は、チェックインデータの読み取りを待ち受ける。そしてプロセッサ201は、2次元コードTCIがカメラ205により撮影されることによってチェックインデータを読み取ったならばYESと判定し、ACT13へと進む。
【0046】
ACT13としてプロセッサ201は、クラウドサーバ400に対して取引の開始を要求する。プロセッサ201は、ここでの要求を含め、以下に説明するクラウドサーバ400に対する各種の要求は、それら要求を受け付けるためとして公開されているAPIの基本URLに、API毎に規定されている引数を付加して生成したアクセスURLを用いてクラウドサーバ400にアクセスすることとして実行する。ただし、例えば取引の開始要求などの一部の要求に関しては、APIを用いないで行われてもよい。
【0047】
プロセッサ201は、例えば取引の開始のための処理に関するAPIの基本URLが「xyz.cloud.co.jp/api/start」として定められているならば、チェックインデータに表されている店舗コードなどを引数として付加してアクセスURLを生成し、このアクセスURLにより、モバイル通信ユニット209から通信ネットワーク500を介してクラウドサーバ400にアクセスする。
【0048】
クラウドサーバ400にてプロセッサ401は、図11中のACT41での提供開始処理を終えると、ACT42へと進む。
ACT42としてプロセッサ401は、ユーザ端末200からの開始要求を待ち受ける。そしてプロセッサ401は、前述のように開始要求のためのアクセスURLによるアクセスをユーザ端末200から通信ネットワーク500を介して受けると、YESと判定し、ACT43へと進む。
【0049】
ACT43としてプロセッサ401は、上記の開始要求に応じて開始する取引を識別するための取引コードを決定する。プロセッサ401は例えば、予め定められたルールに従って、別の取引を識別するための取引コードとは別のコードを新たな取引コードとして決定する。
【0050】
ACT44としてプロセッサ401は、開始する取引に関連付けた取引データDADを生成し、補助記憶ユニット403に保存する。なおプロセッサ401は、並行して実行している別のウェブPOS処理により生成された取引データDADが既に補助記憶ユニット403に保存されているならば、その取引データDADはそのままに、ここで新たに生成した取引データDADを補助記憶ユニット403に保存する。プロセッサ401は、ここで生成する取引データDADには、ACT43で決定した取引コードと、ACT41での提供開始処理において取得した利用者コードと、開始要求のためのアクセスURLに引数として含まれていた店舗コードとを含める。プロセッサ401は、この段階では、商品データを取引データDADに含めない。
ACT45としてプロセッサ401は、開始要求に対して応答する。プロセッサ401は例えば、予め定められた応答データを、通信ネットワーク500を介してユーザ端末200へと送信する。プロセッサ401は、ACT43で決定した取引コードを応答データに含める。
【0051】
ユーザ端末200にてプロセッサ201は、図9中のACT13として取引開始を要求した後には、ACT14へと進む。
ACT14としてプロセッサ201は、要求に対する応答を待ち受ける。そしてプロセッサ201は、上述のようにクラウドサーバ400から送信された応答データがモバイル通信ユニット209により受信されるとYESと判定し、ACT15へと進む。
ACT15としてプロセッサ201は、履歴データDABを生成する。プロセッサ201は例えば、応答データに含まれていた取引コードを含み、アクセスURLは含まないデータとして履歴データDABを生成し、補助記憶ユニット203に保存する。
【0052】
客は、商品を買上商品として登録するならば、その商品の商品コードをユーザ端末200に入力する。例えば客は、商品に表示されて商品コードを表したバーコードをカメラ205に読み取らせる。あるいは例えば客は、タッチパネル204に表示されて商品コードが関連づけられたボタンにタッチする。あるいは例えば客は、タッチパネル204を操作して商品コードを手入力する。客は、買上商品として登録済みの商品の数量を変更するならば、例えばタッチパネル204にて予め定められた操作を行う。客は、買上商品として登録済みの商品を買上商品から除外するならば、例えばタッチパネル204にて予め定められた操作を行う。客は、買上商品の登録を終了し、買上商品の代金を決済するならば、タッチパネル204にて決済を指示するための予め定められた操作を行う。客は、この他の予め定められた操作を行う。
【0053】
ACT16としてプロセッサ201は、客による上記のような操作を待ち受ける。なお、プロセッサ201がここでどの操作を待ち受けるかは、例えばウェブPOSアプリAPDの作成者により適宜に定められてよい。そしてプロセッサ201は、受け付ける対象となっている操作のいずれかがなされたならばYESと判定し、ACT17へと進む。
【0054】
ACT17としてプロセッサ201は、操作に応じた処理をクラウドサーバ400に対して要求する。プロセッサ201は例えば、買上商品の登録を要求する場合は、登録要求のためとして公開されているAPIの基本URLに、例えば商品コードなどを引数として付加して生成したアクセスURLを用いてクラウドサーバ400にアクセスする。プロセッサ201は例えば、買上商品の数量の変更を要求する場合は、数量変更要求のためとして公開されているAPIの基本URLに、例えば商品コード及び変更後の数量などを引数として付加して生成したアクセスURLを用いてクラウドサーバ400にアクセスする。プロセッサ201は例えば、買上商品の除外を要求する場合は、除外要求のためとして公開されているAPIの基本URLに、例えば商品コードなどを引数として付加して生成したアクセスURLを用いてクラウドサーバ400にアクセスする。プロセッサ201は例えば、決済を要求する場合は、決済要求のためとして公開されているAPIの基本URLに、例えば適用する決済方法などを表す決済データを引数として付加して生成したアクセスURLを用いてクラウドサーバ400にアクセスする。かくしてスマホPOSアプリAPBに基づく情報処理をプロセッサ201が実行することによって、プロセッサ201を中枢部分とするコンピュータは出し1の要求手段として機能する。
ACT18としてプロセッサ201は、補助記憶ユニット203に保存されている履歴データDABを、ACT17での要求に用いたアクセスURLを含むように更新する。
【0055】
クラウドサーバ400にてプロセッサ401は、図11中のACT45で応答した後には、ACT46へと進む。
ACT46としてプロセッサ401は、処理が要求されたか否かを確認する。そしてプロセッサ401は、該当の事象を確認できないならばNOと判定し、ACT47へと進む。
ACT47としてプロセッサ401は、取引データが通知されたか否かを確認する。そしてプロセッサ401は、該当の事象を確認できないならばNOと判定し、ACT46へと戻る。
かくしてプロセッサ401は、ACT46及びACT47としては、処理が要求されるか、あるいは取引データが通知されるのを待ち受ける。
【0056】
プロセッサ401は、前述のようにアクセスURLによるアクセスがなされたならばACT46にてYESと判定し、ACT48へと進む。
ACT48としてプロセッサ401は、要求に応じた処理を実行する。プロセッサ401は例えば、登録要求のためのアクセスURLによるアクセスを受けたならば、そのアクセスURLに引数として含まれている商品コードを含んだ商品データを、補助記憶ユニット403に保存されている取引データDADに追加する。プロセッサ401は例えば、数量変更要求のためのアクセスURLによるアクセスを受けたならば、補助記憶ユニット403に保存されている取引データDADから、そのアクセスURLに引数として含まれる商品コードを含んだ商品データを見つけ出し、当該商品データに含まれる数量を、上記のアクセスURLに引数として含まれる数量に変更する。プロセッサ401は例えば、除外要求のためのアクセスURLによるアクセスを受けたならば、補助記憶ユニット403に保存されている取引データDADから、そのアクセスURLに引数として含まれる商品コードを含んだ商品データを見つけ出し、当該の商品データを取引データDADから削除する。プロセッサ401は例えば、決済要求のためのアクセスURLによるアクセスを受けたならば、補助記憶ユニット403に保存されている取引データDADに基づいて買上商品の代金を算出し、当該代金を上記のアクセスURLに引数として含まれる決済データが表す決済方法で決済するための予め定められた処理を実行する。ただし、これらの処理は、一例であり、同じ要求に対して別の処理が行われても構わない。なお、以上の処理により取引データDADが更新されることにより、プロセッサ401はこの取引データDADを用いて複数の処理の実行結果を1つの取引識別子に関連付けて管理していることになる。かくしてウェブPOSアプリAPDに基づく情報処理をプロセッサ401が実行することによって、プロセッサ401を中枢部分とするコンピュータは第1の処理手段及び第2の管理手段として機能する。
【0057】
ACT49としてプロセッサ401は、今回受けた要求に対して応答する。プロセッサ401は例えば、変更後の取引データの内容を表した画面のデータを含んだ応答データを、通信ネットワーク500を介してユーザ端末200へと送信する。プロセッサ401は例えば、ACT48での処理により予め定められた取引完了状態となったならば、取引の完了を通知するための予め定められた通知データを応答データに含める。なお、どのような状態を取引完了状態とするかは、例えばウェブPOSアプリAPDの作成者などにより任意に定められてよい。一例としては、決済を完了した状態が、取引完了状態として定められることが想定される。
【0058】
ACT50としてプロセッサ401は、ACT48で実行した処理をもって、取引が完了したか否かを確認する。そしてプロセッサ401は、取引が完了しないならばNOと判定し、ACT46及びACT47の待受状態に戻る。しかしプロセッサ401は、例えばACT48で決済を正常に終えた場合など、取引が完了したならばACT50にてYESと判定し、このウェブPOS処理を終了する。
【0059】
ユーザ端末200にてプロセッサ201は、図9中のACT18にて履歴データDABを更新した後には、ACT19へと進む。
ACT19としてプロセッサ201は、ACT17にて要求した処理についての応答がなされたか否かを確認する。そしてプロセッサ401は、該当の事象を確認できないならばNOと判定し、ACT20へと進む。
ACT20としてプロセッサ201は、障害が発生したか否かを確認する。そしてプロセッサ201は、該当の事象を確認できないならばNOと判定し、ACT19へと戻る。
かくしてプロセッサ201は、ACT19及びACT20としては、応答がなされるか、あるいは障害が発生するのを待ち受ける。そしてプロセッサ201は、上述のようにクラウドサーバ400から送信された応答データがモバイル通信ユニット209により受信されるとACT19にてYESと判定し、ACT21へと進む。
【0060】
ACT21としてプロセッサ201は、クラウドサーバ400からの応答に応じた処理を実行する。プロセッサ201は例えば、上述のように変更後の取引データの内容を表した画面のデータを含んだ応答データを受けたのであれば、該当の画面をタッチパネル204に表示させる。
【0061】
ACT22としてプロセッサ201は、取引が完了したか否かを確認する。そしてプロセッサ201は例えば、応答データに取引完了を通知するための通知データが含まれていないならばNOと判定し、ACT16の待受状態に戻る。つまりプロセッサ201は、新たな操作を引き続き待ち受ける。そしてプロセッサ201は、新たな操作に応じてACT17~ACT21を繰り返し実行する。つまりプロセッサ201は、新たに処理を要求する毎に、その要求のために用いたアクセスURLを履歴データDABに追加してゆく。なおプロセッサ201は、履歴データDABにおける各アクセスURLの記述順序などにより、各アクセスURLのアクセス順序が現れるように履歴データDABを更新する。かくしてスマホPOSアプリAPBに基づく情報処理をプロセッサ201が実行することによって、プロセッサ201を中枢部分とするコンピュータは記録手段として機能する。
【0062】
さてプロセッサ201は、通信ネットワーク500での障害、あるいはクラウドサーバ400での障害により、クラウドサーバ400との通信を継続できない状態となったならば、ACT20にてYESと判定し、図10中のACT23へと進む。かくしてスマホPOSアプリAPBに基づく情報処理をプロセッサ201が実行することによって、プロセッサ201を中枢部分とするコンピュータは判定手段として機能する。
【0063】
ACT23としてプロセッサ201は、上記の障害により中断した取引の処理を代行するための代行の開始を店舗サーバ1に要求する。プロセッサ201は例えば、チェックインデータに示されたアクセスポイント4への接続に必要な情報に基づいてアクセスポイント4との通信を確立した上で、当該アクセスポイント4及び店内通信ネットワーク5を介して、代行を開始するための処理に関するものとしてチェックインデータに示された基本URLに取引コードを引数として含めたアクセスURLにより店舗サーバ1へとアクセスする。この結果、例えば店舗Aに存在しているユーザ端末200は、店舗システム100-1に含まれる店舗サーバ1にアクセスする。また、例えば店舗Bに存在しているユーザ端末200は、店舗システム100-2に含まれる店舗サーバ1にアクセスする。
【0064】
店舗サーバ1にてプロセッサ11は、代行開始処理の要求のためのアクセスURLによるユーザ端末200からの上記のようなアクセスがなされると、当該ユーザ端末200に対してスマホPOSサービスを代行して提供するために、代行POSアプリAPAに従った情報処理(以下、代行POS処理と称する)を開始する。プロセッサ11は、別のユーザ端末200を対象として代行POS処理を既に実行している場合には、それに並行して新たな代行POS処理を開始する。つまりプロセッサ11は、複数のユーザ端末200をそれぞれ対象として代行POS処理を複数並行して実行する場合がある。以下においては、単に「ユーザ端末200」と表す場合には、説明中の代行POS処理の対象となっているユーザ端末200を指すこととする。
【0065】
図12はプロセッサ11による代行POSアプリAPAに基づく代行POS処理のフローチャートである。
ACT61としてプロセッサ11は、アクセスしてきたユーザ端末200に対するスマホPOSサービスの代行提供を開始するための代行開始処理を実行する。例えばプロセッサ11は、アクセスURLに引数として含まれた取引コードを含み、商品データを含まない取引データDAAを生成し、補助記憶ユニット13に保存する。なおプロセッサ11は、並行して実行している別の代行POS処理により生成された取引データDAAが既に補助記憶ユニット13に保存されているならば、その取引データDAAはそのままに、ここで新たに生成した取引データDAAを補助記憶ユニット13に保存する。
ACT62としてプロセッサ11は、開始要求に対して応答する。プロセッサ11は例えば、予め定められた応答データを、通信ネットワーク500を介してユーザ端末200へと送信する。
【0066】
ユーザ端末200にてプロセッサ201は、図10中のACT23として代行開始を要求した後には、ACT24へと進む。
ACT24としてプロセッサ201は、要求に対する応答を待ち受ける。そしてプロセッサ201は、上述のように店舗サーバ1から送信された応答データがモバイル通信ユニット209により受信されるとYESと判定し、ACT25へと進む。
【0067】
ACT25としてプロセッサ201は、履歴データDABに基づいて店舗サーバ1に対して処理を要求する。プロセッサ201は例えば、履歴データDABに含まれる最も古いアクセスに用いられたアクセスURLを選び出し、このアクセスURLのうちのドメイン部分を、チェックインデータに示されたドメインに置き換えて得られるアクセスURLにより店舗サーバ1にアクセスする。つまりプロセッサ201は、履歴データDABから選び出したアクセスURLが「xyz.cloud.co.jp/api/registration/4946843523221」であり、チェックインデータに示されたドメインが「192.168.1.zzz」であるならば、「192.168.1.zzz/api/registration/4946843523221」なるアクセスURLにより店舗サーバ1にアクセスする。
【0068】
店舗サーバ1にてプロセッサ11は、図12中のACT62で応答した後には、ACT63へと進む。
ACT63としてプロセッサ11は、処理が要求されるのを待ち受ける。そしてプロセッサ11は、前述のようにアクセスURLによるアクセスがなされたならばACT63にてYESと判定し、ACT64へと進む。
【0069】
ACT64としてプロセッサ11は、要求に応じた処理を実行する。プロセッサ11は例えば、図11中のACT48としてクラウドサーバ400のプロセッサ401が実行するのと同様に情報処理を実行する。ただしプロセッサ11は、取引データの更新は、補助記憶ユニット13に記憶された取引データDAAを対象とする。
ACT65としてプロセッサ11は、今回受けた要求に対して応答する。プロセッサ11は例えば、図11中のACT49としてクラウドサーバ400のプロセッサ401が実行するのと同様にユーザ端末200に対して応答する。
ACT66としてプロセッサ11は、ACT64で実行した処理をもって、取引が完了したか否かを確認する。そしてプロセッサ11は、取引が完了しないならばNOと判定し、ACT63の待受状態に戻る。
【0070】
ユーザ端末200にてプロセッサ201は、図10中のACT25にて履歴データDABを更新した後には、ACT26へと進む。
ACT26としてプロセッサ201は、ACT25にて要求した処理についての応答がなされるのを待ち受ける。そしてプロセッサ201は、上述のように店舗サーバ1から送信された応答データがモバイル通信ユニット209により受信されるとYESと判定し、ACT27へと進む。
【0071】
ACT27としてプロセッサ201は、履歴データDABに基づく要求の再現が完了したか否かを確認する。プロセッサ201は例えば、直前にACT25を実行した際に、履歴データDABに含まれる最も新しいアクセスに用いられたアクセスURLを選び出していない場合には再現が完了していないとしてNOと判定し、ACT25以降を前述と同様にして繰り返す。ただしこのときにプロセッサ201はACT25においては、履歴データDABに含まれるアクセスURLのうちでまだ選び出していないアクセスURLを古い順に選び出す。かくしてプロセッサ201は、履歴データDABに含まれるアクセスURLでクラウドサーバ400に要求済みの処理を、同じように店舗サーバ1に要求してゆく。かくしてスマホPOSアプリAPBに基づく情報処理をプロセッサ201が実行することによって、プロセッサ201を中枢部分とするコンピュータは第2の要求手段として機能する。
【0072】
店舗サーバ1にてプロセッサ11は、上記のようにクラウドサーバ400に要求済みの処理が順次に要求される際には、図12中のACT63の待受状態にある。このためプロセッサ11は、処理の要求がなされる毎に、ACT64及びACT65を繰り返す。
【0073】
以上のようにして、履歴データDABに基づく再度の処理要求がユーザ端末200から店舗サーバ1に対して行われ、この要求に応じた処理を店舗サーバ1にてプロセッサ11が実行することで、店舗サーバ1の補助記憶ユニット13に、障害時にクラウドサーバ400の補助記憶ユニット403に保存されていた取引データDADと同様に商品データを含めて取引データDAAが生成される。
【0074】
さて、ユーザ端末200にてプロセッサ201は、上述のようにクラウドサーバ400に要求済みの処理を店舗サーバ1に要求してゆく間は、店舗サーバ1からの応答がなされても、それに応じた処理を実行しない。このため、上述の取引データDAAの生成は、バックグラウンドで実行される。
【0075】
プロセッサ201は例えば、履歴データDABに含まれる最も新しいアクセスに用いられたアクセスURLを選び出している状態であれば、ACT27にて再現が完了したとしてYESと判定し、ACT28へと進む。
ACT28としてプロセッサ201は、図9中のACT16と同様に、操作を待ち受ける。客は、前述の障害に関知することなく、継続して前述したような種々の操作を行うことができる。そしてプロセッサ201は、受け付ける対象となっている操作のいずれかがなされたならばACT28にてYESと判定し、ACT29へと進む。
【0076】
ACT29としてプロセッサ201は、操作に応じた処理を店舗サーバ1に対して要求する。ここでのプロセッサ201の処理は、図9中のACT17と同様な処理であるが、アクセスURLをチェックインデータに示された基本URLを含んで生成する。かくしてスマホPOSアプリAPBに基づく情報処理をプロセッサ201が実行することによって、プロセッサ201を中枢部分とするコンピュータは第3の要求手段として機能する。
【0077】
店舗サーバ1にてプロセッサ11は、このようにして操作に応じて新たになされる要求のためのアクセスを受けると、図12中のACT63にてYESと判定し、前述と同様にACT64及びACT65を実行する。これによりプロセッサ11は、クラウドサーバ400で受け付けられなかった要求に応じて、取引データDAAを更に更新してゆく。かくして代行POSアプリAPAに基づく情報処理をプロセッサ11が実行することによって、プロセッサ11を中枢部分とするコンピュータは第2の処理手段及び第2の管理手段として機能する。
【0078】
プロセッサ11は、例えばACT64で決済を正常に終えた場合など、取引が完了したならばACT66にてYESと判定し、ACT67へと進む。
ACT67としてプロセッサ11は、取引データDAAをクラウドサーバ400に対して通知する。プロセッサ11は例えば、取引データDAAを含んだ通知データを、店内通信ネットワーク5、ゲートウェイ3及び通信ネットワーク500を介してクラウドサーバ400に送信する。なお、前述の障害がまだ解消されておらず、取引データの通知を完了することができない場合には、予め定められた時間を置いて、通知データの送信を繰り返す。あるいは、クラウドサーバ400により、クラウドサーバ400の動作状態を表すデータを提供するAPIを公開しておき、プロセッサ11はこのAPIを利用してクラウドサーバ400の動作状態を確認し、障害が解消されたことを確認した上で通知データを送信するのでもよい。そしてプロセッサ11は、通知を完了したならば、代行POS処理を終了する。かくして代行POSアプリAPAに基づく情報処理をプロセッサ11が実行することによって、プロセッサ11を中枢部分とするコンピュータは通知手段として機能する。
【0079】
クラウドサーバ400にてプロセッサ401は、ユーザ端末200にてプロセッサ201が、図9中のACT20にて障害が発生したと判定する原因が通信ネットワーク500に有る場合には、そのまま代行POS処理を継続するが、ユーザ端末200からの処理要求がなされなくなるために、図11中のACT46及びACT47の待受状態のままとなる。またプロセッサ401は、自らに何らかの障害が発生したことに応じて実行中の代行POS処理を停止した場合には、当該障害からの復旧後にはACT46及びACT47の待受状態となる。かくして、クラウドサーバ400にてプロセッサ401は、上述のように店舗サーバ1から送信された通知データが通信インタフェース404により受信されるときには、ACT46及びACT47の待受状態にある。そしてプロセッサ401は、当該の代行POS処理での対象となっている取引に関する取引コードを含んだ通知データが受信されたことに応じてACT47にてYESと判定し、ACT51へと進む。
【0080】
ACT51としてプロセッサ401は、通知データに基づいて取引データDADを更新する。プロセッサ401は例えば、補助記憶ユニット403に保存されている取引データDADのうちから、通知データに含まれている取引コードを含んでいる取引データDADを選び出す。そしてプロセッサ401は、該当の取引データDADに含まれる商品データの全てを、通知データに商品データに書き換える。そしてプロセッサ401は、これをもって代行POS処理を終了する。つまりプロセッサ401は、取引データDADを、店舗サーバ1により代行されて完了した取引の内容を表すデータに更新する。かくしてウェブPOSアプリAPDに基づく情報処理をプロセッサ401が実行することによって、プロセッサ401を中枢部分とするコンピュータは更新手段として機能する。
【0081】
なお、完了した取引に関する取引データDADをクラウドサーバ400で保管しておく必要がないならば、プロセッサ401はACT51としては、通知データに含まれている取引コードを含んでいる取引データDADを補助記憶ユニット403から削除するのでもよい。あるいは、完了した取引に関する取引データDADに基づくジャーナルデータをクラウドサーバ400で保管しておくのならば、プロセッサ401は、ACT50でYESと判定した場合、あるいはACT51を終えたのちに、取引データDADに基づいてジャーナルデータを生成して補助記憶ユニット403に保存し、該当の取引データDADは削除してもよい。
【0082】
ユーザ端末200にてプロセッサ201は、図10中のACT29にて処理を要求した後には、ACT30へと進む。
ACT30としてプロセッサ201は、ACT29にて要求した処理についての応答がなされるのを待ち受ける。そしてプロセッサ11は、図12中のACT65で店舗サーバ1から送信された応答データがモバイル通信ユニット209により受信されるとYESと判定し、ACT31へと進む。
【0083】
ACT31としてプロセッサ201は、店舗サーバ1からの応答に応じた処理を実行する。プロセッサ201は例えば、変更後の取引データの内容を表した画面のデータを含んだ応答データを受けたのであれば、該当の画面をタッチパネル204に表示させる。
ACT32としてプロセッサ201は、取引が完了したか否かを確認する。そしてプロセッサ201は例えば、応答データに取引完了を通知するための通知データが含まれていないならばNOと判定し、ACT28の待受状態に戻る。プロセッサ201はこののち、客による操作が行われる毎に、ACT29~ACT31を繰り返し実行する。
【0084】
プロセッサ201は、クラウドサーバ400から受けた応答データに取引完了を通知するための通知データが含まれているならば図9中のACT22にてYESと判定し、また店舗サーバ1から受けた応答データに取引完了を通知するための通知データが含まれているならば図10中のACT32にてYESと判定し、いずれの場合も図9中のACT12の待受状態に戻る。
【0085】
以上のように商品販売処理システムは、ユーザ端末200でクラウドサーバ400への要求の履歴を保持しておき、障害によりクラウドサーバ400に処理を実行させることができない状況となったならば、履歴に基づいてクラウドサーバ400で実行済みの処理をユーザ端末200からの要求により店舗サーバ1に行わせる。これにより、店舗サーバ1にて取引データDAAにより管理する買上商品のリストを、異常発生時にクラウドサーバ400にて取引データDADにより管理されていた買上商品のリストに合わせることができる。そしてそれ以降の処理を店舗サーバ1に行わせることで、店舗サーバ1による代行により取引の処理を継続することができる。そして、クラウドサーバ400と店舗サーバ1との間で、取引データDAAと取引データDADとを整合させるための連携を行っておく必要はなく、これにより障害発生時におけるサーバの切り換えを容易に行うことができる。
【0086】
また商品販売システムは、店舗サーバ1により代行されることによりクラウドサーバ400では中断された取引に関しては、店舗サーバ1により完了させた上で、取引の結果を店舗サーバ1からクラウドサーバ400へと通知する。そしてクラウドサーバ400は、通知に基づいて中断されていた取引を完了させることができる。
【0087】
この実施形態は、次のような種々の変形実施が可能である。
クラウドサーバ400及び店舗サーバ1で実行する情報処理は、商品販売処理のための情報処理には限らず、任意の情報処理であってよい。
【0088】
クラウドサーバ400は、例えば複数の店舗を総括管理する本部に設置されたサーバ装置のような他の任意のサーバ装置に置き換えられてもよい。
【0089】
店舗サーバ1は、店舗以外の任意の施設に設けられた別のサーバ装置に置き換えられてもよい。
【0090】
ユーザ端末200に代えてカート端末300を用いた買い物を実現する場合には、ユーザ端末200をカート端末300に読み替えることができる。つまり、カート端末300のプロセッサ302は、ユーザ端末200のプロセッサ201による情報処理と大筋では同様の情報処理を実行すればよい。ただしカート端末300の場合は例えば、チェックインデータに示される各種のデータのうちの少なくとも一部を、予めメインメモリ303又は補助記憶ユニット304に保存しておくことで、チェックインデータの読取りを省略してもよい。またカート端末300は、アクセスポイント4、店内通信ネットワーク5、ゲートウェイ3及び通信ネットワーク500を介してクラウドサーバ400にアクセスする。
【0091】
ユーザ端末200が店舗にて客に貸与される場合は、チェックインデータに示される各種のデータのうちの少なくとも一部を、予めメインメモリ202又は補助記憶ユニット203に保存しておくことで、チェックインデータの読取りを省略してもよい。
【0092】
クラウドサーバ400の処理又は店舗サーバ1の処理は、複数のサーバ装置により分散して行われても構わない。
【0093】
店舗サーバ1とユーザ端末200及びカート端末300との間の要求及び応答は、別のサーバ装置により仲介されて行われてもよい。
【0094】
情報処理によりプロセッサ11,201,302,401が実現する各機能は、その一部又は全てをロジック回路などのようなプログラムに基づかない情報処理を実行するハードウェアにより実現することも可能である。また上記の各機能のそれぞれは、上記のロジック回路などのハードウェアにソフトウェア制御を組み合わせて実現することも可能である。
【0095】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0096】
100(100-1,100-2)…店舗システム、200…ユーザ端末、300…カート端末、400…クラウドサーバ、500…通信ネットワーク、1…店舗サーバ、2…会計機、3…ゲートウェイ、4…アクセスポイント、5…店内通信ネットワーク、11,201,302,401…プロセッサ、12,202,303,402…メインメモリ、13,203,304,403…補助記憶ユニット、14…通信インタフェース、15,210,308,405…伝送路、204,305…タッチパネル、205…カメラ、206,306…サウンドユニット、207…センサ群、208,307…無線通信ユニット、209…モバイル通信ユニット、301…バーコードスキャナ、404…通信インタフェース。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12