(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023167093
(43)【公開日】2023-11-24
(54)【発明の名称】登録サーバ、登録方法及びプログラム
(51)【国際特許分類】
G06Q 50/10 20120101AFI20231116BHJP
【FI】
G06Q50/10
【審査請求】未請求
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2022077996
(22)【出願日】2022-05-11
(71)【出願人】
【識別番号】516297770
【氏名又は名称】株式会社スマート・ソリューション・テクノロジー
(74)【代理人】
【識別番号】100095407
【弁理士】
【氏名又は名称】木村 満
(74)【代理人】
【識別番号】100132883
【弁理士】
【氏名又は名称】森川 泰司
(74)【代理人】
【識別番号】100202913
【弁理士】
【氏名又は名称】武山 敦史
(72)【発明者】
【氏名】山本 篤
【テーマコード(参考)】
5L049
【Fターム(参考)】
5L049CC11
(57)【要約】
【課題】短時間のうちに送信された多数の登録情報をデータベースに登録することが可能な登録サーバ、登録方法及びプログラムを提供する。
【解決手段】登録サーバ300は、需要により処理能力が増減し、登録情報データベース333に登録する登録情報を取得する取得部341と、取得部341で取得した登録情報を一時的にキュー332に格納するキュー格納部343と、キュー332に格納された登録情報から一定量以下のデータ量の登録情報を抽出し、登録情報データベース333に登録する登録部344と、を備える。
【選択図】
図5
【特許請求の範囲】
【請求項1】
需要により処理能力が増減し、登録情報データベースに登録する登録情報を取得する取得部と、
前記取得部で取得した登録情報を一時的にバッファに格納するバッファ格納部と、
前記バッファに格納された登録情報から一定量以下のデータ量の登録情報を抽出し、前記登録情報データベースに登録する登録部と、
を備える登録サーバ。
【請求項2】
前記取得部で取得した登録情報が前記登録情報データベースに登録可能なものかどうかを検証する検証部をさらに備え、
前記バッファ格納部は、前記検証部で前記登録情報データベースに登録可能であると検証された登録情報を前記バッファに格納する、
請求項1に記載の登録サーバ。
【請求項3】
前記登録部は、前記バッファに対して一定のポーリング周期でポーリングを行うことで、前記バッファに格納された登録情報を抽出する、
請求項1又は2に記載の登録サーバ。
【請求項4】
前記バッファは、前記取得部で取得した登録情報を順番に並べるキューであり、
前記登録部は、前記キューに格納された最も古い登録情報から古い順番に登録情報を抽出する、
請求項1又は2に記載の登録サーバ。
【請求項5】
取得部とバッファ格納部と登録部とを備え、前記取得部は需要により処理能力が増減する登録サーバが実行する登録方法であって、
前記取得部が、登録情報データベースに登録する登録情報を取得する工程と、
前記バッファ格納部が、前記取得部で取得した登録情報を一時的にバッファに格納する工程と、
前記登録部が、前記バッファに格納された登録情報から一定量以下のデータ量の登録情報を抽出し、前記登録情報データベースに登録する工程と、
を含む登録方法。
【請求項6】
コンピュータを、
需要により処理能力が増減し、登録情報データベースに登録する登録情報を取得する取得手段、
前記取得手段で取得した登録情報を一時的にバッファに格納するバッファ格納手段、
前記バッファに格納された登録情報から一定量以下のデータ量の登録情報を抽出し、前記登録情報データベースに登録する登録手段、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、登録サーバ、登録方法及びプログラムに関する。
【背景技術】
【0002】
顧客による店舗への来店頻度を向上させるため、スマートフォンのような携帯端末を所持する顧客が店舗に来店した際に、携帯端末と店舗に設置された通信端末との間で通信を行い、顧客にポイントを付与するチェックインサービスが提供されている。例えば、特許文献1には、携帯端末が店舗端末からチェックイン通知を取得し、顧客によるチェックインを希望する旨の操作を受け付けると、携帯端末を所持する顧客にポイントを付与するチェックインシステムが開示されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1のチェックインシステムは、通信の高速化と通信可能領域の制限とを両立でき、有用であるが、短時間に多数の携帯端末から大量の情報が送信される場合を想定しておらず、データベースに情報を格納する処理が追いつかない可能性がある。そして、このような問題は、チェックインシステムにおいてポイント付与の要求を受け付ける場合に限られず、短時間のうちに送信された多数の登録情報をデータベースに登録する処理を行う場合にも存在している。
【0005】
本発明は、このような背景に基づいてなされたものであり、短時間のうちに送信された多数の登録情報をデータベースに登録することが可能な登録サーバ、登録方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
上記目的を達成するために、本発明の第1の観点に係る登録サーバは、
需要により処理能力が増減し、登録情報データベースに登録する登録情報を取得する取得部と、
前記取得部で取得した登録情報を一時的にバッファに格納するバッファ格納部と、
前記バッファに格納された登録情報から一定量以下のデータ量の登録情報を抽出し、前記登録情報データベースに登録する登録部と、
を備える。
【0007】
前記取得部で取得した登録情報が前記登録情報データベースに登録可能なものかどうかを検証する検証部をさらに備え、
前記バッファ格納部は、前記検証部で前記登録情報データベースに登録可能であると検証された登録情報を前記バッファに格納してもよい。
【0008】
前記登録部は、前記バッファに対して一定のポーリング周期でポーリングを行うことで、前記バッファに格納された登録情報を抽出してもよい。
【0009】
前記バッファは、前記取得部で取得した登録情報を順番に並べるキューであり、
前記登録部は、前記キューに格納された最も古い登録情報から古い順番に登録情報を抽出してもよい。
【0010】
上記目的を達成するために、本発明の第2の観点に係る登録方法は、
取得部とバッファ格納部と登録部とを備え、前記取得部は需要により処理能力が増減する登録サーバが実行する登録方法であって、
前記取得部が、登録情報データベースに登録する登録情報を取得する工程と、
前記バッファ格納部が、前記取得部で取得した登録情報を一時的にバッファに格納する工程と、
前記登録部が、前記バッファに格納された登録情報から一定量以下のデータ量の登録情報を抽出し、前記登録情報データベースに登録する工程と、
を含む。
【0011】
上記目的を達成するために、本発明の第3の観点に係るプログラムは、
コンピュータを、
需要により処理能力が増減し、登録情報データベースに登録する登録情報を取得する取得手段、
前記取得手段で取得した登録情報を一時的にバッファに格納するバッファ格納手段、
前記バッファに格納された登録情報から一定量以下のデータ量の登録情報を抽出し、前記登録情報データベースに登録する登録手段、
として機能させる。
【発明の効果】
【0012】
本発明によれば、短時間のうちに送信された多数の登録情報をデータベースに登録することが可能な登録サーバ、登録方法及びプログラムを提供できる。
【図面の簡単な説明】
【0013】
【
図1】本発明の実施の形態に係るチェックインシステムの構成を示す概略図である。
【
図2】本発明の実施の形態に係る店舗端末の構成を示すブロック図である。
【
図3】本発明の実施の形態に係る顧客端末の構成を示すブロック図である。
【
図4】(a)は、顧客端末に表示される受付画面の一例を示す図であり、(b)は、顧客端末に表示される確認画面の一例を示す図であり、(c)は、顧客端末に表示される完了画面の一例を示す図である。
【
図5】本発明の実施の形態に係る登録サーバの構成を示すブロック図である。
【
図6】(a)は、店舗情報データベースのデータテーブルの一例を示す図であり、(b)は、キューに格納された登録情報のデータ構造の一例を示す図である。
【
図7】登録情報データベースのデータテーブルの一例を示す図である。
【
図8】本発明の実施の形態に係る音声出力処理の流れを示すフローチャートである。
【
図9】本発明の実施の形態に係る登録受付処理の流れを示すフローチャートである。
【
図10】本発明の実施の形態に係る検証処理の流れを示すフローチャートである。
【
図11】本発明の実施の形態に係る登録完了処理の流れを示すフローチャートである。
【発明を実施するための形態】
【0014】
以下、本発明の実施の形態に係る登録サーバ、登録方法及びプログラムを、図面を参照しながら詳細に説明する。各図面においては、同一又は同等の部分に同一の符号を付す。
【0015】
実施の形態では、登録システムの一例として店舗側が顧客によるチェックインを受け付けるためのチェックインシステムを説明する。また、実施の形態では、チェックインサービスを提供する店舗の「管理者」、及び店舗に来店してチェックインサービスを利用する「顧客」のそれぞれを「ユーザ」と呼ぶことがある。
【0016】
図1は、実施の形態に係るチェックインシステム1の構成を示す。チェックインシステム1は、店舗側が顧客によるチェックインを受け付けるシステムである。チェックインシステム1は、店舗端末100、顧客端末200と、登録サーバ300と、を備える。店舗端末100と顧客端末200とは、音声を伝送媒体とした通信によりデータを送受信する。登録サーバ300と、店舗端末100及び顧客端末200とは、インターネットのような通信ネットワーク2を介して互いにデータを送受信する。
【0017】
店舗端末100は、店舗の管理者が管理する通信端末の一例であり、例えば、汎用コンピュータである。店舗端末100は、店舗ID(Identification)を含む音声信号を顧客端末200に向けて送信する。店舗IDは、店舗毎に割り振られた固有の識別情報であり、例えば、アルファベット、数字及び記号の少なくとも1つを組み合わせて表現される。
【0018】
顧客端末200は、店舗に入店する顧客がそれぞれ所持する携帯端末の一例であり、例えば、スマートフォンである。顧客端末200は、当該顧客の指示に基づいて店舗S内で店舗端末100からの音声信号を受信し、店舗ID及び顧客IDを含む登録情報を登録サーバ300に送信することで、登録サーバ300にチェックインの登録を要求する。顧客IDは、顧客毎に割り振られた固有の識別情報であり、店舗IDと同様に、例えば、アルファベット、数字及び記号の少なくとも1つを組み合わせて表現される。
【0019】
登録サーバ300は、例えば、クラウド上に設けられたコンピュータである。登録サーバ300では、仮想マシンを追加するスケーリングといった手法により処理能力を向上させてもよい。登録サーバ300は、各顧客端末200から送信された登録情報を取得する。顧客端末200から取得した登録情報の妥当性を検証し、登録情報の妥当性が確認された登録情報を一時的な格納場所であるバッファ、例えば、キューに格納する。登録サーバ300は、ポーリングを受け付けると、バッファに格納された登録情報から一定量以下のデータ量の登録情報を抽出する。一度に抽出する登録情報のデータ量は、登録サーバ300による登録情報データベースへの登録処理の速度により制限される。
【0020】
登録サーバ300は、バッファから登録情報を抽出すると、顧客のチェックインを管理する登録情報データベースに登録する。登録サーバ300では、同一顧客による登録情報の二重登録を回避し、登録情報データベースの信頼性を確保するため、登録情報データベースを2つ以上にはしない。このように一定量以下のデータ量の登録情報を、時間間隔を空けてデータベースに送信するため、一度に大量の登録情報をデータベースに送信することがなく、登録サーバ300の処理が追いつかなくなる事態を回避できる。
以上が、チェックインシステム1の構成である。
【0021】
図2は、実施の形態に係る店舗端末100の構成を示すブロック図である。店舗端末100は、操作部110と、表示部120と、通信部130と、発音部140と、変調部150と、記憶部160と、制御部170と、を備える。店舗端末100の各部は、内部バスを介して相互に通信可能に接続されている。
【0022】
操作部110は、ユーザの指示を受け付け、受け付けた操作に対応する操作信号を制御部170に供給する。操作部110は、例えば、マウス、キーボードといった入力デバイスを備える。
【0023】
表示部120は、表示駆動回路を備え、制御部170から供給されるデータに基づいて、ユーザに向けて各種の画像を表示する。表示部120は、例えば、液晶ディスプレイのような表示デバイスを備える。
【0024】
通信部130は、外部の機器と通信するための通信インターフェースである。通信部130は、例えば、インターネットのような通信ネットワーク2、USB(Universal Serial Bus)のような入出力端子を介して外部の機器と通信する。
【0025】
発音部140は、変調部150から供給された音声信号をD/A(デジタル/アナログ)変換し、アナログ化された音声信号をスピーカに供給する。スピーカから出力される音声の音量は、店舗S内で集音でき、店舗S外で集音できない程度に予め調整する。
【0026】
変調部150は、制御部170の制御に従って、店舗IDに関する情報を音声信号に変換する。より詳細に説明すると、変調部150は、制御部170から供給された店舗IDに関する情報で搬送波を変調し、変調された搬送波(音声信号)を発音部140に出力する。音声信号は、店舗IDに関する情報を含むユニット単位の音を繰り返すように構成されている。音声信号の変調等の処理としては、無線通信で用いられているのと同様の処理を実行すればよい。
【0027】
記憶部160は、例えば、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ、ハードディスクを含む。記憶部160は、制御部170に実行されるプログラムや各種のデータ、例えば、店舗IDを記憶する。また、記憶部160は、各種の情報を一時的に記憶し、制御部170が処理を実行するためのワークメモリとして機能する。
【0028】
制御部170は、CPU(Central Processing Unit)のようなプロセッサを備え、店舗端末100の各部の制御を行う。制御部170は、記憶部160に記憶されているプログラムを実行することにより、
図8の音声出力処理を実行する。具体的には、店舗の管理者からの指示を受け付けると、登録サーバ300に記憶された店舗IDを取得して記憶部160に記憶させる。次に、変調部150を制御して店舗IDに関する情報を含む音声信号を生成させ、発音部140を制御して音声信号をスピーカから一定期間だけ出力させる。
以上が、店舗端末100の構成である。
【0029】
図3は、実施の形態に係る顧客端末200の構成を示すブロック図である。顧客端末200は、操作部210と、表示部220と、通信部230と、集音部240と、復調部250と、記憶部260と、制御部270と、を備える。顧客端末200の各部は、内部バスを介して相互に通信可能に接続されている。
【0030】
操作部210は、ユーザの操作を受け付け、受け付けた操作に対応する操作信号を制御部270に供給する。表示部220は、表示駆動回路を備え、制御部270から供給されるデータに基づいて各種の画像を表示する。表示部220は、例えば、チェックイン登録を受け付ける受付画面を表示する。操作部210と表示部220とは、タッチパネルによって一体に構成されている。タッチパネルは、ユーザによる操作を受け付ける操作画面を表示すると共に、操作画面においてユーザが接触操作を行った位置に対応する操作信号を制御部270に供給する。
【0031】
通信部230は、通信部130と同様に外部の機器と通信するための通信インターフェースである。
【0032】
集音部240は、マイクで集音した音声を電気信号に変換し、当該電気信号をA/D(アナログ/デジタル)変換し、デジタル化された電気信号を復調部250に供給する。
【0033】
復調部250は、制御部270の制御に従って、集音部240で集音された音声信号を店舗IDに変換する。より詳細に説明すると、復調部250は、集音部240のマイクから供給された音声信号から店舗IDを復調し、店舗IDに関するデータを制御部270に出力する。音声信号の復調等の処理としては、無線通信で用いられているのと同様の処理を実行すればよい。
【0034】
記憶部260は、例えば、RAM、ROM、フラッシュメモリを備える。記憶部260は、記憶部160と同様に、制御部270に実行されるプログラムや各種のデータ、例えば、顧客IDを記憶する。また、記憶部260は、制御部270が処理を実行するためのワークメモリとしても機能する。
【0035】
制御部270は、プロセッサを備え、顧客端末200の各部の制御を行う。プロセッサは、例えば、CPUである。制御部270は、記憶部260に記憶されているプログラムを実行することにより、
図9の登録受付処理を実行する。具体的には、チェックイン登録を希望する顧客がアプリケーションを起動させると、制御部270は、
図4(a)に示す受付画面を表示部220に表示させる。受付画面には、「チェックイン」タブが設けられている。顧客が「チェックイン」タブをタップし、操作部210がチェックイン登録を要求する指示を受け付けると、制御部270は、店舗端末100から出力された音声信号を集音し、復調部250を制御して音声信号から店舗IDに関する情報を復調させる。
【0036】
次いで、制御部270は、復調部250で復調された店舗ID、記憶部260に記憶された顧客ID及び登録時刻に関する情報を登録サーバ300に送信する。店舗ID、顧客ID及び登録時刻に関する情報は、登録情報データベースに登録される登録情報の一例である。登録時刻は、操作部210が顧客によるチェックイン登録に関する指示を受け付けた時点で、制御部270の内部タイムから読み取った時刻である。登録サーバ300が複数存在している場合、登録情報を受け付け可能な状態にあるいずれかの登録サーバ300に登録情報を送信すればよい。
【0037】
登録情報を受け取った登録サーバ300が顧客端末200から送信された登録情報の妥当性を検証し、当該登録情報が登録情報データベースに登録可能であると検証されたことが通知されると、制御部270は、
図4(b)に示す確認画面を表示部220に表示させる。確認画面は、チェックイン登録を完了させるかどうかを顧客に問い合わせる画面であり、チェックイン登録を行うか行わないかを選択するボタンを備える。顧客は、表示部220の確認画面に表示された店舗情報を確認し、その内容に間違いなければ、確認画面の「実行」ボタンをタップする。すると、制御部270は、登録情報を再び登録サーバ300に送信し、
図4(c)に示す完了画面を表示部220に表示させる。完了画面は、チェックインが完了した旨の画面である。
以上が、顧客端末200の構成である。
【0038】
図5は、実施の形態に係る登録サーバ300の構成を示すブロック図である。登録サーバ300は、通信部310と、計時部320と、記憶部330と、制御部340と、を備える。登録サーバ300の各部は、内部バスを介して相互に通信可能に接続されている。
【0039】
通信部310は、通信部130と同様に外部の機器と通信するための通信インターフェースである。通信部310は、例えば、通信ネットワーク2を介して店舗端末100、顧客端末200及びNTP(Network Time Protocol)サーバと通信可能に構成されている。
【0040】
計時部320は、現在時刻を計時するタイマを備え、登録サーバ300の内部時計として機能する。計時部320が計時する現在時刻であるサーバ時刻は、通信ネットワーク2を介して接続されているNTPサーバから定期的に取得した時刻と同期するように補正される。NTPサーバは、NTPを用いて正確な現在時刻のデータを配信するサーバである。計時部320は、制御部340の要求に応じて、サーバ時刻に関する情報を制御部340に供給する。
【0041】
記憶部330は、例えば、RAM、ROM、フラッシュメモリを備える。記憶部330は、制御部340に実行されるプログラムや各種のデータを記憶する。また、記憶部330は、制御部340が処理を実行するためのワークメモリとしても機能する。さらに、記憶部330は、店舗情報データベース331と、キュー332と、登録情報データベース333と、を備える。
【0042】
図6(a)は、店舗情報データベース331のデータテーブルの一例を示す図である。店舗情報データベース331は、店舗に関する情報、例えば、店舗ID、店舗名、受付期間に関する情報を記憶する。受付期間は、顧客によるチェックインを受け付ける期間であり、例えば、営業開始から営業終了までの期間である。
【0043】
図6(b)は、キュー332に格納された登録情報のデータ構造の一例を示す図である。キュー332は、一時的なデータの保管領域であり、顧客端末200から送信された登録情報を記憶するバッファの一例である。キューは、1次元配列で1列に格納されたデータ構造を格納し、データの格納及び取り出しをFIFO(First-In First-Out)によって行なう。キュー332では、登録サーバ300が取得した順番に登録情報を並べてもよいが、実装上の都合を考慮して、キュー332のために確保された記憶領域の中での実際の位置や順序とは別に、取得した順番に関する情報を内部的に記憶することが好ましい。
【0044】
図7は、登録情報データベース333のデータテーブルの一例を示す図である。登録情報データベース333は、店舗ID、顧客ID及び登録時刻に関する情報を記憶する。登録サーバ300又は外部のサーバは、登録情報データベース333に記憶された店舗ID、顧客ID及び登録時刻に関する情報に基づいて、例えば、各顧客に付与されたポイントに関する情報を記憶するポイントデータベースのポイント数を更新すればよい。
【0045】
制御部340は、プロセッサを備え、登録サーバ300の各部の制御を行う。プロセッサは、例えば、CPUである。制御部340は、記憶部330に記憶されているプログラムを実行することにより
図9の登録受付処理、
図10の検証処理及び
図11の登録完了処理を実行する。制御部340は、機能的には、取得部341と、検証部342と、キュー格納部343と、登録部344と、を備える。
【0046】
取得部341は、顧客端末200から送信された登録情報を取得する。顧客端末200から送信された登録情報は、需要により処理能力が増減する取得部のいずれかにより取得される。例えば、各顧客端末200からのチェックイン登録の需要に応じて、例えば、仮想マシンの台数を増減するスケーリングによりその処理能力を増やせばよい。
【0047】
検証部342は、取得部341で取得された登録情報が登録情報データベース333に登録可能なものかどうかを検証し、検証により登録情報が当該登録情報データベース333に登録可能であると判定された場合に、
図6(a)の店舗情報データベース331から店舗IDに対応する店舗名、受付期間といった店舗情報を読み取り、読み取った店舗情報を顧客端末200に向けて送信する。
【0048】
登録情報が登録情報データベース333に登録可能かどうかは、店舗情報データベース331に格納された店舗情報に基づいて判定する。具体的には、登録情報に含まれる店舗IDが店舗情報データベース331に格納され、登録情報に含まれる登録時刻が店舗IDに対応するチェックインの受付期間内である場合に、登録情報を送信した顧客のチェックイン登録が可能であると判定すればよい。
【0049】
キュー格納部343は、取得部341が検証部342で検証済みの登録情報を顧客端末200から再度取得すると、当該登録情報を一時的にキュー332に格納する。具体的には、取得した登録情報を、登録情報を取得した順番に関する情報と共にキュー332に格納すればよい。キュー格納部343は、登録情報をバッファの一例であるキューに一時的に格納するバッファ格納部の一例である。
【0050】
登録部344は、キュー332に登録情報が格納されているかどうかを問い合わせ、キュー332に登録情報が格納されている場合にキュー332に格納された最も古い登録情報から古い順番に一定量以下のデータ量の登録情報を抽出し、抽出された登録情報を登録情報データベース333に登録する。登録部344が一度に抽出する登録情報のデータ量は、登録サーバ300による登録情報の登録情報データベース333への登録処理の速度により制限される。キュー332への登録情報の問い合わせとしては、例えば、キュー332に対して一定のポーリング周期で問い合わせを繰り返し行うポーリングを実施すればよい。
以上が、登録サーバ300の構成である。
【0051】
次に、店舗端末100、顧客端末200及び登録サーバ300がそれぞれ実行する一連の流れを説明する。登録サーバ300には、顧客に関する情報、各顧客がどの店舗Sを登録しているかに関する情報が格納され、チェックインサービスに登録済みの顧客が顧客端末200を操作して、店舗端末100から受信した店舗IDを登録サーバ300に送信することで、ユーザ登録済みの店舗に関するチェックイン登録を行う。
【0052】
(音声出力処理)
まず、
図8を参照して、店舗端末100が実行する音声出力処理の流れを説明する。音声出力処理は、店舗端末100のスピーカから顧客によるチェックイン登録に必要な店舗IDに関する情報を含む音声信号を出力させる処理である。
【0053】
店舗Sの管理者は、店舗Sに設置された店舗端末100を操作して、該当する店舗Sの店舗IDを含む音声を発音部140のスピーカから発音させる操作を実行する。店舗端末100の制御部170は、管理者による操作を受け付けると、通信部130を介して登録サーバ300に該当する店舗Sの店舗IDの送信を要求する(ステップS11)。登録サーバ300の制御部340は、要求に応答して
図6(a)の店舗情報データベース331を参照し、該当する店舗Sの店舗IDを抽出し、通信部310を介して店舗端末100に送信する。
【0054】
制御部170は、通信部130を介して登録サーバ300に要求した店舗Sの店舗IDを受信し、受信した店舗IDを記憶部160に記憶させる(ステップS12)。次に、制御部170は、ステップS12の処理で受信した店舗IDを記憶部160から読み出し、店舗IDに基づいて音声信号を生成する(ステップS13)。具体的には、制御部170は、変調部150を制御して、店舗IDに基づいて搬送波を処理することで音声信号を生成する。
【0055】
次に、制御部170は、ステップS13の処理で生成された音声信号を発音部140に供給し、当該音声信号に基づく音声を一定期間スピーカから繰り返し出力させ(ステップS14)、処理を終了する。
以上が、音声出力処理の流れである。
【0056】
(登録受付処理)
次に、
図9のフローチャートを参照して、顧客端末200及び登録サーバ300が協働して実行する登録受付処理の流れを説明する。登録受付処理は、顧客が行ったチェックイン登録の妥当性を検証し、チェックイン登録が妥当であると判定された場合に顧客によるチェックイン登録を受け付ける処理である。
【0057】
顧客端末200を所持する顧客が顧客端末200にインストールされたアプリケーションを起動すると、顧客端末200は、表示部220に
図4(a)に示す受付画面を表示させる。顧客は、チェックイン登録を行いたいタイミングで画面上の「チェックイン」タブをタップする。顧客端末200の制御部270は、顧客による操作を受け付けると、店舗端末100からの音声信号を集音するために集音部240のマイクを起動し、受信した音声信号から店舗IDを取得する(ステップS21)。具体的には、集音部240を制御して音声信号を集音し、復調部250を制御して集音した音声信号から店舗IDを復元する。
【0058】
次に、制御部270は、ステップS21で取得した店舗ID、記憶部260に記憶された顧客ID、及び顧客による登録時刻を含む登録情報を送信する(ステップS22)。顧客による登録時刻は、顧客が画面上の「チェックイン」タブをタップした時刻であり、制御部270の内部タイマにより生成される。
【0059】
登録サーバ300の取得部341が顧客端末200から登録情報を受信すると(ステップS31)、検証部342は、ステップS31で取得した店舗IDの妥当性を検証する検証処理を実行する(ステップS32)。以下、
図10を参照して、登録サーバ300の検証部342が実行する検証処理の流れを説明する。
【0060】
(検証処理)
まず、検証部342は、取得した店舗IDに該当する店舗が
図6(a)の店舗情報データベース331に格納されているかどうかを判定する(ステップS321)。店舗情報データベース331に格納されていると判定された場合(ステップS321;Yes)、処理をステップS322に移動する。他方、店舗情報データベース331に格納されていないと判定された場合(ステップS321;No)、処理をステップS323に移動する。
【0061】
ステップS321の処理でYesの場合、検証部342は、店舗IDを送信した顧客のチェックイン登録が可能かどうかを判定する(ステップS322)。例えば、顧客の登録時刻が店舗情報データベース331に記憶された当該店舗Sの受付期間内に含まれる場合に、店舗IDを送信した顧客のチェックイン登録が可能であると判定する。
【0062】
店舗IDを送信した顧客のチェックイン登録が可能であると判定された場合(ステップS322;Yes)、処理をリターンする。他方、店舗IDを送信した顧客のチェックイン登録が可能でないと判定された場合(ステップS322;No)、処理をステップS323に移動する。
【0063】
ステップS321又はステップS322の処理でNoの場合、検証部342は、エラーメッセージを顧客端末200に向けて送信し(ステップS323)、検証処理を終了する。顧客端末200は、受信したエラーメッセージを表示部220に表示させ、登録受付処理を終了する。
以上が、検証処理の流れである。
【0064】
図9の登録受付処理に戻り、登録サーバ300の検証部342は、店舗情報を顧客端末200に向けて送信する(ステップS33)。店舗情報は、店舗名、受付期間を含む情報であり、店舗情報データベース331から店舗IDに対応するものが読み取られる。
【0065】
顧客端末200の制御部270は、登録サーバ300からの店舗情報を受信すると(ステップS23)、店舗情報を含む確認画面を表示部220に表示させる(ステップS24)。
図4(b)は、確認画面の一例であり、確認画面には、チェックインの「実行」、「キャンセル」を選択するボタンが配置されている。顧客は、表示部220の確認画面に表示された店舗情報を確認し、その内容に間違いなければ、確認画面の「実行」ボタンをタップする。顧客端末200の制御部270は、顧客の操作を検知すると、登録サーバ300に店舗ID、顧客ID及び登録時刻を含む登録情報を送信する(ステップS25)。
【0066】
登録サーバ300の制御部340は、登録情報を受信すると(ステップS34)、
図10の検証処理を再び実行する(ステップS35)。
図10の検証処理で登録が妥当であると判定されると、制御部340は、ステップS35の処理で取得した登録情報を記憶部330のキュー332に一時的に格納する(ステップS36)。次に、制御部340は、顧客端末200に登録受付情報を送信し(ステップS37)、処理を終了する。登録受付情報は、顧客によるチェックイン登録を受け付けたことを示す情報である。
【0067】
顧客端末200の制御部270は、登録サーバ300から登録受付情報を受信すると(ステップS26)、登録受付情報を含む完了画面を表示部220に表示させ(ステップS27)、処理を終了する。
図4(c)は、完了画面の一例であり、例えば、チェックイン登録を受け付けた旨のメッセージが含まれている。
以上が、登録受付処理の流れである。
【0068】
(登録完了処理)
次に、
図11を参照して、登録サーバ300が実行する登録完了処理の流れを説明する。以下、登録サーバ300の電源が投入され、制御部340が記憶部330に記憶されたプログラムを起動しているものとする。
【0069】
登録サーバ300の登録部344は、電源投入後又は前回のポーリングを実行した時点からポーリング周期が経過したかどうかを判定する(ステップS41)。ポーリングは、キュー332に登録情報が格納されているかどうかを確認する処理である。電源投入後又は前回のポーリングを実行した時点からポーリング周期が経過したと判定された場合(ステップS41;Yes)、処理をステップS42に移動する。他方、電源投入後又は前回のポーリングを実行した時点からポーリング周期が経過していないと判定された場合(ステップS41;No)、ポーリング周期が経過するまで待機する。
【0070】
ステップS41の処理でYesの場合、登録部344は、キュー332に対するポーリングを実行し(ステップS42)、キュー332から登録情報を取得したかどうかを判定する(ステップS43)。キュー332から登録情報を取得したと判定された場合(ステップS43;Yes)、登録部344は、キュー332から取得した登録情報を登録情報データベース333に記憶させ(ステップS44)、処理をステップS41に戻す。他方、キュー332から登録情報を取得していないと判定された場合(ステップS43;No)、処理をそのままステップS41に戻す。
以上が、登録完了処理の流れである。
【0071】
以上説明したように、実施の形態に係る登録サーバ300は、需要により処理能力が増減し、登録情報データベース333に登録する登録情報を取得する取得部341と、取得部341で取得した登録情報を一時的にキュー332に格納するキュー格納部343と、キュー332に格納された登録情報から一定量以下のデータ量の登録情報を抽出し、登録情報データベース333に登録する登録部344と、を備える。このため、登録情報が大量に送信されたとしても、登録情報データベース333への登録の前段階でキュー処理を行うことで、登録情報データベース333に対する負荷を制御できる。これにより登録情報データベース333で登録情報を取りこぼすことを防止できる。
【0072】
本発明は上記の実施形態に限られず、以下に述べる変形も可能である。
【0073】
(変形例)
上記実施の形態では、店舗端末100が店舗IDに関する情報を含む音声信号を生成していたが、本発明はこれに限られない。例えば、登録サーバ300が店舗IDに関する情報を含む音声信号を生成し、店舗端末100に送信してもよい。
【0074】
上記実施の形態では、店舗端末100と顧客端末200とは、音声を伝送媒体とした通信によりデータを送受信していたが、本発明はこれに限られない。例えば、NFC(Near Field Communication)の近距離無線通信技術を用いてデータを送受信してもよい。
【0075】
上記実施の形態では、顧客がアプリケーションを起動して店舗IDを取得していたが、本発明はこれに限られない。例えば、顧客が顧客端末200にインストールされたブラウザを操作してチェックインサービス用のウェブサイトにアクセスし、このウェブサイトから店舗IDを取得してもよい。
【0076】
上記実施の形態では、顧客端末200が顧客による登録操作を受け付けた登録時刻を読み取り、登録サーバ300に送信していたが、本発明はこれに限られない。店舗端末100から出力された音声信号を集音した顧客のチェックイン登録を受付時間によらず許可するのであれば、顧客端末200は登録時刻の読み取り及び送信を省略してもよい。
【0077】
また、店舗端末100が音声信号生成時の生成時刻を読み取り、この生成時刻に関する情報を音声信号に含めて出力し、顧客端末200が当該生成時刻に関する情報を登録情報に含めて登録サーバ300に送信してもよい。登録サーバ300は、生成時刻と店舗情報データベース331に記憶された受付期間とを比較することで、受付期間外に生成された音声信号を含む登録情報の登録を受け付けず、当該音声信号を送信した顧客の顧客端末200にエラーメッセージを送信してもよい。これにより顧客が不正録音した音声信号を用いてチェックイン登録を行うことを防止できる。
【0078】
上記実施の形態では、登録サーバ300がキュー332及びキュー格納部343を備えていたが、本発明はこれに限られない。登録サーバ300とは別体の一時格納サーバがキューを備え、登録サーバ300から送信された登録情報を当該一時格納サーバが取得してキューに格納し、登録サーバ300からの要求に応じて当該一時格納サーバのキューから登録情報を抽出して登録サーバ300に送信してもよい。
【0079】
上記実施の形態では、登録サーバ300が登録情報データベース333を備えていたが、本発明はこれに限られない。例えば、登録サーバ300(第1のサーバ)とは別のサーバ(第2のサーバ)が登録情報データベース333を備え、第2のサーバが、登録サーバ300のキュー332に登録情報が格納されているかどうかを問い合わせ、キュー332に登録情報が格納されている場合にキュー332に格納された最も古い登録情報から古い順番に一定量以下のデータ量の登録情報を取得し、取得された登録情報を登録情報データベース333に登録してもよい。
【0080】
上記実施の形態では、データの一時格納を行うバッファとしてデータの格納及び取り出しをFIFOによって行なうキュー332を用いていたが、本発明はこれに限られない。バッファとしては、例えば、データの格納及び取り出しをLIFO(Last In First Out)によって行うスタックを用いてもよい。
【0081】
上記実施の形態では、登録サーバ300は、顧客端末200からの取得した登録情報の妥当性を検証し、登録情報の妥当性が確認された登録情報に基づいてキューを生成していたが、本発明はこれに限られない。必要に応じて顧客端末200からの取得した登録情報の妥当性の検証を省略してもよい。例えば、1回目の妥当性の検証のみを行い、2回目の妥当性の検証を省略してもよい。
【0082】
上記実施の形態では、店舗端末100が汎用コンピュータであったが、本発明はこれに限られない。店舗端末100は、音声を発音するマイクを備える他の機器であってもよく、例えば、スマートフォンやウェアラブルデバイスであってもよい。ウェアラブルデバイスは、身体に装着可能なデバイスであり、例えば、手首に装着するスマートウォッチである。
【0083】
上記実施の形態では、顧客端末200がスマートフォンであったが、本発明はこれに限られない。顧客端末200は、音声を集音するマイクを備える他の機器であってもよく、例えば、ノートパソコンやウェアラブルデバイスであってもよい。
【0084】
上記実施の形態では、登録サーバ300は、クラウド上に設けられたコンピュータであったが、本発明はこれに限られない。例えば、登録サーバ300を専用のシステムで実現してもよく、汎用コンピュータで実現してもよい。
【0085】
上記実施の形態では、店舗端末100、顧客端末200及び登録サーバ300の記憶部160、260、330に各種データが記憶されていたが、本発明はこれに限定されない。例えば、各種データは、その全部又は一部が通信ネットワークを介して外部の制御装置やコンピュータに記憶されていてもよい。
【0086】
上記実施の形態では、店舗端末100、顧客端末200及び登録サーバ300は、記憶部160、260、330に記憶されたプログラムに基づいて動作していたが、本発明はこれに限定されない。例えば、プログラムにより実現された機能的な構成をハードウェアにより実現してもよい。
【0087】
上記実施の形態では、店舗端末100、顧客端末200及び登録サーバ300が実行する処理は、上述の物理的な構成を備える装置が記憶部160、260、330に記憶されたプログラムを実行することによって実現されていたが、本発明は、プログラムとして実現されてもよく、そのプログラムが記録された記憶媒体として実現されてもよい。
【0088】
また、上述の処理動作を実行させるためのプログラムを、フレキシブルディスク、CD-ROM(Compact Disk Read-Only Memory)、DVD(Digital Versatile Disk)、MO(Magneto-Optical Disk)といったコンピュータにより読み取り可能な非一時的な記録媒体に格納して配布し、そのプログラムをコンピュータにインストールすることにより、上述の処理動作を実行する装置を構成してもよい。
【0089】
上記実施の形態では、登録システムの一例として顧客によるチェックインに関する登録情報をデータベースに登録する場合を例に説明していたが、本発明はこれに限られない。登録システムとしては、例えば、勤怠管理、出席管理、会員登録、懸賞への応募、商品やサービスについての問い合わせに関する登録情報をデータベースに登録する処理を行ってもよい。
【0090】
上記実施の形態は例示であり、本発明はこれらに限定されるものではなく、特許請求の範囲に記載した発明の趣旨を逸脱しない範囲でさまざまな実施の形態が可能である。実施の形態や変形例で記載した構成要素は自由に組み合わせることが可能である。また、特許請求の範囲に記載した発明と均等な発明も本発明に含まれる。
【符号の説明】
【0091】
1 チェックインシステム
2 通信ネットワーク
100 店舗端末
110,210 操作部
120,220 表示部
130,230,310 通信部
140 発音部
150 変調部
160,260,330 記憶部
170,270,340 制御部
200 顧客端末
240 集音部
250 復調部
300 登録サーバ
320 計時部
331 店舗情報データベース
332 キュー
333 登録情報データベース
341 取得部
342 検証部
343 キュー格納部
344 登録部