JP5714712B2 - サーバ装置、クーポン管理方法及び通信システム - Google Patents
サーバ装置、クーポン管理方法及び通信システム Download PDFInfo
- Publication number
- JP5714712B2 JP5714712B2 JP2013536307A JP2013536307A JP5714712B2 JP 5714712 B2 JP5714712 B2 JP 5714712B2 JP 2013536307 A JP2013536307 A JP 2013536307A JP 2013536307 A JP2013536307 A JP 2013536307A JP 5714712 B2 JP5714712 B2 JP 5714712B2
- Authority
- JP
- Japan
- Prior art keywords
- user
- terminal device
- electronic coupon
- terminal
- coupon
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/387—Payment using discounts or coupons
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0207—Discounts or incentives, e.g. coupons or rebates
Landscapes
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Development Economics (AREA)
- Entrepreneurship & Innovation (AREA)
- Game Theory and Decision Science (AREA)
- Economics (AREA)
- Marketing (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Description
また、提供可能な数がユーザ毎に制限された電子クーポンの各ユーザの保有状況を、ユーザ固有の識別子であるユーザIDを用いて管理しても、提供可能な数を超えて電子クーポンが利用される可能性がある。例えば、悪意のあるユーザが複数回会員登録を行うなどして1のユーザに複数のユーザIDが割り当てられた場合、そのユーザは、各ユーザIDを用いて電子クーポンを取得し利用することができる。厳格に1のユーザにつき1のユーザIDを割り当てることのできるシステムでは、ユーザがユーザIDを忘れたりそのユーザIDを用いたユーザ認証に必要なパスワードを忘れたりした場合には、ユーザIDの再発行に係る手続きが煩雑にならざるを得ない、という別の問題が生じる。
そこで、本発明は、端末装置のメモリ領域を共有して複数の電子クーポンが書き込まれる場合であっても、所期の数を超えないように電子クーポンを提供できるようにすることである。
本発明のサーバ装置において、前記第1更新部は、前記未利用数の更新が保留された第2電子クーポンの処理履歴が前記第1記憶部に記憶されているときには、当該未利用数から当該処理履歴に含まれる利用数を減じた数を、前記第2電子クーポンの残数に加算することが好ましい。
本発明のサーバ装置において、前記第2更新部は、前記利用履歴取得部が利用履歴を取得した際、当該処理履歴に含まれる利用日時が書込完了日時よりも後であり、かつ、成功が未確定である書込処理が存在しないときには、前記未利用数から当該利用履歴に含まれる利用数を減じることが好ましい。
本発明のサーバ装置において、前記メモリ領域に第1電子クーポンを書き込む前記書込処理が終了した旨の通知を受け付けた後、前記第1の端末装置から前記書込処理の結果を取得する管理サーバに問い合わせて当該結果を取得する処理結果取得部を備え、前記第1更新部は、前記処理結果取得部により取得された前記結果に応じて前記書込完了日時を更新することが好ましい。
本発明のサーバ装置において、前記提供部は、前記第2記憶部において、前記取得した端末IDに前記取得したユーザIDと異なるユーザIDが対応付けられている場合に、前記条件を満たさないときには、前記処理を実行しないことが好ましい。
本発明のサーバ装置において、前記提供部は、前記第2記憶部において、前記取得した端末IDに前記取得したユーザIDと異なるユーザIDが対応付けられている場合には、前記処理を実行し、前記書込部は、前記条件を満たさないときに前記提供部により前記処理が実行された場合には、前記第2記憶部において前記取得した端末IDに対応付けられたユーザIDを変更しないことが好ましい。
本発明のサーバ装置において、前記取得部は、前記第1の端末装置から前記端末IDを取得したが前記ユーザIDを取得しなかった場合に、前記第2記憶部において当該端末IDにいずれかのユーザIDが対応付けられているときには当該ユーザIDを取得し、前記第2記憶部において当該端末IDがいずれのユーザIDとも対応付けられていないときには新たにユーザIDを発行して取得し、前記書込部は、前記提供部により前記処理が実行された場合に、前記取得部が前記第2記憶部からユーザIDを取得していたときには、前記取得した端末IDに対応付けられたユーザIDを変更せず、新たにユーザIDを発行して取得していたときには、当該ユーザIDを前記取得した端末IDに対応付けて前記第2記憶部に書き込むことが好ましい。
本発明のサーバ装置において、前記提供部は、前記処理を実行してから予め決められた期間が経過したことを前記条件とすることが好ましい。
本発明のサーバ装置において、前記提供部は、前記第1電子クーポンの利用可能期間が経過したことを前記条件とすることが好ましい。
本発明のサーバ装置において、前記提供部は、複数種類の電子クーポンを前記第1の端末装置に提供した場合、終了時期が最も後である電子クーポンの利用可能期間が経過したことを前記条件とすることが好ましい。
本発明のサーバ装置において、前記端末IDは、当該端末IDが示す端末装置が有するメモリ領域に記憶され、提供可能な数がユーザ毎に制限された電子クーポンを提供する場合には、前記メモリ領域からの前記端末IDの読み出しを指示し、提供可能な数がユーザ毎に制限されていない電子クーポンを当該第1の端末装置に提供する場合には、前記端末IDの読み出しを指示しない読出指示部を備え、前記取得部は、前記読出指示部により前記端末IDの読み出しが指示された場合に、当該指示に従って前記メモリ領域から読み出された前記端末IDを取得し、前記提供部は、前記読出指示部により前記端末IDの読み出しが指示されなかった場合に、前記提供可能な数がユーザ毎に制限されていない電子クーポンを前記第1の端末装置に提供するための処理を実行することが好ましい。
本発明のサーバ装置において、前記第2記憶部において、前記取得した端末IDに前記取得したユーザIDと異なるユーザIDが対応付けられており、かつ、前記条件を満たす場合に、前記第2記憶部において、前記取得したユーザIDと、前記取得した端末IDと異なる端末IDとが対応付けられているときに、当該取得したユーザIDと当該異なる端末IDとの対応付けを削除する削除部をさらに備えることが好ましい。
以下、図面を参照しつつ本発明の第1実施形態を説明する。
図1は、通信システム1の全体構成を示す図である。
通信システム1は、ASP(Application Service Provider)サーバ10と、端末装置20と、店舗管理サーバ30と、店舗端末40と、アプリケーション管理サーバ50とを備える。ASPサーバ10は、端末装置20に対して電子クーポンサービスを提供するサーバ装置である。ここにおいて、ASPサーバ10は、端末装置20からの要求に応じて、複数のサービス提供者による電子クーポンサービスを端末装置20に提供する。端末装置20は、ここではスマートフォンであり、ASPサーバ10から提供された電子クーポンを取得する。ただし、端末装置20はスマートフォンに限らず、携帯電話端末やタブレット端末、パーソナルコンピュータ、PDA(Personal Digital Assistant)等の他の端末装置であってもよい。店舗管理サーバ30は、端末装置20により電子クーポンが利用された場合に、電子クーポンの利用の履歴である利用履歴を、ASPサーバ10宛てに送信する。店舗端末40は、電子クーポンを利用することができる店舗に設置されたコンピュータ装置である。店舗端末40は、非接触式ICカードとの間で無線通信を行ってデータの読み書きを行うリーダ/ライタ41を有し、リーダ/ライタ41により読み取ったデータに基づき利用履歴を生成し、生成した利用履歴を店舗管理サーバ30宛てに送信する。アプリケーション管理サーバ50は、端末装置20における電子クーポンの書込処理に関する管理を司る管理サーバである。
制御部11は、CPU(Central Processing Unit)、ROM(Read Only Memory)及びRAM(Random Access Memory)を備えるマイクロプロセッサである。CPUは、ROMや記憶部13に記憶されたプログラムをRAMに読み出して実行することにより、ASPサーバ10の各部を制御する。通信部12は、ネットワークNWに接続するためのインタフェースである。制御部11は、通信部12によりネットワークNW経由で接続された外部装置と通信する。記憶部13は、例えばハードディスク装置を備え、制御部11により実行される電子クーポンサービスの提供に必要なプログラムを記憶する。また、記憶部13は、クーポン管理テーブル131、ユーザ管理テーブル132、トランザクション管理テーブル133及び保留リストテーブル134を記憶する。
図3に示すように、クーポン管理テーブル131は、「クーポンID」と、「制限枚数(全体)」と、「利用枚数(全体)」と、「残枚数(全体)」とで示される各情報が対応付けられたデータテーブルである。「クーポンID」は、ASPサーバ10により提供される電子クーポンを識別する識別情報である。「制限枚数(全体)」は、ASPサーバ10により電子クーポンが提供される対象となる全ての端末装置20(つまり、全ユーザ)に対する制限枚数(以下、「全体の制限枚数」という。)である。ASPサーバ10では、利用を許可する電子クーポンの全ての端末装置20に対する枚数の総和が、全体の制限枚数を超えないように管理される。「利用枚数(全体)」は、既に利用された電子クーポンの全ての端末装置20に対する枚数の総和(以下、「全体の利用枚数」という。)である。全体の制限枚数は、全体の利用枚数の上限ということができる。「残枚数(全体)」は、全ての端末装置20に対する電子クーポンの残数(以下、「全体の残枚数」という。)である。ASPサーバ10では、提供する電子クーポンの全ての端末装置20に対する枚数の総和が、全体の残枚数を超えないように管理される。
図4に示すように、ユーザ管理テーブル132は、「ユーザID」と、「クーポンID」と、「制限枚数(個人)」と、「セット未確定枚数」と、「セット済未利用枚数」と、「利用枚数(個人)」と、「残枚数(個人)」とで示される各情報が対応付けられたデータテーブルである。「ユーザID」は、端末装置20のユーザを識別する識別情報であるとともに、端末装置20を識別する識別情報である。
本実施形態のユーザIDは、各端末装置20に排他的に割り当てられた識別情報であるが、例えばSIM(Subscriber Identity Module)カードから特定される端末識別情報や電話番号、任意の識別番号等である。ユーザ管理テーブル132に書き込まれるユーザIDは、ここでは、端末装置20の後述するICチップ25(具体的には、ICチップ25の所定のメモリ領域)に書き込まれたユーザIDに対応しているものとする。ここにおいて、同一ユーザに対応してICチップ25に書き込まれたユーザIDとユーザ管理テーブル132に書き込まれるユーザIDとは、一致していなくてもよい。両者のユーザIDが異なる場合には、例えば、ASPサーバ10が同一のユーザのユーザID同士を対応付ける対応表を記憶部13に記憶しておく。そして、この対応表を用いたユーザIDの照合により、ASPサーバ10がユーザID同士の対応関係を特定すればよい。この対応表を用いる構成にすれば、例えば端末装置20の機種変更が行われた場合であっても、ASPサーバ10は対応表を更新するだけでよく、ユーザ管理テーブル132のユーザIDを更新しなくてよい。
「利用枚数(個人)」は、一のユーザにより既に利用された電子クーポンの利用数(以下、「個人の利用枚数」という。)である。「残枚数(個人)」は、個々のユーザに対する電子クーポンの残数(以下、「個人の残枚数」という。)である。ASPサーバ10では、提供する電子クーポンの枚数が、一のユーザにつき個人の残枚数を超えないように管理される。
図5に示すように、トランザクション管理テーブル133は、「処理ID」と、「ステータス」と、「書込完了日時」とで示される各情報が対応付けられ、ユーザ毎に書込処理結果を管理するデータテーブルである。「処理ID」は、電子クーポンの書込処理を識別する識別情報である。「ステータス」は、電子クーポンの書込処理の結果を示す情報であり、成功、失敗又は未確定のいずれかを示す。書込処理が成功した場合はステータスが「成功」となり、書込処理が失敗した場合はステータスが「失敗」となり、書込処理の結果が未確定の場合はステータスが「未確定」となる。
なお、端末装置20で電子クーポンの書込処理が成功した場合、その電子クーポンはICチップ25に記憶されているが、電子クーポンの書込処理が失敗した場合、その電子クーポンはICチップ25には記憶されていない。電子クーポンの書込処理が失敗した場合、この書込処理前にICチップ25に電子クーポンが記憶されていればこの電子クーポンがそのまま記憶された状態となる。
なお、通信システム1において実行される電子クーポンの提供に係る処理は、書込処理を含むトランザクション処理ということもでき、ASPサーバ10と端末装置20とで管理される電子クーポンに関する情報に齟齬が生じないように実行される。
図6に示すように、保留リストテーブル134は、「クーポンID」と、「利用日時」と、「利用枚数」とで示される各情報が対応付けられたデータテーブルである。「処理ID」は、トランザクション管理テーブル133に書き込まれる処理IDと同じである。「利用日時」は、電子クーポンが利用された日時を示す情報である。「利用枚数」は、電子クーポンの個人の利用枚数である。ここでの利用枚数は、同一の電子クーポンが1回の利用において何枚利用されたかを示す。保留リストテーブル134の一つのレコードに書き込まれるクーポンID、利用日時及び利用枚数の組み合わせは、ASPサーバ10が店舗端末40から取得した利用履歴と同じである。このように、保留リストテーブル134は、端末装置20による1回の電子クーポンの利用により生成される利用履歴が一つのレコードで書き込まれたデータテーブルである。
なお、図6の保留リストテーブル134の例では、いずれの情報も書き込まれておらず、各フィールドがブランクである。
制御部21は、CPU、ROM及びRAMを有するマイクロプロセッサを備える。CPUは、ROMや記憶部26に記憶されたプログラムをRAMに読み出して実行することにより、端末装置20の各部を制御する。音声入出力部22は、マイクロホンやスピーカを有し、端末装置20において音声の入出力に関わる機能を実現する。無線通信部23は、無線通信回路やアンテナを備え、ネットワークNWに接続するためのインタフェースである。UI部24は、例えばタッチパネルを備え、ユーザからの操作を受け付けるとともに、画像により情報を報知する。
次に、ASPサーバ10の制御部11の機能的構成を説明する。以下、電子クーポンの提供に関する機能と、電子クーポンの利用に関する機能とに分けて説明する。
第1更新部111は、端末装置20に第1電子クーポンを新たに提供する場合、提供しようとする第1電子クーポンの枚数を、クーポン管理テーブル131の全体の残枚数から減じる。より詳細には、第1更新部111は、提供しようとする第1電子クーポンの枚数がクーポン管理テーブル131における第1電子クーポンのセット済未利用枚数よりも多い場合には、全体の残枚数から提供しようとする第1電子クーポンの枚数を減じるが、セット済未利用枚数の方が多い場合には、提供しようとする第1電子クーポンの枚数を全体の残枚数から減じない。そして、第1更新部111は、提供しようとする第1電子クーポンの枚数(全体の残枚数から提供しようとする枚数を減じた場合は、その枚数)を、第1電子クーポンのセット未確定枚数に設定するよう、ユーザ管理テーブル132を更新する。ここにおいて、第1更新部111は、第1電子クーポンを取得するためのクーポン取得要求を通信部12により端末装置20から取得したことを契機に、第1電子クーポンを新たに提供する処理を開始する。第1更新部111が全体の残枚数から減じた枚数をセット未確定枚数に設定する処理は、全体の残枚数から減じた枚数を、ゼロであるセット未確定枚数に加算する処理に等しい。
第1に、第2更新部113は、書込指示部112の指示に従った第1電子クーポンの書込処理の成功が確定した後、第1電子クーポンのセット未確定枚数をセット済未利用枚数に設定して、セット未確定枚数をクリアする(つまり、ゼロにする)。ここにおいて、第2更新部113は、例えば、第1電子クーポンのセット済未利用枚数が「3」である場合に、「2」である第1電子クーポンのセット未確定枚数をセット済未利用枚数に設定するときには、設定後のセット済未利用枚数を「2」とする。
一方、第2更新部113は、書込指示部112の指示に従った電子クーポンの書込処理の失敗が確定した場合、その電子クーポンのセット未確定枚数がセット済未利用枚数よりも多い場合には、セット未確定枚数とセット済未利用枚数との差分を、全体の残枚数に加算する(つまり、差し戻す)。第2更新部113は、セット未確定枚数がセット済未利用枚数以下である場合には、全体の残枚数への差し戻しを行わない。
ASPサーバ10の電子クーポンの提供に関する機能の説明は以上である。
利用履歴取得部115は、ICチップ25のメモリ領域251に記憶された第1電子クーポンを端末装置20が利用した場合、通信部12により店舗管理サーバ30と通信して、その第1電子クーポンの利用実績を取得する。
第1に、第3更新部116は、トランザクション管理テーブル133を参照して、結果が未確定である書込処理が存在せず、利用履歴取得部115が取得した利用履歴に含まれる利用日時が最新の書込完了日時よりも後である場合、セット済未利用枚数から利用履歴に含まれる利用枚数を減じる。一方、第3更新部116は、利用日時が最新の書込完了日時よりも前である場合、セット済未利用枚数から利用枚数を減じない。
ASPサーバ10の機能的構成の説明は以上である。次に、通信システム1の動作を説明する。
端末装置20が電子クーポンを取得しようとする際には、ASPサーバ10にアクセスしてブラウザを用いてその取得に必要な処理を行う。ここでは、端末装置20は、取得しようとする電子クーポンを示すクーポンIDと電子クーポンの取得枚数とを含むクーポン取得要求を、ASPサーバ10宛てに送信する(ステップSa1)。図11は、端末装置20が電子クーポンを取得しようとするときにUI部24に表示される画面例である。ユーザはUI部24を操作して、電子クーポンの取得枚数をプルダウンメニューPa1,Pa2を用いて選択し、「クーポンを取得」と付されたソフトボタンBaを選択する。
端末装置20は、ASPサーバ10から書込指示を受信すると、クーポン管理アプリケーション261を実行し、アプリケーション管理サーバ50宛てに書込指示に含まれていた問合せIDを送信する(ステップSa6)。アプリケーション管理サーバ50は、端末装置20から受信した問合せIDに対応する処理依頼に従い、書込処理に用いられるクーポン情報を端末装置20宛てに送信する(ステップSa7)。端末装置20は、アプリケーション管理サーバ50から受信したクーポン情報に基づいて、電子クーポンの書込処理を実行する(ステップSa8)。ここにおいて、端末装置20は、メモリ領域251に既に電子クーポンが記憶されている場合であっても、この電子クーポンへの上書きによる書込処理により、メモリ領域251に新たな電子クーポンを記憶させることとなる。
上述したように、端末装置20は、電子クーポンを利用すると直ちに(つまり、リアルタイムで)、書込結果をアプリケーション管理サーバ50宛てに送信するとともに、終了通知をASPサーバ10宛てに送信する。すなわち、本来は、端末装置20の電子クーポンの書込処理が終了すると、直ちに、ASPサーバ10はセット確定処理を開始する。しかしながら、端末装置20が書込処理を行った後、端末装置20が通信可能エリア外に移動するなどして、アプリケーション管理サーバ50に結果通知を送信できなかったり、終了通知をASPサーバ10に送信できなかったりした場合には、セット確定処理の開始が遅延する。例えば、ASPサーバ10は、終了通知を受信しなかった場合には、端末装置20において書込処理が終了したことを知り得ないので、書込処理中である場合の動作をするからである。この場合、ASPサーバ10が書込処理の結果を取得する時期が遅延するので、それに伴って、セット確定処理の開始も遅延する。
なお、端末装置20が終了通知や結果通知を送信できない原因は、端末装置20が通信可能エリア外に居ることに限らない。例えば、端末装置20において、クーポン管理アプリケーション261の実行が強制的に終了させられたこと(クーポン管理アプリケーション261の実行が終了させられたことや電源オフ等)や、端末装置20のバッテリ切れがある。
ASPサーバ10が端末装置20に電子クーポンを提供しようと際の処理の流れは以上である。以降の処理は、端末装置20が電子クーポンを利用するときの通信システム1の処理の流れを示す。
なお、店舗端末40は、ICチップ25に記憶された電子クーポンが利用枚数以上残っているか否かを判断して、決済に反映させる等の処理を実行する。ここでの店舗端末40の動作は、本発明で特別な構成を有していなくてよい。
以降においても、電子クーポンの取得に関する処理や電子クーポンに利用に関する処理が上記同様の手順により実行される。また、通信システム1においては、必ずしも図10に示す流れで処理が実行されるわけではない。例えば、ASPサーバ10がセット開始処理を実行して書込指示を送信した直後に利用履歴を取得した場合には、利用時処理を実行する。また、ASPサーバ10は、利用時処理の直後に書込処理の結果通知を受け付けた場合には、セット確定処理を実行する。
(事象2)2011/6/29 10:05−電子クーポンAのセット確定処理
(事象3)2011/6/29 11:00−電子クーポンAを3枚利用(1回目)
(事象4)2011/6/29 12:00−電子クーポンAを1枚利用(2回目)
(事象5)2011/6/29 15:00−電子クーポンBを10枚提供するためのセット開始処理
(事象6)2011/6/29 16:00−電子クーポンAの利用履歴を取得(1回目)
(事象7)2011/6/29 17:00−電子クーポンBを5枚利用(1回目)
(事象8)2011/6/29 18:00−電子クーポンBの利用履歴を取得(1回目)
(事象9)2011/6/29 19:00−電子クーポンBのセット確定処理
(事象10)2011/6/29 20:00−電子クーポンBを1枚利用(2回目)
(事象11)2011/6/29 21:00−電子クーポンBの利用履歴を取得(2回目)
(事象12)2011/6/29 22:00−電子クーポンAの利用履歴を取得(2回目)
まず(事象1)について説明する。
図12は、セット開始処理の流れを示すフローチャートである。図13は、各データテーブルの更新の様子を説明する図である。このセット開始処理前においては、記憶部13に記憶されている各データテーブルは、図3から図6に示されるデータ構造であるとする。なお、図13等のデータテーブルの更新の様子を説明する図では、更新により変化したフィールドを太枠で囲んで表すとともに、変化した電子クーポンの枚数を「○」の中に付した数値で表す。
ASPサーバ10は、ステップSa1の処理で送信されたクーポン取得要求を受信したことを契機に、セット開始処理を開始する。このクーポン取得要求は、電子クーポンAのクーポンID「CID001」と、取得枚数「5」とを含む。
全体の残枚数=全体の制限枚数−Σ{個人の利用枚数+MAX(セット済未利用枚数,セット未確定枚数)−保留リストテーブル134の利用枚数の合計} ・・・(1)
ただし、「Σ」は、全端末装置20(全ユーザ)の総和であることを意味する符号である。MAX(A,B)は、AとBのうち大きい方の値を採ることを意味する。
個人の残枚数=個人の制限枚数−個人の利用枚数 ・・・(2)
取得枚数の最大数=MIN{個人の残枚数,全体の残枚数+MAX(セット済未利用枚数,セット未確定枚数)} ・・・(3)
ただし、MIN(A,B)は、AとBのうち小さい方の値を採ることを意味する。
ASPサーバ10がステップSa24の処理でセット未確定枚数に設定した取得枚数分の電子クーポンは、未だICチップ25への書込処理が行われていない電子クーポンであり、書込処理の結果が確定していない電子クーポンである。しかしながら、全体の残枚数から減じられた電子クーポンであるから、この取得枚数分の電子クーポンが他のユーザの端末装置20に取得されることはない。
次に(事象2)について説明する。
図14及び図15は、セット確定処理の流れを示すフローチャートである。図16は、各データテーブルの更新の様子を示す図である。
ここでのセット確定処理の開始前は、保留リストテーブル134以外のデータテーブルのデータ構造は、図13に示されるとおりである。また、このセット確定処理に先立って、ステップSa12の処理に応じてASPサーバ10が受け付けた結果通知により、書込完了日時「2011/6/29 10:05」に、(事象1)のセット開始処理に応じて指示された書込処理が完了したものとする。ここでは、ASPサーバ10は、成功で確定した書込処理を識別する処理ID「TsA」に、ステータス「成功」と、書込完了日時「2011/6/29 10:05」とを対応付けて、トランザクション管理テーブル133に書き込む(図16(a)参照)。
このように書込処理の成功が確定した電子クーポンAは、セット開始処理の段階で他のユーザにより取得されないようになっていたため、セット開始処理が実行されたときから、セット確定処理においてセット済未利用枚数に加算されるまでの期間に、他のユーザによりこの電子クーポンAが取得されることはない。
なお、ステップSa1301の処理でASPサーバ10が書込処理に失敗したと判断した場合や、保留リストテーブル134に利用履歴が書き込まれている場合の動作については、後で説明することとなる。
(事象2)のセット確定処理後、端末装置20により、「2011/6/29 11:00」において電子クーポンAが「3」枚利用されたとする。この利用により、メモリ領域251が記憶する電子クーポンAの残りの枚数は、「5」枚から「2」枚に減じられる。この利用を契機に、本来は、ASPサーバ10が店舗管理サーバ30から利用履歴を直ちに取得するはずである。ただし、ここでは、店舗端末40や店舗管理サーバ30の故障やネットワークNWにおける通信障害等の何らかの原因により、店舗管理サーバ30がASPサーバ10宛てに利用履歴を送信しなかった場合を想定する。この場合、ユーザ管理テーブル132においては、クーポンAのセット済未利用枚数は「5」のままであるから、ASPサーバ10と端末装置20とにおいて、メモリ領域251に記憶されていると把握している電子クーポンAに「3」枚の差異が存在する。本来は、ユーザ管理テーブル132においてセット済未利用枚数は「2」となるべきである。しかしながら、利用履歴によるユーザ管理テーブル132の更新がASPサーバ10で行われていないので、セット済未利用枚数は「5」のままである。
(事象3)の後、端末装置20により、「2011/6/29 12:00」において電子クーポンAが「1」枚利用されたとする。この利用により、メモリ領域251が記憶する電子クーポンAの残りの枚数は、「2」枚から「1」枚に減じられる。ここでも、店舗管理サーバ30がASPサーバ10宛てに利用履歴を送信しなかった場合を想定する。この場合、ユーザ管理テーブル132においては、クーポンAのセット済未利用枚数は「5」のままであるから、ASPサーバ10と端末装置20とにおいて、メモリ領域251に記憶されていると把握している電子クーポンAに「4」枚の差異が存在する。本来は、ユーザ管理テーブル132においてセット済未利用枚数は「1」となるべきである。しかしながら、利用履歴によるユーザ管理テーブル132の更新がASPサーバ10で行われていないので、セット済未利用枚数は未だ「5」のままである。
次に(事象5)を説明する。
電子クーポンBを10枚提供するためのセット開始処理においても、その処理の流れは、上述した(事象1)で説明した内容と基本的に同じである。よって、ここでのセット開始処理については、図12を参照しつつ適宜省略しながら処理の流れを説明する。図17は、各データテーブルの更新の様子を示す図である。ASPサーバ10は、ステップSa1の処理で送信されたクーポン取得要求を受信したことを契機に、セット開始処理を開始する。このクーポン取得要求は、電子クーポンBのクーポンIDとして「CID002」と、取得枚数として「10」とを含む。
ASPサーバ10は、クーポン取得要求を受信すると、トランザクション管理テーブル133を参照して、ステータスが未確定の書込処理があるか否かを判断する(ステップSa21)。図16(a)に示されるとおり、ここではステータス「未確定」の書込処理がない。よって、ASPサーバ10は、ステップSa21の処理で「NO」と判断して、ステップSa22の処理に進む。
次に、ASPサーバ10は、これから指示する書込処理のステータスを「未確定」に設定して、トランザクション管理テーブル133を更新する(ステップSa23)。ここにおいて、ASPサーバ10は、図17(a)に示すように、処理ID「TsB」を割り当てて、ステータス「未確定」と対応付けて、トランザクション管理テーブル133に新たに書き込む。
ここでのセット開始処理は以上である。
次に(事象6)を説明する。
図18は、利用時処理の流れを示すフローチャートである。図19は、各データテーブルの更新の様子を示す図である。
ASPサーバ10は、「2011/6/29 16:00」に、(事象3)で利用された電子クーポンAの利用履歴を店舗管理サーバ30から取得したことを契機に、利用時処理を実行する。利用時処理が本来よりも遅れて開始される例としては、この時刻に店舗管理サーバ30が復旧したり、ネットワークNWの障害が解消したりしたこと等が考えられる。ここにおいて、ASPサーバ10は、クーポンID「CID001」、利用日時「2011/6/29 11:00」、及び利用枚数「3」を含む利用履歴を取得する。
以上のASPサーバ10の処理により、(事象3)における利用履歴の取得の遅延と、電子クーポンBの書込処理の結果の確定の遅延とを原因とした電子クーポンBの他のユーザによる重複取得は回避される。
なお、ステップSa151の処理で、ASPサーバ10がステータスが未確定の書込処理がないと判断した場合の動作については、後で説明することとなる。
(事象6)の利用時処理の実行後、端末装置20により、「2011/6/29 17:00」において電子クーポンBが「5」枚利用されたとする。この利用により、メモリ領域251が記憶する電子クーポンBの残り枚数は、「10」から「5」に減じられる。ここでも、店舗管理サーバ30がASPサーバ10宛てに利用履歴を送信しなかった場合を想定する。この場合、ユーザ管理テーブル132においては、クーポンBのセット済未利用枚数が「0」のままであるから、ASPサーバ10と端末装置20とにおいて、メモリ領域251に記憶されていると把握している電子クーポンBに「5」枚の差異が存在する。本来は、ユーザ管理テーブル132においてセット済未利用枚数は「5」となるべきである。しかしながら、利用履歴によるユーザ管理テーブル132の更新がASPサーバ10で行われていないので、セット済未利用枚数は「0」のままである。
次に(事象8)を説明する。ここでの利用時処理の流れは、上述した(事象6)で説明した内容と基本的に同じであるから、図18を参照しつつ適宜簡略化して説明する。図20は、各データテーブルの更新の様子を示す図である。ここでは、ASPサーバ10が、「2011/6/29 18:00」に、(事象7)で利用された電子クーポンBの利用履歴を基に利用時処理を実行する。ここにおいて、ASPサーバ10は、クーポンID「CID002」、利用日時「2011/6/29 17:00」及び利用枚数「5」という利用履歴を取得することとなる。
以上のASPサーバ10の処理により、電子クーポンBの書込処理の結果の確定の遅延を原因とした、電子クーポンBの重複取得が回避される。
ここでの利用時処理は以上である。
次に(事象9)を説明する。セット確定処理の手順については図14を参照して説明する。図21は、各データテーブルの更新の様子を示す図である。
以下に説明するセット確定処理の開始時はテーブルのデータ構造は、図20に示されるものである。このセット確定処理に先立って、ステップSa12の処理に応じてASPサーバ10が受け付けた結果通知により、書込完了日時「2011/6/29 15:01」に書込処理が完了したとする。この場合、ASPサーバ10は、成功が確定した書込処理を識別する処理ID「TsB」に、ステータス「成功」と、書込完了日時「2011/6/29 15:01」とを対応付けて、トランザクション管理テーブル133に書き込む(図21(a)参照)。
次に、ASPサーバ10は、保留リストテーブル134から利用履歴を1件抽出する(ステップSa1305)。ここでは、ASPサーバ10は、利用日時が最も後である利用履歴を抽出するが、いずれを抽出しても構わない。次に、ASPサーバ10は、抽出した利用履歴の利用日時が最新の書込完了日時よりも後であるか否かを判断する(ステップSa1306)。ここにおいて、クーポンID「CID002」、利用日時「2011/6/29 17:00」及び利用枚数「5」という利用履歴に対し、最新の書込完了日時が「2011/6/29 15:01」である。よって、ASPサーバ10は利用日時の方が後と判断し(ステップSa1306;YES)、抽出した利用履歴の利用枚数をセット済未利用枚数から減じる(ステップSa1307)。図21(c)に示すように、ここでは、ASPサーバ10は、セット済未利用枚数「10」から利用枚数「5」を減じて、セット済未利用枚数を「5」に設定する。そして、ASPサーバ10は、ステップSa1305の処理で抽出した利用履歴を、保留リストテーブル134から削除する(ステップSa1308)。
ASPサーバ10は、保留リストテーブル134に利用履歴が残っていないと判断すると(ステップSa1309;NO)、利用時処理を終了する。
以上の処理により、(事象3)の利用後のセット済未利用枚数が、ASPサーバ10において正しく反映されたことになる。
(事象9)のセット確定処理の後、端末装置20により、「2011/6/29 20:00」において電子クーポンBが「1」枚利用されたとする。この利用により、メモリ領域251が記憶する電子クーポンBの残り枚数は、「5」から「4」に減じられる。この時点では、ユーザ管理テーブル132においては、クーポンBのセット済未利用枚数は「5」のままであるから、ASPサーバ10と端末装置20とにおいて、メモリ領域251に記憶されていると把握している電子クーポンBに「1」枚の差異が存在する。
次に(事象11)を説明する。ここでは、ASPサーバ10が、「2011/6/29 21:00」に、(事象10)の電子クーポンの利用履歴を取得した場合の利用時処理を、図18を参照しつつ説明する。図22は、各データテーブルの更新の様子を示す図である。ここにおいて、ASPサーバ10は、クーポンID「CID002」、利用日時「2011/6/29 20:00」及び利用枚数「1」という利用履歴を取得することとなる。
そして、ASPサーバ10は、店舗管理サーバ30から取得した利用履歴に含まれる利用日時が最新の書込完了日時よりも後であるか否かを判断する(ステップSa155)。図21(a)に示すように、ここでは、最新の書込完了日時が「201/6/29 15:01」である。よって、ASPサーバ10は、ステップSa155の処理で「YES」と判断し、個人の残枚数及びセット済未利用枚数のそれぞれから、利用履歴に含まれる利用枚数を減じる(ステップSa156)。図22に示すように、ここでは、ASPサーバ10は、クーポンID「CID002」の電子クーポンBについて、個人の残枚数を「20」から「1」だけ減らして「19」とし、セット済未利用枚数を「5」から「1」だけ減らして「4」とする。そして、ASPサーバ10は、個人の利用枚数である「5」に利用枚数である「1」を加算し、個人の利用枚数を「6」とする(ステップSa157)。
以上の処理により、(事象11)の電子クーポンBの利用を原因とした、電子クーポンBの重複取得が回避される。
次に(事象12)を説明する。ここでは、ASPサーバ10が、「2011/6/29 22:00」に、(事象4)での電子クーポンAの利用履歴を店舗管理サーバ30から取得した際の利用時処理を説明する。ASPサーバ10は、(事象4)の実行時に取得すべきであった利用履歴を取得して、利用時処理を実行する。ASPサーバ10は、クーポンID「CID001」、利用日時「2011/6/29 12:00」及び利用枚数「1」という利用履歴を取得することとなる。
この処理によって、(事象9)において実際には利用されていたにも関わらず、全体の残枚数に過剰に差し戻されていた「1」枚分の電子クーポンAが、全体の残枚数から減じらされて全体の残枚数の誤りがここで解消される。
ASPサーバ10は、保留リストテーブル134に利用履歴が書き込まれているか否かを判断する(ステップSa1310)。ここにおいて、ASPサーバ10は、保留リストテーブル134に利用履歴が書き込まれていると判断すると(ステップSa1310;YES)、保留リストテーブル134から利用履歴を1件抽出する(ステップSa1311)。次に、ASPサーバ10は、抽出した利用履歴の利用日時が前回の書込処理であって最新の書込処理の書込完了日時よりも後か否かを判断する(ステップSa1312)。ASPサーバ10は、利用日時の方が後と判断すると(ステップSa1312;YES)、抽出した利用履歴の利用枚数をセット済未利用枚数から減じる(ステップSa1313)。そして、ASPサーバ10は、抽出した利用履歴を保留リストテーブル134から削除し(ステップSa1314)、保留リストテーブル134に利用履歴が残っているか否かを判断する(ステップSa1315)。ASPサーバ10は、利用履歴が残っていると判断すると(ステップSa1315;YES)、ステップSa1311の処理に戻る。一方、ASPサーバ10は、保留リストテーブル134に利用履歴が残っていないと判断すると、セット未確定枚数をクリアして(ステップSa1316)、セット確定処理を終了する。ステップSa1316の処理において、セット未確定枚数がセット済未利用枚数より多い場合には、ASPサーバ10は、セット未確定枚数とセット済未利用枚数との差分を全体の残枚数に加算する。
以上のように、ASPサーバ10は、書込処理の結果が失敗の場合であっても、ステップSa1316の処理で、セット未確定枚数を全体の残枚数に加算してこのセット未確定枚数をクリアする処理を実行する点を除き、書込処理に成功した場合と同じように動作すればよい。
以上が、上記ストーリにおいてASPサーバ10が実行する処理の説明である。
第1に、ASPサーバ10におけるクーポン提供時の処理を原因として、電子クーポンが他のユーザにより重複取得されないようにすることができる。セット開始処理において、ASPサーバ10は、電子クーポンを端末装置20に新たに提供する場合、全体の残枚数から減じた枚数をセット未確定枚数に設定してから、このセット未確定枚数の電子クーポンについての書込処理を端末装置20に指示する。そして、ASPサーバ10は、端末装置20により実行された書込処理の成功が確定した後、セット未確定枚数をセット済未利用枚数に設定する。これにより、書込処理の成功後に、全体の残枚数から減じた取得枚数をセット済未利用枚数に直接設定した場合に生じうる、電子クーポンの重複取得を回避できる。更に、ASPサーバ10は、書込処理がメモリ領域251の電子クーポンに新しい電子クーポンを上書きする処理であった場合には、セット未確定枚数がセット済未利用枚数より多いときに、セット未確定枚数とセット済未利用枚数との差分を全体の残枚数に加算する(差し戻す)。これにより、書込処理前に全体の残枚数から減じた取得枚数をセット済未利用枚数に直接設定したした場合に生じうる、電子クーポンの重複取得を回避できる。具体的には、ASPサーバ10が上書きによる書込処理を行って既に記憶されていた電子クーポンが削除されようとした場合に、この書込処理の失敗を原因として、メモリ領域251にこの電子クーポンが残ってしまったときであっても、この電子クーポンが重複取得されるのを防ぐことができる。
本発明は、上述した実施形態と異なる形態で実施することが可能である。本発明は、例えば、以下のような形態で実施することも可能である。また、以下に示す変形例は、各々を適宜に組み合わせてもよい。
上述した実施形態の通信システム1では、電子クーポンの提供又は利用可能な最小単位を「枚」とし、提供又は利用される電子クーポンの数(単位数)を「枚数」とした電子クーポンを扱っていた。これに対し、電子クーポンの提供又は利用可能な最小単位となる数(すう)はこれに限らず、例えば、電子クーポンの提供又は利用可能な最小単位を「円」や「ドル」等の貨幣の単位としてもよい。この場合であっても、上述した実施形態の電子クーポンの「枚数」を、「円」や「ドル」等の貨幣の単位に置き換えればよいだけである。また、電子クーポンの提供又は利用可能な最小単位となる数は、「ポイント」(点)や「回数」(利用回数)等であってもよい。
上述した実施形態において、ASPサーバ10は、電子クーポンの提供時に関するセット開始処理及びセット確定処理と、電子クーポンの利用時に関する利用時処理との双方を実行していたが、それぞれ別のサーバ装置(ASPサーバ)が実行してもよい。この場合、セット開始処理及びセット確定処理を実行する側のASPサーバは、図9に示す機能を実現する必要がない。また、通信システム1において、書込処理の結果通知が遅延しない環境(又は、遅延がほとんどない環境)にある場合には、ASPサーバ10が保留リストテーブル134に基づく処理を実行しないように、通信システム1を構成することも考えられる。この場合、上述した実施形態における全体の残枚数は、下記式(4)に置き換えられる。個人の残枚数については変化はない。
全体の残枚数=全体の制限枚数−Σ{個人の利用枚数+MAX(セット済未利用枚数,セット未確定枚数)} ・・・(4)
上述した実施形態では、ASPサーバ10は、電子クーポンの利用があると直ちに、店舗管理サーバ30から利用履歴を取得していた。これに対し、ASPサーバ10は、予め決められた期間毎、又は予め決められた取得時期が到来したことを契機に、店舗管理サーバ30から利用履歴を取得してもよい。この場合、ASPサーバ10が利用履歴を取得する日時が電子クーポンの利用日時から或る程度遅延するが、ASPサーバ10が上述した利用時処理を実行することにより、利用履歴の取得の遅延による重複取得は避けられる。
上述した実施形態において、クーポン管理テーブル131及びユーザ管理テーブル132に相当するデータテーブルがサービス提供者ごとに独立していてよい。その理由について説明する。
あるサービス提供者Aの電子クーポンaが端末装置20のICチップ25に書き込まれていて、別のサービス提供者Bの電子クーポンbがICチップ25に、クーポンaへの上書きにより書込処理が行われると、ICチップ25ではサービス提供者Aの電子クーポンaが削除させられる。しかしながら、ASPサーバでは、この書込処理に応じてサービス提供者Aの電子クーポンaのセット済未利用枚数を全体の残枚数に加算してセット済未利用枚数をクリアする、という電子クーポンの差し戻しを行うことができない。これにより、ASPサーバでは、ICチップ25から削除させられた電子クーポンがセット済未利用枚数として残留したままとなる。しかしながら、次にこの端末装置20がサービス提供者Aの電子クーポンの書込処理を実行する際には、ASPサーバで残留していた電子クーポンaのセット済未利用枚数が全体の残枚数に加算されてセット済未利用枚数がクリアされるから、特に問題は生じない。この場合、ASPサーバにおいては電子クーポンaのセット済未利用枚数がクリアされるまでは、この電子クーポンaがICチップ25に記憶されていないにも関わらず、セット済未利用枚数として残留するので、誰にも取得することのできない電子クーポンとなる。
以上のような理由により、サービス提供者毎にASPサーバを分けた構成としても共通のデータテーブルを参照する必要がない。また、サービス提供者Bの電子クーポンがICチップ25に書き込まれたことにより、サービス提供者Aの電子クーポンが差し戻されるという、サービス提供者をまたがって連携される事象の発生を回避することできる。異なるサービス提供者(企業等)が同一のシステム(仕組み)を共用していることを一般ユーザに隠すことができる点で、ユーザの混乱回避や企業のブランディングの観点からも好ましい。
上述した実施形態を以下のように変形することも可能である。
本変形例の前提として、ここでは、以下の(前提1)及び(前提2)を採用する。
(前提1)ユーザ管理テーブル132において「セット未確定枚数」に相当する情報が書き込まれないようにするとともに、ASPサーバ10はセット未確定枚数に関わる処理を実行しない。
(前提2)クーポン管理テーブル131においては、「残枚数(全体)」に代えて「配布枚数(全体)」に相当する情報が書き込まれるようにする。配布枚数(全体)は、端末装置20の全体に対して配布(つまり、提供)された電子クーポンの配布数(以下、「全体の配布枚数」ということがある。)であり、下記式(5)の関係を満たす。
残枚数(全体)=制限枚数(全体)−配布枚数(全体) ・・・(5)
第1更新部111は、第1電子クーポンを取得するためのクーポン取得要求を通信部12による端末装置20との通信により取得したことを契機に、第1電子クーポンを端末装置20に新たに提供するための処理を開始する。第1に、第1更新部111は、クーポン取得要求で指定された第1電子クーポンの取得枚数を、クーポン管理テーブル131の全体の配布枚数に加算する。ただし、第1更新部111は、書込処理前においてユーザ管理テーブル132に書き込まれている第1電子クーポンのセット済未利用枚数を超える枚数のみを、全体の配布枚数に加算する。すなわち、第1更新部111は、第1電子クーポンがメモリ領域251に既に記憶されているときには、同じ第1電子クーポンについて上書きによる書込処理を実行させることになるから、取得枚数から書込処理前のセット済未利用枚数を減じた枚数を、全体の配布枚数に追加して加算することとなる。
第1更新部111の説明は以上である。
また、本変形例は、(前提2)を採用しない構成に変形することも可能である。この場合、本変形例の“全体の配布枚数に加算/減算”という説明を、“全体の残枚数に減算/加算”と読み換えればよい。
上述した実施形態において、ASPサーバ10は、電子クーポンの利用枚数を把握するために店舗端末40から利用履歴を取得するが、利用履歴を取得するまでは、端末装置20とASPサーバ10とにおいて個人の残枚数に不整合が生じ、電子クーポンが重複取得されてしまうおそれがある。そこで、通信システム1においては、セット開始処理を開始したときから予め決められた期間においては、ASPサーバ10が利用履歴を取得するまでその端末装置20に別の電子クーポンを取得させないようにしてもよい。すなわち、ASPサーバ10はセット開始処理を実行しないようにすればよい。この構成によれば、ASPサーバ10は、別の電子クーポンを取得させないようにしている期間の間に利用履歴を取得できれば、この問題による電子クーポンの重複取得を回避できる。
上述した実施形態において、ASPサーバ10が電子クーポンの利用枚数を把握するために店舗端末40から利用履歴を取得するが、店舗管理サーバ30による利用履歴の送信が遅延する場合、ASPサーバ10が利用履歴を取得するまでに別の電子クーポンの書込処理が行われると、全体の残枚数に不整合が生じ、電子クーポンが重複取得されてしまうおそれがある。つまり、電子クーポン利用後、利用履歴が送信されるまでに端末装置20が別の電子クーポンを取得した場合、すでにメモリ領域251から削除されている利用済みの電子クーポンが、メモリ領域251に残っているとASPサーバ10が誤認するため、利用済みの電子クーポンの分まで全体の残枚数に戻されてしまう。しかし、実際は、電子クーポンはメモリ領域251に残ったままなので、これが重複取得されてしまうおそれがある。そこで、ASPサーバ10は、セット確定処理の際にクリアされるセット済未利用枚数については、全体の残枚数への差し戻しを予め決められた期間だけ遅らせるようにしてもよい。このようにすれば、全体の残枚数への差し戻しを待機している期間にASPサーバ10が利用履歴を取得できれば、この問題による重複取得を回避できる。
上述した実施形態の通信システム1では、店舗管理サーバ30と店舗端末40とが別々の装置であったが、これらを一体化した装置が用いられてもよい。この一体化した装置として、例えば、リーダ/ライタ機能を有しているパーソナルコンピュータやスマートフォン、POS(Point of sale)端末等がある。
また、ASPサーバ10が、利用履歴を店舗管理サーバ30ではなく端末装置20から取得する構成を採ってもよい。
また、上述した実施形態では、ASPサーバ10は、トランザクション管理テーブル133を参照して、ステータスが「未確定」の書込処理があると判断した場合は、セット開始処理を終了していた。しかしながら、本発明はこのような前提を必須とするものではなく、電子クーポンの枚数管理に支障がなければ、ステータスが「未確定」の書込処理がある場合に、セット開始処理を継続させることも可能である。
また、ASPサーバ10の制御部11が実現する各機能は、複数のプログラムの組み合わせによって実現され、又は、複数のハードウェア資源の協働によって実現されうる。
また、本発明は、ASPサーバ10が実行するプログラムやクーポン管理方法として把握することも可能である。
以下、図面を参照しつつ本発明の第2実施形態を説明する。
本実施形態に係る通信システムの全体構成は、第1実施形態のそれと同じである。よって、通信システムの全体構成についての説明は省略する。
「クーポンID」は、ASPサーバ10により提供される電子クーポンを識別する識別子である。クーポンIDは、電子クーポンの種類毎に異なる。「1ユーザあたりの提供制限枚数」は、提供可能な数がユーザ毎に制限された電子クーポンである場合に、1のユーザに提供することができる電子クーポンの上限となる枚数である。言い換えれば、1ユーザあたりの提供制限枚数は、1のユーザの端末装置20で取得可能な電子クーポンの上限となる枚数である。「利用可能期間(開始日時)」は、電子クーポンの利用が可能な期間の開始時期を示す日時である。「利用可能期間(終了日時)」は、電子クーポンの利用が可能な期間の終了時期を示す日時である。
以上の構成のクーポン情報テーブル135では、各電子クーポンに対応して、1ユーザあたりの提供制限枚数及び利用可能期間が設定されている。ただし、すべての電子クーポンに1ユーザあたりの提供制限枚数及び利用可能期間が設定されているとは限らず、どちらか一方が設定されていない電子クーポンもあれば、それら両方が設定されていない電子クーポンもある。
本実施形態では、クーポンID「CID001」〜「CID003」の電子クーポンは、同一のサービス提供者により提供される電子クーポンであるとする。ただし、クーポン情報テーブル135には、複数のサービス提供者により提供される電子クーポンに関する情報が格納されていてよい。
図26に示すように、ユーザ管理テーブル136は、「端末ID」と、「ユーザID」と、「有効期限」とで示される各情報を対応付けたデータテーブルである。「端末ID」は、端末装置20を識別する端末装置20固有の識別子であり、端末装置20のICチップに記憶されている端末IDに対応している。ユーザIDは、端末装置20のユーザを識別するユーザ固有の識別子である。ユーザ管理テーブル136において、1の端末IDにはユーザIDが1つだけ対応付けられている。本実施形態のユーザIDは、ASPサーバ10への会員登録によって、ASPサーバ10により端末装置20のユーザに割り当てられる識別子である。有効期限は、ユーザ管理テーブル136における端末IDとユーザIDとの対応付けが有効である期限である。詳しくは後述するが、有効期限が経過した後の端末IDとユーザIDとの対応付けは無効となる。無効となった対応付けについては、制御部11によりユーザIDが別のユーザIDに変更される場合がある。
以上の構成のユーザ管理テーブル136は、例えば、ASPサーバ10が端末装置20に電子クーポンを提供する場合に、その提供の可否を判定するために参照される。
図27に示すように、保有状況管理テーブル137は、「ユーザID」と、「クーポンID」と、「取得済み未利用枚数」と、「利用枚数」と、「残枚数」とで示される各情報を対応付けたデータテーブルである。「ユーザID」及び「クーポンID」は既に説明したとおりの情報である。「取得済み未利用枚数」は、端末装置20に提供されてICチップに書き込まれた電子クーポンのうち、未だ利用されていない電子クーポンの枚数である。言い換えれば、取得済み未利用枚数は、端末装置20が取得済みで利用可能な電子クーポンの枚数である。「利用枚数」は、端末装置20に提供されてICチップに書き込まれた電子クーポンのうち、既に利用された電子クーポンの枚数である。「残枚数」は、端末装置20に提供可能な電子クーポンの残りの枚数である。この残枚数は、1ユーザあたりの提供制限枚数から利用枚数を減じた枚数に一致する。1ユーザあたりの提供制限枚数が設定されていない電子クーポンの場合、「残枚数」のフィールドには「なし」という情報が格納される。
以上の構成の保有状況管理テーブル137は、端末装置20のユーザ毎の電子クーポンの保有状況を格納したデータテーブルである。
ところで、メモリ領域251は、複数のサービス提供者のうちのいずれか1のサービス提供者の電子クーポンが書き込まれる仕様となっている。言い換えれば、メモリ領域251は、複数のサービス提供者で共有されるメモリ領域である。よって、或るサービス提供者の電子クーポンがメモリ領域251に記憶されている場合、他のサービス提供者の電子クーポンは、上書きによる書込処理でメモリ領域251に記憶させられる。つまり、元々メモリ領域251に記憶されていた電子クーポンは書込処理によって削除させられる。この場合であっても、端末装置20は、上書きによる書込処理によってメモリ領域251の電子クーポンを削除したときには、ASPサーバ10に問い合わせることによって、いつでもその削除前の状態に戻して、取得済みの電子クーポンをメモリ領域251に書き込むことができる。具体的には、ASPサーバ10は、保有状況管理テーブル137において電子クーポンの保有状況を管理しているので、保有状況管理テーブル137に格納された情報に従って電子クーポンの書込処理を端末装置20に行わせる。一方で、同一のサービス提供者の複数の電子クーポンについては、同時にメモリ領域251に記憶されることがある。例えば、クーポンID「CID001」〜「CID003」の電子クーポンが同時期にメモリ領域251に記憶されていることがある。
なお、電子クーポンをメモリ領域251に書き込む書込処理によって、メモリ領域251に記憶された端末IDが消失することはない。
読出指示部117は、提供可能な数がユーザ毎に制限された電子クーポン(つまり、クーポン情報テーブル135で1ユーザあたりの提供制限枚数が設定された電子クーポン)を提供する場合には、端末装置20が有するICチップ25のメモリ領域251からの端末IDの読み出しを指示する。一方、読出指示部117は、提供可能な数がユーザ毎に制限されていない電子クーポン(つまり、クーポン情報テーブル135で1ユーザあたりの提供制限枚数が設定されていない電子クーポン)を提供する場合には、メモリ領域251からの端末IDの読み出しを指示しない。
なお、提供部119が実行する電子クーポンを提供するための処理は、端末装置20に電子クーポンの書込処理を実行させるための処理である。
ASPサーバ10の機能的構成の説明は以上である。次に、通信システム1の動作を説明する。
本実施形態において、端末装置20がASPサーバ10から電子クーポンを取得するためには、事前に、ASPサーバ10に対して会員登録を行う必要がある。具体的には、端末装置20は、webブラウザを実行して会員登録を行うための所定のwebページを表示させ、ユーザの操作に応じて、ユーザID発行要求と、ユーザIDを用いたユーザ認証に用いられるパスワードとを、ASPサーバ10宛てに送信する(ステップSb1)。ASPサーバ10は、端末装置20からユーザID発行要求及びパスワードを受信すると、その端末装置20のユーザに割り当てるユーザIDを1つだけ発行し、発行したユーザIDと受信したパスワードとを対応付けて会員情報として、この会員情報を記憶部13に記憶させておく(ステップSb2)。ASPサーバ10は、ステップSb2の処理で発行したユーザIDを端末装置20に通知する(ステップSb3)。ここにおいて端末装置20は、ASPサーバ10から通知されたユーザIDを、いわゆるクッキー(webブラウザを通じて訪問者のコンピュータに一時的にデータを書き込んで保存させる仕組み)を利用して、記憶部26に記憶させておく。ただし、端末装置20は第三者によるクッキーの情報の偽装によるなりすましの可能性を抑えるため、ユーザIDをそのまま記憶させるのではなく、そのハッシュ値(暗号値)を記憶させておいてもよい。また、本実施形態のASPサーバ10は、端末装置20のユーザに1つだけユーザIDを割り当てるべく、クッキーを利用して記憶部26にユーザIDが記憶されている場合には、会員登録を拒否する。
以上が、端末装置20が事前に行う会員登録の説明である。次に、端末装置20がASPサーバ10から電子クーポンを取得しようとする場合の動作について説明する。
なお、クッキーを利用して端末装置20の記憶部26にユーザIDが記憶されている場合、端末装置20はステップSb4の処理でページアクセス要求とともにユーザIDを送信してもよい。この場合、ASPサーバ10は、ページアクセス要求とともに受信したユーザIDに基づいて、ステップSb7の処理に相当するユーザ認証に成功したと判定してもよい。このような自動認証が行われた場合、前述のステップSb5及びSb6の処理が省略されることとなり、端末装置20のユーザにとってはユーザID及びパスワードの入力画面による入力操作の手間がなくなる。また、ASPサーバ10は、第三者によるクッキーの情報の偽装によるなりすましの可能性を抑えるため、ユーザIDを発行したときから又は前回のユーザ認証に成功したときから所定期間が経過するまでは、自動認証を行い、それ以降においては、ユーザID及びパスワードの入力画面による入力操作を端末装置20のユーザに行わせてもよい。
ユーザはUI部24を見ながら操作して、取得しようとする電子クーポンの種類と取得枚数とをプルダウンメニューPb1,Pb2及びPb3を用いて選択し、その選択後、「クーポンを取得」と付されたソフトボタンBbを選択する。例えば、ユーザはクーポン名「からあげ半額」という電子クーポンを取得しようとする場合、プルダウンメニューPb1を操作して、取得枚数を「1」以上に設定する。ユーザは他の電子クーポンを取得しようとする場合にも同様に操作すればよい。
なお、図30に示すクーポン取得画面のクーポン名は、クーポン情報テーブル135に格納されたクーポン名に対応する。また、クーポン取得画面において設定可能な電子クーポンの取得枚数の上限は、保有状況管理テーブル133に格納されている同電子クーポンの残枚数以下となる。
ASPサーバ10は、端末装置20からクーポン取得要求を受信すると、端末ID要否判定処理を実行する(ステップSb10)。
まず、ASPサーバ10は、1ユーザあたりの提供制限枚数が設定された電子クーポンの取得要求を受信したか否かを判定する(ステップSb101)。ASPサーバ10は、1ユーザあたりの提供制限枚数が設定された電子クーポンを含むクーポン取得要求を受信した場合(ステップSb101;YES)、端末ID通知処理を実行すると判定する(ステップSb102)。例えば、ASPサーバ10は、クーポンID「CID001」や「CID003」の電子クーポンを含むクーポン取得要求を受信した場合には、端末ID通知処理を実行すると判定する。
以上のように、ASPサーバ10は、クーポン情報テーブル135において1ユーザあたりの提供制限枚数が設定されているか否かに応じて、端末装置20の端末IDの要否を判定する。
まず、ASPサーバ10は、アプリケーション管理サーバ50に対して、端末IDの通知に関する処理依頼を行って、問合せIDの生成を要求する(ステップSb111)。アプリケーション管理サーバ50は、ステップSb111の処理で送信された処理依頼に応じて問合せIDを生成し、生成した問合せIDをASPサーバ10宛てに送信する(ステップSb112)。問い合せIDは、処理依頼を識別する識別子である。
端末装置20は、ASPサーバ10から実行指示を受信すると、記憶部26に記憶されたクーポン管理アプリケーション261を読み出して実行する。そして、端末装置20は、クーポン管理アプリケーション261に従って、ASPサーバ10から受信した実行指示に含まれていた問合せIDを、アプリケーション管理サーバ50宛てに送信する(ステップSb114)。アプリケーション管理サーバ50は、端末装置20から受信した問合せIDに対応する処理依頼に従って、問合せIDの送信元である端末装置20宛てに端末IDの読取指示を送信する(ステップSb115)。
端末装置20は、ICチップ25から制御部21に供給された端末IDをアプリケーション管理サーバ50宛てに送信する(ステップSb117)。次に、端末装置20は、端末IDの読取処理が終了した旨を示す終了通知を、ASPサーバ10宛てに送信する(ステップSb118)。
なお、端末装置20は、ステップSb113の処理に応じてクーポン管理アプリケーション261を実行してから、ステップSb117の処理までをクーポン管理アプリケーション261に従って実行する。
なお、ステップSb120の処理において、アプリケーション管理サーバ50は端末IDをそのまま送信するのではなく、端末IDを一意に特定可能な別の情報に変換して送信してもよい。この構成によれば、例えば通信システム1に複数のASPサーバが含まれる場合にASPサーバ毎に端末IDの変換規則を異ならせておけば、第1のASPサーバがユーザAの端末IDを把握したとしても、それは第2のASPサーバにとってのユーザBの端末IDとは一致しない。これにより、例えば、第1のASPサーバ及び第2のASPサーバが共通のアプリケーション管理サーバ50と通信して端末IDを取得する構成であっても、第1のASPサーバが第2のASPサーバが提供するサービスに対して端末IDを偽装するといった不正の発生を防止することが可能となる。
まず、ASPサーバ10は、ユーザ管理テーブル136において、ステップSb11の端末ID通知処理で取得した端末IDに何らかのユーザIDが対応付けられているか否かを判定する(ステップSb121)。ASPサーバ10は、端末ID通知処理によって取得した端末IDに、いずれのユーザIDも対応付けられていない(例えば、端末IDがユーザ管理テーブル136に格納されていない)と判定した場合には(ステップSb121;NO)、ステップSb122の処理に進む。そして、ASPサーバ10は、端末ID通知処理で取得した端末IDに、ステップSb7のユーザ認証で用いたユーザIDを対応付けるよう、ユーザ管理テーブル136に端末IDとユーザIDとを書き込む(ステップSb122)。例えば、ユーザが会員登録を行ってから初めて電子クーポンをダウンロードしようとした場合には、端末ID通知処理で取得した端末IDとユーザ認証で用いたユーザIDとの対応付けはユーザ管理テーブル136に格納されていない。
ASPサーバ10は、端末IDとユーザIDとの対応付けの有効期限を設定すると、クーポン提供判定処理を終了する。なお、ASPサーバ10は、ステップSb123の処理で電子クーポンを提供可能でないと判定した場合には(ステップSb123;NO)、エラー通知を行って(ステップSb127)、クーポン提供判定処理を終了する。
ステップSb121の処理で「YES」と判定した場合、ASPサーバ10は、ユーザ管理テーブル136において、端末ID通知処理で取得した端末IDを含む対応付けの有効期限前か否かを判定する(ステップSb125)。ここで、現在日時が「2012/2/16/12:00」である場合、ASPサーバ10は有効期限前であると判定し(ステップSb125;YES)、ステップSb126の処理に進む。次に、ASPサーバ10は、ユーザ管理テーブル136において端末ID通知処理で取得した端末IDに対応付けられたユーザIDと、ステップSb7のユーザ認証に用いたユーザIDとが一致するか否かを判定する(ステップSb126)。ASPサーバ10は両ユーザIDが一致しないと判定した場合(ステップSb126;NO)、エラー通知を行って(ステップSb127)、クーポン提供判定処理を終了する。
なお、1の端末装置20のユーザに複数のユーザIDが割り当てられる場合として、例えば、会員登録の記憶部26に記憶されたクッキーの情報が削除された場合がある。以上のASPサーバ10の動作によれば、ユーザがクッキーの情報を削除し別のユーザになりすまして複数回会員登録を行った場合であっても、1ユーザあたりの提供制限枚数を超えて電子クーポンが不正に取得され利用されるのを防止することができる。
例えば、ASPサーバ10が1ユーザあたりの提供制限枚数が設定されたクーポンID「CID001」の電子クーポンを提供しようとする場合において、現在日時が有効期限「2012/02/29 23:59」よりも後である場合を考える。ここで、ステップSb11の処理で取得した端末IDが「abcde00001」で、且つ、ユーザ認証に用いたユーザIDがユーザID「UID0003」であるときには、ASPサーバ10は図34に示すようにユーザ管理テーブル136を更新する。具体的には、ASPサーバ10は、ステップSb122の処理で、端末ID「abcde00001」に対応付けられたユーザIDを「UID0001」から「UID0003」に変更する。そして、ASPサーバ10はステップSb123の処理で「YES」と判定すると、ステップSb124の処理で有効期限を利用可能期間の終了日時に設定する。(ここでは、有効期限「2012/02/29 23:59」のままである。)
以上のように、ASPサーバ10は、端末ID通知処理で取得した端末IDを含む対応付けの有効期限が経過した後である場合には、この対応付けに含まれるユーザIDの変更を許可しているが、その理由は以下のとおりである。
以上のように、電子クーポンの不正取得の防止と、悪意のないユーザが複数ユーザIDを取得した場合でも電子クーポンの取得及び利用が妨げられないようにすることとの両立を目的として、ASPサーバ10は、ユーザIDと端末IDとの対応付けに有効期限を持たせ、有効期限を過ぎれば対応付けを無効にしている。
以上がクーポン提供判定処理の説明である。
ASPサーバ10は、アプリケーション管理サーバ50に対して、電子クーポンの書込処理に関する処理依頼を行って、問合せIDの生成を要求する(ステップSb131)。アプリケーション管理サーバ50は、処理依頼に応じて生成した問合せIDを、ASPサーバ10宛てに送信する(ステップSb132)。ここにおいて、処理依頼は、ICチップ25のメモリ領域251に書き込まれることとなる電子クーポンの情報を含む。この情報は、電子クーポンのクーポンIDと電子クーポンの取得枚数とを特定可能な情報を含む。
なお、端末装置20は、ステップSb133の処理に応じてクーポン管理アプリケーション261を実行してから、ステップSb137の処理までをクーポン管理アプリケーション261に従って実行する。
ASPサーバ10が端末装置20に書込処理を行わせる場合に、アプリケーション管理サーバ50経由で処理を行う理由は、電子クーポンに関する情報の改ざんなど不正に情報が書き換えられるのを防ぐためである。
ASPサーバ10は、1ユーザあたりの提供制限枚数が設定されていない電子クーポンを提供する場合には、ステップSb10の端末ID要否判定処理の後、ステップSb11,Sb12の処理をスキップして、図36の手順で端末装置20に書込処理を行わせる。
本発明は、上述した実施形態と異なる形態で実施することが可能である。本発明は、例えば、以下のような形態で実施することも可能である。また、以下に示す変形例は、各々を適宜に組み合わせてもよい。
(変形例1)
ASPサーバ10は、端末装置20から取得したユーザIDと異なるユーザIDが端末IDに対応付けてユーザ管理テーブル136に記憶されている場合、有効期限前であれば、電子クーポンを提供しなかった。これに代えて、ASPサーバ10は、ユーザ管理テーブル136において、端末装置20から取得したユーザIDと異なるユーザIDが端末IDに対応付けている場合にも、電子クーポンを提供してもよい。この場合、ASPサーバ10は、ステップSb126の処理の後のステップSb127の処理では、エラー通知を行うとともに、ユーザの指示に応じて、ユーザ管理テーブル136で端末IDに対応付けられているユーザIDのユーザに対して、電子クーポンを提供するための処理を実行すればよい。この場合にも、ASPサーバ10は、ステップSb14で電子クーポンを提供する処理に応じて保有状況管理テーブル137を更新するが、ユーザ管理テーブル136における端末IDとユーザIDとの対応付けを変更しないようにする。
この構成であれば、ユーザ管理テーブル136における対応付けに含まれるユーザIDと異なるユーザIDであっても、ASPサーバ10は電子クーポンを提供できるので、ユーザは電子クーポンを取得しやすくなるとともに、上述した実施形態と同様、1ユーザあたりの提供制限枚数の範囲内で電子クーポンを提供することが可能である。
上述した実施形態において、ASPサーバ10は、会員登録したユーザに対して電子クーポンを提供していたが、会員登録しないユーザに電子クーポンを提供するものであってもよい。この場合も、ASPサーバ10は、電子クーポンを新たに提供する場合には端末IDとユーザIDとを取得して、上記実施形態と同等の手順で処理を実行すればよい。ASPサーバ10が会員登録に関する処理を行わないで、端末装置20のユーザにユーザIDを割り当てる構成として、例えば、以下の構成例1及び構成例2がある。
構成例1では、通信システム1においてステップSb1〜Sb3の処理を省略し、端末装置20はステップSb4の処理において、ユーザIDを含まないページアクセス要求をASPサーバ10宛てに送信する。ASPサーバ10は、ページアクセス要求を受信すると、上記ステップSb5及びSb6に相当する処理を行わず、ステップSb7のユーザ認証に代えてユーザIDを新たに発行して取得する処理を行う。そして、ASPサーバ10は、発行したユーザIDをユーザ管理テーブル136に書き込む。そして、ASPサーバ10は、ステップSb8の処理に代えて、端末装置20のクッキーを用いてユーザIDを記憶させるための処理を行う。ステップSb9以降の処理は、上述した実施形態と同じでよい。
構成例2でも、通信システム1においてステップSb1〜Sb3を省略し、端末装置20はステップSb4の処理において、ユーザIDを含まないページアクセス要求をASPサーバ10宛てに送信する。ASPサーバ10は、ページアクセス要求を受信すると、ステップSb5〜Sb8に相当する処理を実行しないで、図30に示すクーポン取得画面を端末装置20に表示させる。端末装置20は、クーポン取得画面を表示した後、ステップSb9に相当する処理を実行して、クーポン取得要求をASPサーバ10宛てに送信する。
なお、ここにおいては、ASPサーバ10は、保有状況管理テーブル137に基づいて各ユーザ向けのクーポン取得画面を表示させることができないので、例えば設定可能な取得枚数の上限を1ユーザあたりの提供制限枚数とするなど、複数ユーザで共通のクーポン取得画面を表示させる。
一方、ASPサーバ10は、ユーザ管理テーブル136において、取得した端末IDに対応付けられたユーザIDがある場合には、上記変形例1と同様に、ASPサーバ10は、ユーザ管理テーブル136を参照して、端末ID通知処理で取得した端末IDに対応付けられているユーザIDを取得し、取得したユーザIDが示すユーザに対して電子クーポンを提供するための処理を実行する。すなわち、ASPサーバ10は、ステップSb14の処理で電子クーポンを提供する処理に応じて保有状況管理テーブル137を更新するが、ユーザ管理テーブル136における端末IDとユーザIDとの対応付けを変更しない。
上述した実施形態において、ASPサーバ10は、利用可能期間が設定された電子クーポンについてはその終了時期を有効期限にしていたが、利用可能期間が設定されていない電子クーポン同様、電子クーポンを提供する処理を行ってから予め決められた期間が経過したときを有効期限にしてもよい。このようにすれば、端末装置20のユーザは、利用可能期間が設定された電子クーポンについて、その利用可能期間内に電子クーポンを取得することが可能となる。
また、ASPサーバ10が端末IDとユーザIDとの対応付けを無効にする条件は前掲の条件に限らず、永続的にこの対応付けが有効であることを回避できる条件であれば、他の条件を適用することもできる。
上述した実施形態において、ASPサーバ10は、1ユーザあたりの提供制限枚数が設定されている電子クーポンを提供する場合には、端末装置20に端末IDの読み取りを指示し、1ユーザあたりの提供制限枚数が設定されていない電子クーポンを提供する場合には、端末装置20に端末IDの読み取りを指示しなかったが、いずれの電子クーポンを提供する場合にも読み取りを指示してもよい。
また、端末IDは、ICチップ25に記憶される端末IDなくてもよく、例えば端末装置20を個体識別できる偽装困難な他の情報であってもよい。例えば、本発明の端末IDは、通信事業者で把握される契約情報に含まれる電話番号等の情報であってもよい。また、ユーザIDは、ASPサーバ10によって割り当てられるものでなくてもよい。
また、ASPサーバ10が提供する電子クーポンはICチップ25での書込処理によりメモリ領域251に記憶され、リーダ/ライタに読み取られて利用されるものでなくてもよい。例えば、端末装置20が提供された電子クーポンを意味する画像をUI部24に表示させ、店舗の従業員がPOS(Point of sale)端末を操作して電子クーポンを利用させてもよい。この場合、ASPサーバ10は、電子クーポンを意味する画像を表示させるための情報を端末装置20に送信する処理を、電子クーポンを提供する処理として実行することになる。
上述した実施形態の通信システム1では、電子クーポンの提供又は利用可能な最小単位を「枚」とし、提供又は利用される電子クーポンの数(単位数)を「枚数」とした電子クーポンを扱っていた。これに対し、電子クーポンの提供又は利用可能な最小単位となる数(すう)はこれに限らず、例えば、電子クーポンの提供又は利用可能な最小単位を「円」や「ドル」等の貨幣の単位としてもよい。この場合であっても、上述した実施形態の電子クーポンの「枚数」を、「円」や「ドル」等の貨幣の単位に置き換えればよいだけである。また、電子クーポンの提供又は利用可能な最小単位となる数は、「ポイント」(点)や「回数」(利用回数)等であってもよい。
また、ASPサーバ10は、提供される電子クーポンが1種類である場合において、1ユーザあたりの提供制限枚数が1枚であるときのように、電子クーポンを提供済みか否かのみによって各ユーザの電子クーポンの保有状況を管理できるのであれば、保有状況管理テーブル137に相当するデータを記憶しない構成であってもよい。このように本発明は、保有状況管理テーブル137に相当するデータを記憶することを必須とするものではない。
上述した実施形態においてASPサーバ10が実行していたユーザ認証に関する処理ステップSb4〜Sb7の処理を、以下の処理に置き換えてもよい。この変形例では、ASPサーバ10とは別途設けられた外部サーバ(以下、「認証サーバ」という。)が、端末装置20から取得したユーザIDを用いてユーザ認証を行う。認証サーバは、ユーザ認証に成功すると、認証サーバは、ユーザ認証に成功した後に、ASPサーバ10にワンタイムパスワードの発行を依頼する。このとき、認証サーバは、ワンタイムパスワードの発行依頼とともに、ユーザ認証に用いたユーザIDをASPサーバ10に送信するものとする。ASPサーバ10は、ワンタイムパスワードの発行依頼を受け付けると、その依頼元である認証サーバの正当性を、送信元IPアドレスや電子署名等により確認する。ASPサーバ10は、依頼元が正当であると判断した場合は、ワンタイムパスワードを発行し、発行したワンタイムパスワードと、発行依頼とともに受信したユーザIDとを対応付けて記憶部13に記憶させる。そして、ASPサーバ10は、発行したワンタイムパスワードを認証サーバに通知する。そして、認証サーバは、ユーザ認証の成功後に端末装置20に表示させるwebページに、ASPサーバ10が提供するwebページのハイパーリンクを設定して表示させる。このとき認証サーバは、ASPサーバ10から通知されたワンタイムパスワードをハイパーリンクに埋め込んでおくことにより、このワンタイムパスワードを端末装置20に提供する。
なお、ASPサーバ10は、発行したワンタイムパスワードに有効期限を設けておき、有効期限の経過後にはこのワンタイムパスワードを無効にする。
なお、ASPサーバ10は、認証に成功したワンタイムパスワードについてはこれを無効にする。
この変形例によれば、認証サーバとASPサーバ10とでやり取りされるワンタイムパスワードでユーザ認証が行われるので、上述した実施形態に比べて、第三者により不正な方法でユーザ認証が行われる可能性を抑えることができる。また、認証サーバにてユーザIDに基づくユーザ認証が行われていれば、端末装置20がページアクセス要求を送信した後にASPサーバ10はユーザIDに基づくユーザ認証を行う必要がない。これにより端末装置20のユーザにしてみれば、端末装置20でASPサーバ10が提供するwebページが表示された後に、ユーザIDやパスワードを入力する操作を行う必要がなく、電子クーポンの取得時における操作負担が減る。
また、本発明は、1ユーザあたりの提供制限枚数が設定されている電子クーポン(第1電子クーポン)を提供する場合には、端末装置20に端末IDの読み取りを指示し、1ユーザあたりの提供制限枚数が設定されていない電子クーポン(第2電子クーポン)を提供する場合には、端末装置20に端末IDの読み取りを指示しない構成としても特定可能である。よって、この発明では、ユーザ管理テーブル136におけるユーザID及び端末IDの無効にする仕組みを有していなくてもよい。この発明であっても、1ユーザあたりの提供制限枚数が設定されていない電子クーポンを提供する場合には、電子クーポンの管理において不要である端末ID通知処理(つまり、図31に示す処理)を省略できるので、いつでも端末IDの読取処理を行う場合に比べて、端末装置20に電子クーポンを提供するまでの時間を短くすることができる。
上述した実施形態の通信システム1では、店舗管理サーバ30と店舗端末40とが別々の装置であったが、これらを一体化した装置が用いられてもよい。この一体化した装置として、例えば、リーダ/ライタ機能を有しているパーソナルコンピュータやスマートフォン、POS端末等がある。
また、ASPサーバ10の制御部11が実現する各機能は、複数のプログラムの組み合わせによって実現され、又は、複数のハードウェア資源の協働によって実現されうる。
また、本発明は、ASPサーバ10が実行するプログラムやクーポン管理方法として把握することも可能である。
上記の実施形態では、ユーザ管理テーブル132において設定される端末IDとユーザIDとの対応付けに有効期限が設定され、その有効期限が経過すると、当該対応付けは無効になる。そして、当該対応付けの変更(具体的には、ユーザIDの変更)が許可される(図33のステップSb122参照)。よって、端末装置20のユーザが自身のユーザIDやパスワードを失念してしまい別のユーザIDを取得した場合であっても、元のユーザIDと端末IDとの対応付けの有効期限が経過すれば、新たなユーザIDを用いて電子クーポンの提供を受けることができる。また、すでに別のユーザIDと対応付けられている端末装置20の譲渡を受け、当該端末に機種変更する場合であっても、当該ユーザIDと端末IDとの対応付けの有効期限が経過すれば、譲渡を受けたユーザは、自己のユーザIDを用いて電子クーポンの提供を受けることができる。
上記の第2実施形態は、上記の第1実施形態と組み合わせてもよい。具体的には、第1実施形態の図10のステップSa1の処理の前に、第2実施形態の図29のステップSb1〜Sb8の処理を実行してもよい。
Claims (17)
- 端末装置に提供されて当該端末装置において利用される第1電子クーポン及び第2電子クーポンのそれぞれについて、前記端末装置が有するメモリ領域への書込処理の成功が確定した電子クーポンの未利用数と、前記端末装置において最新の前記書込処理が完了した書込完了日時とを記憶するとともに、複数の端末装置に対して新たに提供可能な電子クーポンの残数を記憶する第1記憶部と、
前記第2電子クーポンが前記メモリ領域に記憶された第1の端末装置に、前記第1電子クーポンを新たに提供する場合、当該第1の端末装置における前記第2電子クーポンに前記第1電子クーポンを上書きする前記書込処理の成功が確定した後で、前記第1電子クーポンの残数から減じた数を当該第1の端末装置の前記第1電子クーポンの未利用数に設定するとともに、当該第1の端末装置の前記第2電子クーポンの未利用数を前記第2電子クーポンの残数に加算して、当該未利用数をクリアするよう、前記第1記憶部を更新する第1更新部と、
前記メモリ領域に記憶された前記第1電子クーポンを前記第1の端末装置が利用した場合、前記第1電子クーポンの利用日時と利用数とを含む利用履歴を取得する利用履歴取得部と、
前記利用履歴取得部により取得された利用履歴に基づいて、前記第1の端末装置の前記第1電子クーポンの未利用数を更新する第2更新部であって、当該利用履歴に含まれる利用日時が前記書込完了日時よりも後である場合、前記未利用数から当該利用履歴に含まれる利用数を減じ、当該利用日時が前記書込完了日時よりも前である場合、前記未利用数から前記利用数を減じない第2更新部と
を備えることを特徴とするサーバ装置。 - 前記第1記憶部は、前記利用日時が前記書込完了日時で後である場合に前記処理履歴による前記未利用数の更新が保留されたときには、当該利用履歴を記憶し、
前記第2更新部は、
前記利用履歴取得部により取得された利用履歴に含まれる利用日時が前記書込完了日時よりも後である場合に、前記第1の端末装置が実行した前記書込処理の結果が未確定である前記書込処理が存在するときには、前記未利用数の更新を保留して、当該利用履歴を前記第1記憶部に記憶させ、
前記結果が未確定である前記書込処理の結果がすべて確定した後、当該利用履歴に含まれる利用日時が前記書込完了日時よりも後である場合、前記未利用数から当該利用履歴に含まれる利用数を減じ、当該利用日時が前記書込完了日時よりも前である場合、前記未利用数から当該利用数を減じない
ことを特徴とする請求項1に記載のサーバ装置。 - 前記第1更新部は、
前記未利用数の更新が保留された第2電子クーポンの処理履歴が前記第1記憶部に記憶されているときには、当該未利用数から当該処理履歴に含まれる利用数を減じた数を、前記第2電子クーポンの残数に加算する
ことを特徴とする請求項2に記載のサーバ装置。 - 前記第2更新部は、
前記利用履歴取得部が利用履歴を取得した際、当該処理履歴に含まれる利用日時が書込完了日時よりも後であり、かつ、成功が未確定である書込処理が存在しないときには、前記未利用数から当該利用履歴に含まれる利用数を減じる
ことを特徴とする請求項2又は3に記載のサーバ装置。 - 前記メモリ領域に第1電子クーポンを書き込む前記書込処理が終了した旨の通知を受け付けた後、前記第1の端末装置から前記書込処理の結果を取得する管理サーバに問い合わせて当該結果を取得する処理結果取得部を備え、
前記第1更新部は、
前記処理結果取得部により取得された前記結果に応じて前記書込完了日時を更新する
ことを特徴とする請求項1から4のいずれか1項に記載のサーバ装置。 - 提供可能な数がユーザ毎に制限された電子クーポンを提供した端末装置を識別する端末IDに、当該端末装置のユーザを識別する1のユーザIDを対応付けて記憶する第2記憶部と、
前記第1電子クーポンを前記第1の端末装置に新たに提供する場合、当該第1の端末装置の端末IDと当該第1の端末装置のユーザのユーザIDとを取得する取得部と、
前記第2記憶部において、前記取得部が取得した端末IDに前記取得部が取得したユーザIDと異なるユーザIDが対応付けられていない場合、又は、前記取得した端末IDに前記取得したユーザIDと異なるユーザIDが対応付けられている場合に予め決められた条件を満たすときには、前記提供可能な数の範囲内で当該端末IDが示す前記第1の端末装置に前記第1電子クーポンを提供するための処理を実行する提供部と、
前記提供部により前記処理が実行される場合、前記第2記憶部において前記取得した端末IDに前記取得したユーザIDを対応付ける書込部と
を備えることを特徴とする請求項1から5のいずれか1項に記載のサーバ装置。 - 前記提供部は、
前記第2記憶部において、前記取得した端末IDに前記取得したユーザIDと異なるユーザIDが対応付けられている場合に、前記条件を満たさないときには、前記処理を実行しない
ことを特徴とする請求項6に記載のサーバ装置。 - 前記提供部は、
前記第2記憶部において、前記取得した端末IDに前記取得したユーザIDと異なるユーザIDが対応付けられている場合には、前記処理を実行し、
前記書込部は、
前記条件を満たさないときに前記提供部により前記処理が実行された場合には、前記第2記憶部において前記取得した端末IDに対応付けられたユーザIDを変更しない
ことを特徴とする請求項6に記載のサーバ装置。 - 前記取得部は、
前記第1の端末装置から前記端末IDを取得したが前記ユーザIDを取得しなかった場合に、前記第2記憶部において当該端末IDにいずれかのユーザIDが対応付けられているときには当該ユーザIDを取得し、前記第2記憶部において当該端末IDがいずれのユーザIDとも対応付けられていないときには新たにユーザIDを発行して取得し、
前記書込部は、
前記提供部により前記処理が実行された場合に、前記取得部が前記第2記憶部からユーザIDを取得していたときには、前記取得した端末IDに対応付けられたユーザIDを変更せず、新たにユーザIDを発行して取得していたときには、当該ユーザIDを前記取得した端末IDに対応付けて前記第2記憶部に書き込む
ことを特徴とする請求項6から8のいずれか1項に記載のサーバ装置。 - 前記提供部は、
前記処理を実行してから予め決められた期間が経過したことを前記条件とする
ことを特徴とする請求項6から9のいずれか1項に記載のサーバ装置。 - 前記提供部は、
前記第1電子クーポンの利用可能期間が経過したことを前記条件とする
ことを特徴とする請求項6から10のいずれか1項に記載のサーバ装置。 - 前記提供部は、
複数種類の電子クーポンを前記第1の端末装置に提供した場合、終了時期が最も後である電子クーポンの利用可能期間が経過したことを前記条件とする
ことを特徴とする請求項11に記載のサーバ装置。 - 前記端末IDは、当該端末IDが示す端末装置が有するメモリ領域に記憶され、
提供可能な数がユーザ毎に制限された電子クーポンを提供する場合には、前記メモリ領域からの前記端末IDの読み出しを指示し、提供可能な数がユーザ毎に制限されていない電子クーポンを当該第1の端末装置に提供する場合には、前記端末IDの読み出しを指示しない読出指示部を備え、
前記取得部は、
前記読出指示部により前記端末IDの読み出しが指示された場合に、当該指示に従って前記メモリ領域から読み出された前記端末IDを取得し、
前記提供部は、
前記読出指示部により前記端末IDの読み出しが指示されなかった場合に、前記提供可能な数がユーザ毎に制限されていない電子クーポンを前記第1の端末装置に提供するための処理を実行する
ことを特徴とする請求項6から12のいずれか1項に記載のサーバ装置。 - 前記第2記憶部において、前記取得した端末IDに前記取得したユーザIDと異なるユーザIDが対応付けられており、かつ、前記条件を満たす場合に、前記第2記憶部において、前記取得したユーザIDと、前記取得した端末IDと異なる端末IDとが対応付けられているときに、当該取得したユーザIDと当該異なる端末IDとの対応付けを削除する削除部をさらに備えることを特徴とする請求項6から13のいずれか1項に記載のサーバ装置。
- 端末装置に提供されて当該端末装置において利用される第1電子クーポン及び第2電子クーポンのそれぞれについて、前記端末装置が有するメモリ領域への書込処理の成功が確定した電子クーポンの未利用数と、前記端末装置において最新の前記書込処理が完了した書込完了日時とを記憶するとともに、複数の端末装置に対して新たに提供可能な電子クーポンの残数を記憶する第1記憶部を有するサーバ装置のクーポン管理方法であって、
前記第2電子クーポンが前記メモリ領域に記憶された第1の端末装置に、前記第1電子クーポンを新たに提供する場合、当該第1の端末装置における前記第2電子クーポンに前記第1電子クーポンを上書きする前記書込処理の成功が確定した後で、前記第1電子クーポンの残数から減じた数を当該第1の端末装置の前記第1電子クーポンの未利用数に設定するとともに、当該第1の端末装置の前記第2電子クーポンの未利用数を前記第2電子クーポンの残数に加算して、当該未利用数をクリアするよう、前記第1記憶部を更新する第1更新ステップと、
前記メモリ領域に記憶された前記第1電子クーポンを前記第1の端末装置が利用した場合、前記第1電子クーポンの利用日時と利用数とを含む利用履歴を取得する利用履歴取得ステップと、
前記利用履歴取得ステップで取得された利用履歴に基づいて、前記第1の端末装置の前記第1電子クーポンの未利用数を更新する第2更新ステップであって、当該利用履歴に含まれる利用日時が前記書込完了日時よりも後である場合、前記未利用数から当該利用履歴に含まれる利用数を減じ、当該利用日時が前記書込完了日時よりも前である場合、前記未利用数から前記利用数を減じない第2更新ステップと
を有することを特徴とするクーポン管理方法。 - 提供可能な数がユーザ毎に制限された前記第1電子クーポンを前記第1の端末装置に新たに提供する場合、当該第1の端末装置の端末IDと当該第1の端末装置のユーザのユーザIDとを取得する取得ステップと、
前記電子クーポンを提供した端末装置を識別する端末IDに、当該端末装置のユーザを識別する1のユーザIDを対応付けて記憶する第2記憶部において、前記取得ステップで取得した端末IDに前記取得ステップで取得したユーザIDと異なるユーザIDが対応付けられていない場合、又は、前記取得した端末IDに前記取得したユーザIDと異なるユーザIDが対応付けられている場合に予め決められた条件を満たすときには、前記提供可能な数の範囲内で当該端末IDが示す前記第1の端末装置に前記第1電子クーポンを提供するための処理を実行する提供ステップと、
前記提供ステップで前記処理が実行される場合、前記第2記憶部において前記取得した端末IDに前記取得したユーザIDを対応付ける書込ステップと
を有することを特徴とする請求項15に記載のクーポン管理方法。 - サーバ装置と端末装置とを備える通信システムであって、
前記サーバ装置は、
前記端末装置に提供されて当該端末装置において利用される第1電子クーポン及び第2電子クーポンのそれぞれについて、前記端末装置が有するメモリ領域への書込処理の成功が確定した電子クーポンの未利用数と、前記端末装置において最新の前記書込処理が完了した書込完了日時とを記憶するとともに、複数の端末装置に対して新たに提供可能な電子クーポンの残数を記憶する記憶部と、
前記第2電子クーポンが前記メモリ領域に記憶された端末装置に、前記第1電子クーポンを新たに提供する場合、当該端末装置における前記第2電子クーポンに前記第1電子クーポンを上書きする前記書込処理の成功が確定した後で、前記第1電子クーポンの残数から減じた数を当該端末装置の前記第1電子クーポンの未利用数に設定するとともに、当該端末装置の前記第2電子クーポンの未利用数を前記第2電子クーポンの残数に加算して、当該未利用数をクリアするよう、前記記憶部を更新する第1更新部と、
前記メモリ領域に記憶された前記第1電子クーポンを前記端末装置が利用した場合、前記第1電子クーポンの利用日時と利用数とを含む利用履歴を取得する利用履歴取得部と、
前記利用履歴取得部により取得された利用履歴に基づいて、前記端末装置の前記第1電子クーポンの未利用数を更新する第2更新部であって、当該利用履歴に含まれる利用日時が前記書込完了日時よりも後である場合、前記未利用数から当該利用履歴に含まれる利用数を減じ、当該利用日時が前記書込完了日時よりも前である場合、前記未利用数から前記利用数を減じない第2更新部と
を有し、
前記端末装置は、
前記サーバ装置により提供される前記記憶部に記憶された未利用数の電子クーポンを、前記書込処理により前記メモリ領域に書き込み、当該書込処理を終了したことを前記サーバ装置に通知する
ことを特徴とする通信システム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013536307A JP5714712B2 (ja) | 2011-09-30 | 2012-09-25 | サーバ装置、クーポン管理方法及び通信システム |
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011218631 | 2011-09-30 | ||
JP2011218631 | 2011-09-30 | ||
JP2012054658 | 2012-03-12 | ||
JP2012054658 | 2012-03-12 | ||
PCT/JP2012/074596 WO2013047534A1 (ja) | 2011-09-30 | 2012-09-25 | サーバ装置、クーポン管理方法及び通信システム |
JP2013536307A JP5714712B2 (ja) | 2011-09-30 | 2012-09-25 | サーバ装置、クーポン管理方法及び通信システム |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2013047534A1 JPWO2013047534A1 (ja) | 2015-03-26 |
JP5714712B2 true JP5714712B2 (ja) | 2015-05-07 |
Family
ID=47995566
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013536307A Expired - Fee Related JP5714712B2 (ja) | 2011-09-30 | 2012-09-25 | サーバ装置、クーポン管理方法及び通信システム |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP5714712B2 (ja) |
WO (1) | WO2013047534A1 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6950351B2 (ja) * | 2017-08-18 | 2021-10-13 | 富士フイルムビジネスイノベーション株式会社 | 特典管理装置及びプログラム |
CN112154636B (zh) * | 2018-04-10 | 2023-06-02 | 维萨国际服务协会 | 深度链接认证 |
JP2019079499A (ja) * | 2018-08-14 | 2019-05-23 | Line株式会社 | 情報処理プログラム、情報処理方法および情報処理端末 |
US11151595B1 (en) | 2019-06-17 | 2021-10-19 | Amdocs Development Limited | System, method, and computer program for a smart coupon code |
IL280116A (en) | 2021-01-12 | 2022-08-01 | Google Llc | Secure network communication that restricts information |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4738110B2 (ja) * | 2005-09-08 | 2011-08-03 | 東芝テック株式会社 | 販売促進システム、販売促進方法および販売促進プログラム |
JP5050581B2 (ja) * | 2007-03-12 | 2012-10-17 | 大日本印刷株式会社 | 非接触icチップに記憶された電子クーポンを利用する方法、サーバおよびコンピュータプログラム |
JP2009169766A (ja) * | 2008-01-17 | 2009-07-30 | Fuji Electric Holdings Co Ltd | 電子クーポンシステム、そのサーバ、クーポン発行端末、クーポン利用・回収端末、プログラム |
-
2012
- 2012-09-25 JP JP2013536307A patent/JP5714712B2/ja not_active Expired - Fee Related
- 2012-09-25 WO PCT/JP2012/074596 patent/WO2013047534A1/ja active Application Filing
Also Published As
Publication number | Publication date |
---|---|
JPWO2013047534A1 (ja) | 2015-03-26 |
WO2013047534A1 (ja) | 2013-04-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10789578B2 (en) | Network system, and server apparatus, server apparatus control method, and computer readable storage medium for use in same | |
JP5664378B2 (ja) | 仮想ポイントカードシステム、仮想ポイントカードの管理方法、ポイントカード管理端末、携帯端末、ポイントカード管理プログラム、及びポイントカード利用プログラム | |
JP6655147B2 (ja) | 決済システム | |
JP6849444B2 (ja) | 認証装置、認証システム、認証方法及びプログラム | |
JP5714712B2 (ja) | サーバ装置、クーポン管理方法及び通信システム | |
JP2019067432A (ja) | 認証支援装置、認証支援方法、およびプログラム | |
JP2011209861A (ja) | 取引方法及び取引システム | |
US9331964B2 (en) | System, method, and apparatus for using a virtual bucket to transfer electronic data | |
JP2009169809A (ja) | 生体情報登録システム、ならびにicカード、処理端末、およびセンタシステム | |
JP5667325B1 (ja) | Id管理装置、id管理方法、およびid管理プログラム | |
JP5731883B2 (ja) | 端末設置システム及び端末設置方法 | |
KR101672324B1 (ko) | 사용자의 간편한 복합 결제를 지원하는 모바일 결제 서비스 제공 시스템 및 방법 | |
JP2021082359A (ja) | 認証装置、認証システム、認証方法及びプログラム | |
JPWO2015198874A1 (ja) | 薬歴情報管理装置および方法、登録端末装置および方法、並びにプログラム | |
JP2016181171A (ja) | 情報処理装置、システム、方法およびプログラム | |
JP5661191B2 (ja) | サーバ装置、クーポン管理方法、通信システム及びプログラム | |
JP6781483B2 (ja) | 料金決済システム | |
JP4800126B2 (ja) | 属性情報検証方法、失効情報生成装置、サービス提供元装置、及び属性情報検証システム | |
JP5941865B2 (ja) | サーバ装置、電子クーポン管理方法、通信システム及びプログラム | |
KR101705404B1 (ko) | 카드 접촉을 통한 카드 사용 등록 시스템 및 이의 실행 방법 | |
JP7402294B1 (ja) | 情報処理システム、情報処理方法、及び情報処理プログラム | |
JP7484594B2 (ja) | 顧客情報管理サーバ、顧客情報管理方法、及びプログラム | |
JP2022037332A (ja) | 顧客情報管理サーバ、顧客情報管理方法、及びプログラム | |
JP2022089435A (ja) | 通信制御装置、通信制御システム、通信制御方法、及び、通信制御プログラム | |
JP2022108858A (ja) | 個人情報管理装置、個人情報管理システム、端末及び端末プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
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: 20150224 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150311 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5714712 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |