「ポイント交換システム及び方法、ポイント交換情報発行装置、並びにプログラム」のライセンシングパートナーを募集します!
【発明の名称】ポイント交換システム及び方法、ポイント交換情報発行装置、並びにプログラム
【出願日】2002年7月4日
【出願番号】特願2002-195953
【公開番号】特許公開2005-018099
【出願人】フォーカスワン株式会社
【発明者】本田 季伸
【要約】
【課題】ユーザが有するポイントが不正に他の物と交換されるのを防ぐ。
【解決手段】携帯電話機には固有バーコードが割り当てられており、そのユーザは、商品購入金額などに応じたポイントをサーバ装置に蓄積している。ユーザがサーバ装置に蓄積されているポイントを他の物と交換しようとする場合には、携帯電話機からサーバ装置に交換要求を送って、固有バーコードとは異なる交換用バーコードを取得する。交換用バーコードは、使用期限が付されていると共に、固有バーコードを用いて復号可能に暗号化されている。交換用バーコードと固有バーコードとを順次携帯電話機の表示装置に表示させて、加盟店端末に読み取らせる。加盟店端末は、固有バーコードを用いて交換用バーコードを復号化してサーバ装置に送信する。サーバ装置1では、送られてきた交換用バーコードが有効かどうかチェックし、有効であればユーザポイントを減算等して加盟店端末に通知する。
【特許請求の範囲】
【請求項1】
ポイント交換サービス加盟事業者の利用に供する第1の端末装置と、ポイント交換サービスの利用者の利用に供する第2の端末装置と、前記第1、第2の端末装置にそれぞれ通信回線を介して接続されたサーバ装置とを備えるポイント交換システムであって、
前記第2の端末装置は、
固有の一次識別情報を記憶する一次識別情報記憶手段と、
前記利用者が所持するポイントとして前記サーバ装置に記憶されているポイントを他の価値のある物に交換するための二次識別情報の発行要求を、前記一次識別情報と共に前記通信回線を介して前記サーバ装置に送信する発行要求送信手段と、
前記発行要求送信手段が送信した発行要求に応答して、前記サーバ装置から送られてきた二次識別情報を受信する第1の二次識別情報受信手段と、
前記第1の二次識別情報受信手段が受信した二次識別情報を記憶する二次識別情報記憶手段と、
前記利用者の指示により、前記一次識別情報記憶手段に記憶されている一次識別情報、または前記二次識別情報記憶手段に記憶されている二次識別情報を出力する識別情報出力手段とを備え、
前記第1の端末装置は、
前記識別情報出力手段が出力した二次識別情報を入力する二次識別情報入力手段と、
前記二次識別情報入力手段から入力された二次識別情報を、前記通信回線を介して前記サーバ装置に送信する第1の二次識別情報送信手段とを備え、
前記サーバ装置は、
前記一次識別情報と対応付けて、対応する利用者が所持するポイントの値を記憶するポイント記憶手段と、
前記発行要求送信手段から送信された発行要求を、前記一次識別情報と共に受信する発行要求受信手段と、
前記発行要求受信手段による発行要求の受信に応答して、該発行要求と共に受信した一次識別情報に基づいて利用者を特定し、該特定した利用者に対して前記二次識別情報を発行する二次識別情報発行手段と、
前記二次識別情報発行手段が発行した二次識別情報を、前記通信回線を介して対応する利用者の前記第2の端末装置に送信する第2の二次識別情報送信手段と、
前記第1の二次識別情報送信手段が送信した二次識別情報を受信する第2の二次識別情報受信手段と、
前記第2の二次識別情報受信手段が受信した二次識別情報に従って、前記ポイント記憶手段に記憶されたポイントを減少させるポイント減少手段とを備える
ことを特徴とするポイント交換システム。
【請求項2】
前記ポイント記憶手段は、前記一次識別情報に対応した数値を互いに異なる複数の演算式で演算した演算結果に応じた記憶位置に、対応する一次識別情報を付与した利用者に関連付けるための関連付け情報を登録する複数のテーブルと、前記複数のテーブルのそれぞれからの関連付け情報が指し示す記憶位置に、対応する利用者が所持するポイントの値を記憶する利用者別ポイント記憶手段とから構成され、
前記二次識別情報発行手段は、前記発行要求と共に受信した一次識別情報に対応した数値を前記複数の演算式で演算した演算結果に応じた前記複数のテーブルの全ての記憶位置に、同一の利用者に関連付けるための関連付け情報が登録されている場合に、該関連付け情報に対応した利用者を特定する
ことを特徴とする請求項1に記載のポイント交換システム。
【請求項3】
前記第1の端末装置は、
前記識別情報出力手段が出力した一次識別情報を入力する一次識別情報入力手段と、
前記一次識別情報入力手段から入力した一次識別情報と共に前記利用者に付与したポイントを、前記通信回線を介して前記サーバ装置に送信するポイント送信手段とをさらに備え、
前記サーバ装置は、
前記ポイント送信手段から送信されたポイントを一次識別情報と共に受信するポイント受信手段と、
前記ポイント受信手段が受信したポイントに従って、共に受信した一次識別情報に対応して前記ポイント記憶手段に記憶されているポイントを増加させるポイント増加手段とをさらに備える
ことを特徴とする請求項1または2に記載のポイント交換システム。
【請求項4】
ポイント交換サービス加盟事業者の利用に供する第1の端末装置と、固有の一次識別情報を保持し、ポイント交換サービスの利用者の利用に供する第2の端末装置と情報を授受することにより、前記利用者が所持するポイントを他の価値のある物に交換するポイント交換方法であって、
前記第2の端末装置から前記一次識別情報と共に送られてきた要求により、該送られてきた一次識別情報に基づいて利用者を特定し、
前記特定した利用者に対して該利用者が所持するポイントとして記憶手段に記憶されたポイントを前記他の価値のある物に交換するための二次識別情報を発行し、
発行した二次識別情報を、対応する利用者の前記第2の端末装置に送信し、
前記第2の端末装置が受信した二次識別情報を入力した前記第1の端末装置から該二次識別情報を受信し、
受信した二次識別情報に従って、前記記憶手段に記憶されたポイントを減少する
ことを特徴とするポイント交換方法。
【請求項5】
前記一次識別情報に対応した数値を互いに異なる複数の演算式で演算した演算結果に応じた記憶位置に、対応する一次識別情報を付与した利用者に関連付けるための関連付け情報を複数のテーブルに記憶させ、
前記複数のテーブルのそれぞれからの関連付け情報が指し示す記憶位置に、対応する利用者が所持するポイントの値を記憶させ、
前記利用者の特定は、前記要求と共に送られてきた一次識別情報に対応した数値を前記複数の演算式で演算した演算結果に応じた前記ポイント記憶手段の複数のテーブルの全ての記憶位置に、同一の利用者に関連付けるための関連付け情報が登録されている場合に、該関連付け情報に対応した利用者を特定することによって行う
ことを特徴とする請求項4に記載のポイント交換方法。
【請求項6】
前記第2の端末装置が保持する一次識別情報を入力した第1の端末装置から、該一次識別情報と共に前記利用者に付与したポイントを受信し、
受信したポイントに従って、共に受信した一次識別情報に対応して前記記憶手段に記憶されているポイントを増加する
ことを特徴とすることを特徴とする請求項4または5に記載のポイント交換方法。
【請求項7】
ポイント交換サービス加盟事業者の利用に供する第1の端末装置と、固有の一次識別情報を保持し、ポイント交換サービスの利用者の利用に供する第2の端末装置とに、それぞれ通信回線を介して接続されたポイント交換情報発行装置であって、
前記一次識別情報と対応付けて、対応する利用者が所持するポイントの値を記憶するポイント記憶手段と、
前記第2の端末装置から前記一次識別情報と共に送られてきた要求により、該送られてきた一次識別情報に基づいて利用者を特定し、該特定した利用者に対して前記ポイント記憶手段に記憶されたポイントを他の価値のある物に交換するための二次識別情報を発行する二次識別情報発行手段と、
前記二次識別情報発行手段が発行した二次識別情報を、前記通信回線を介して対応する利用者の前記第2の端末装置に送信する二次識別情報送信手段と、
前記第2の端末装置が受信した二次識別情報を入力した前記第1の端末装置から、前記通信回線を介して該二次識別情報を受信する二次識別情報受信手段と、
前記二次識別情報受信手段が受信した二次識別情報に従って、前記ポイント記憶手段に記憶されたポイントを減少させる第1のポイント減少手段と
を備えることを特徴とするポイント交換情報発行装置。
【請求項8】
前記ポイント記憶手段は、前記一次識別情報に対応した数値を互いに異なる複数の演算式で演算した演算結果に応じた記憶位置に、対応する一次識別情報を付与した利用者に関連付けるための関連付け情報を登録する複数のテーブルと、前記複数のテーブルのそれぞれからの関連付け情報が指し示す記憶位置に、対応する利用者が所持するポイントの値を記憶する利用者別ポイント記憶手段とから構成され、
前記二次識別情報発行手段は、前記要求と共に送られてきた一次識別情報に対応した数値を前記複数の演算式で演算した演算結果に応じた前記ポイント記憶手段の複数のテーブルの全ての記憶位置に、同一の利用者に関連付けるための関連付け情報が登録されている場合に、該関連付け情報に対応した利用者を特定する
ことを特徴とする請求項7に記載のポイント交換情報発行装置。
【請求項9】
前記ポイント記憶手段は、前記一次識別情報自体を記憶していない
ことを特徴とする請求項8に記載のポイント交換情報発行装置。
【請求項10】
前記複数の演算式は、前記一次識別情報に対応した数値を互いに異なる除数で除算した剰余を求める式であり、
前記互いに異なる除数の最小公倍数は、前記一次識別情報に対応した数値がとり得る値の最大値と最小値との差よりも大きい
ことを特徴とする請求項8または9に記載のポイント交換情報発行装置。
【請求項11】
前記二次識別情報発行手段が発行した二次識別情報に対応した数値を互いに異なる複数の演算式で演算した演算結果に応じた記憶位置に、対応する一次識別情報を付与した利用者に関連付けるための関連付け情報を登録する複数のテーブルを有する二次識別情報関連付け記憶手段をさらに備え、
前記二次識別情報発行手段は、ランダムに生成した二次識別情報に対応した数値を前記複数の演算式で演算した演算結果に応じた前記二次識別情報関連付け記憶手段の複数のテーブルの全ての記憶位置に、同一の利用者に関連付けるための関連付け情報が登録されていない場合に、前記ランダムに生成した二次識別情報を前記一次識別情報により特定した利用者に対して発行し、
前記ポイント減少手段は、前記二次識別情報受信手段が受信した二次識別情報に対応した数値を前記複数の演算式で演算した演算結果に応じた前記二次識別情報関連付け記憶手段の複数のテーブルの全ての記憶位置に、同一の利用者に関連付けるための関連付け情報が登録されている場合に、前記ポイント記憶手段に記憶されているポイントを減少させる
ことを特徴とする請求項7乃至10のいずれか1項に記載のポイント交換情報発行装置。
【請求項12】
前記二次識別情報送信手段が前記発行した二次識別情報を前記第2の端末装置に送信した後に、該発行した二次識別情報を破棄する二次識別情報破棄手段をさらに備える
ことを特徴とする請求項11に記載のポイント交換情報発行装置。
【請求項13】
前記複数の演算式は、前記二次識別情報に対応した数値を互いに異なる除数で除算した剰余を求める式であり、
前記互いに異なる除数の最小公倍数は、前記二次識別情報に対応した数値がとり得る値の最大値と最小値との差よりも大きい
ことを特徴とする請求項11または12に記載のポイント交換情報発行装置。
【請求項14】
前記二次識別情報は、前記二次識別情報発行手段による発行から所定時間が経過すると無効となる
ことを特徴とする請求項7乃至13のいずれか1項に記載のポイント交換情報発行装置。
【請求項15】
前記二次識別情報は、前記一次識別情報に応じた暗号鍵を用いて暗号化されて前記第2の端末装置に送信されると共に、前記一次識別情報に応じた復号鍵を用いて復号化される
ことを特徴とする請求項7乃至14のいずれか1項に記載のポイント交換情報発行装置。
【請求項16】
前記二次識別情報には、電子透かしが埋め込まれている
ことを特徴とする請求項7乃至15のいずれか1項に記載のポイント交換情報発行装置。
【請求項17】
前記二次識別情報は、前記第2の端末装置において動作するプログラムを含み、
前記プログラムは、前記第2の端末装置に受信されてからの時間を計時する機能と、計時した時間が所定時間に達することで前記二次識別情報を無効化する機能とを含む
ことを特徴とする請求項7乃至16のいずれか1項に記載のポイント交換情報発行装置。
【請求項18】
前記第2の端末装置からの要求に従って、前記第2の端末装置に保持される一次識別情報を発行する一次識別情報発行手段と、
前記一次識別情報発行手段が発行した一次識別情報を、前記通信回線を介して要求元の第2の端末装置に送信する第1の一次識別情報送信手段とをさらに備える
ことを特徴とする請求項7乃至17のいずれか1項に記載のポイント交換情報発行装置。
【請求項19】
前記一次識別情報は、前記第2の端末装置に予め割り当てられている
ことを特徴とする請求項7乃至18のいずれか1項に記載のポイント交換情報発行装置。
【請求項20】
前記一次識別情報を所定期間毎に更新する一次識別情報更新手段と、
前記一次識別情報更新手段が更新した一次識別情報を、前記通信回線を介して前記第2の端末装置に送信する第2の一次識別情報送信手段とをさらに備え、
前記第2の一次識別情報送信手段から送信された更新後の一次識別情報を受信した第2の端末装置は、該更新後の一次識別情報を保持する
ことを特徴とする請求項7乃至19のいずれか1項に記載のポイント交換情報発行装置。
【請求項21】
前記二次識別情報は、要求元の第2の端末装置が保持する一次識別情報を包含する
ことを特徴とする請求項7乃至20のいずれか1項に記載のポイント交換情報発行装置。
【請求項22】
前記第2の端末装置が保持する一次識別情報を入力した第1の端末装置から、該一次識別情報と共に前記利用者に付与したポイントを、前記通信回線を介して受信するポイント受信手段と、
前記ポイント受信手段が受信したポイントに従って、共に受信した一次識別情報に対応して前記ポイント記憶手段に記憶されているポイントを増加させるポイント増加手段とをさらに備える
ことを特徴とする請求項7乃至21のいずれか1項に記載のポイント交換情報発行装置。
【請求項23】
前記一次識別情報及び前記二次識別情報は、前記第2の端末装置の表示装置に表示され、前記第1の端末装置が有する読み取り装置で読み取られる
ことを特徴とする請求項7乃至22のいずれか1項に記載のポイント交換情報発行装置。
【請求項24】
前記第2の端末装置毎に、少なくとも表示装置に関する情報を含む機種情報を記憶した機種情報記憶手段をさらに備え、
前記二次識別情報発行手段は、要求元の第2の端末装置について前記機種情報記憶手段に記憶されている機種情報に従って、前記二次識別情報を発行する
ことを特徴とする請求項23に記載のポイント交換情報発行装置。
【請求項25】
前記第2の端末装置は、携帯電話機である
ことを特徴とする請求項23または24に記載のポイント交換情報発行装置。
【請求項26】
前記二次識別情報発行手段による二次識別情報の発行に応じて、前記ポイント記憶手段に記憶されたポイントを減少させる第2のポイント減少手段をさらに備える
ことを特徴とする請求項7乃至25のいずれか1項に記載のポイント交換情報発行装置。
【請求項27】
前記ポイント記憶手段に記憶されるポイントは、マイナスの値を示すことが可能である
ことを特徴とする請求項7乃至26のいずれか1項に記載のポイント交換情報発行装置。
【請求項28】
所定期間毎に前記ポイント記憶手段に記憶されたポイントがマイナスであるかどうかを判断するマイナス判断手段と、
前記マイナス判断手段がマイナスの値を示していると判断した場合に、該ポイントの値に応じた請求書を前記利用者に宛てて発行する請求書発行手段をさらに備える
ことを特徴とする請求項27に記載のポイント交換情報発行装置。
【請求項29】
ポイント交換サービス加盟事業者の利用に供する第1の端末装置と、固有の一次識別情報を保持し、ポイント交換サービスの利用者の利用に供する第2の端末装置とに、それぞれ通信回線を介して接続されたコンピュータ装置において実行されるプログラムであって、
前記プログラムは、
前記一次識別情報と対応付けて、対応する利用者が所持するポイントの値を記憶するポイント記憶手段、
前記第2の端末装置からの要求により、前記ポイント記憶手段に記憶されたポイントを他の価値のある物に交換するための二次識別情報を発行する二次識別情報発行手段、
前記二次識別情報発行手段が発行した二次識別情報を、前記通信回線を介して前記第2の端末装置に送信する二次識別情報送信手段、
前記第2の端末装置が受信した二次識別情報を入力した前記第1の端末装置から、前記通信回線を介して該二次識別情報を受信する二次識別情報受信手段、及び、
前記二次識別情報受信手段が受信した二次識別情報に従って、前記ポイント記憶手段に記憶されたポイントを減少させるポイント減少手段、
として前記コンピュータ装置を機能させることを特徴とするプログラム。
【請求項30】
前記ポイント記憶手段は、前記一次識別情報に対応した数値を互いに異なる複数の演算式で演算した演算結果に応じた記憶位置に、対応する一次識別情報を付与した利用者に関連付けるための関連付け情報を登録する複数のテーブルと、前記複数のテーブルのそれぞれからの関連付け情報が指し示す記憶位置に、対応する利用者が所持するポイントの値を記憶する利用者別ポイント記憶手段とから構成され、
前記二次識別情報発行手段は、前記要求と共に送られてきた一次識別情報に対応した数値を前記複数の演算式で演算した演算結果に応じた前記ポイント記憶手段の複数のテーブルの全ての記憶位置に、同一の利用者に関連付けるための関連付け情報が登録されている場合に、該関連付け情報に対応した利用者を特定することを特徴とする請求項29に記載のプログラム。
【請求項31】
前記コンピュータ装置を、さらに、
前記第2の端末装置が保持する一次識別情報を入力した第1の端末装置から、該一次識別情報と共に前記利用者に付与したポイントを、前記通信回線を介して受信するポイント受信手段、及び、
前記ポイント受信手段が受信したポイントに従って、共に受信した一次識別情報に対応して前記ポイント記憶手段に記憶されているポイントを増加させるポイント増加手段
として機能させることを特徴とする請求項29または30に記載のプログラム。
【発明の詳細な説明】
【0001】
【発明の属する技術分野】
本発明は、ユーザが有するポイントを他の価値を有する物(無形物を含む)と交換するための技術に関する。
【0002】
【従来の技術】
ポイントカードは、ユーザが購入した商品の価格に応じて付与されるポイントを蓄積し、蓄積したポイントを他の商品と交換できるようにするものであり、従来から顧客囲い込みの手段として広く用いられている。ポイントカードは、一般に磁気カードによって構成されており、ユーザが蓄積したポイントは、磁気記録されている。
【0003】
しかし、磁気記録されたポイントは、比較的容易に書き換えることができるため、ポイントが不正使用されてしまうおそれがある。磁気カードとしてのポイントカードにはユーザまたはカードの識別情報だけを記録しておき、ユーザが蓄積したポイントはサーバで管理するポイントカードシステムもある。このシステムを進化させると、ユーザは専用のポイントカードを持つことなく、自己が所有している携帯電話機などに識別情報を記憶しておくことで、ポイントの蓄積、交換が可能なポイントカードシステムが実現できる。
【0004】
【発明が解決しようとする課題】
しかしながら、携帯電話機に記憶される識別情報は、ポイントの付与を行う店舗側ではなく、ユーザ側で管理されることとなる。このため、上記のシステムを実現しても、他人の識別情報を偽造し、他人が蓄積したポイントを不正に商品と交換することができてしまうという問題が発生する。
【0005】
また、ユーザが蓄積したポイント自体は、ユーザ側で管理させることなく、サーバで管理するようにしたとしても、ユーザの認証を行うためには、ユーザに発行した識別情報と実質的に同じ識別情報をサーバ内で管理していなければならなかった。このために、サーバがハッカーに侵入されて他人の識別情報が盗み出されてしまうという危険をなくすことはできなかった。つまり、ユーザが識別情報の管理責任を怠らなくても、不正に盗み出された識別情報によって、自分のポイントが不正に他の物と交換されてしまう危険があった。
【0006】
本発明は、ユーザがポイントを他の物と交換する際に必要となる識別情報の偽造を防ぐことができるポイント交換システム等を提供することを目的とする。
【0007】
本発明は、また、ユーザが有するポイントが不正に他の物と交換されるのを防ぐことができるポイント交換システム等を提供することを目的とする。
【0008】
【課題を解決するための手段】
上記目的を達成するため、本発明の第1の観点にかかるポイント交換システムは、
ポイント交換サービス加盟事業者の利用に供する第1の端末装置と、ポイント交換サービスの利用者の利用に供する第2の端末装置と、前記第1、第2の端末装置にそれぞれ通信回線を介して接続されたサーバ装置とを備えるポイント交換システムであって、
前記第2の端末装置は、
固有の一次識別情報を記憶する一次識別情報記憶手段と、
前記利用者が所持するポイントとして前記サーバ装置に記憶されているポイントを他の価値のある物に交換するための二次識別情報の発行要求を、前記一次識別情報と共に前記通信回線を介して前記サーバ装置に送信する発行要求送信手段と、
前記発行要求送信手段が送信した発行要求に応答して、前記サーバ装置から送られてきた二次識別情報を受信する第1の二次識別情報受信手段と、
前記第1の二次識別情報受信手段が受信した二次識別情報を記憶する二次識別情報記憶手段と、
前記利用者の指示により、前記一次識別情報記憶手段に記憶されている一次識別情報、または前記二次識別情報記憶手段に記憶されている二次識別情報を出力する識別情報出力手段とを備え、
前記第1の端末装置は、
前記識別情報出力手段が出力した二次識別情報を入力する二次識別情報入力手段と、
前記二次識別情報入力手段から入力された二次識別情報を、前記通信回線を介して前記サーバ装置に送信する第1の二次識別情報送信手段とを備え、
前記サーバ装置は、
前記一次識別情報と対応付けて、対応する利用者が所持するポイントの値を記憶するポイント記憶手段と、
前記発行要求送信手段から送信された発行要求を、前記一次識別情報と共に受信する発行要求受信手段と、
前記発行要求受信手段による発行要求の受信に応答して、該発行要求と共に受信した一次識別情報に基づいて利用者を特定し、該特定した利用者に対して前記二次識別情報を発行する二次識別情報発行手段と、
前記二次識別情報発行手段が発行した二次識別情報を、前記通信回線を介して対応する利用者の前記第2の端末装置に送信する第2の二次識別情報送信手段と、
前記第1の二次識別情報送信手段が送信した二次識別情報を受信する第2の二次識別情報受信手段と、
前記第2の二次識別情報受信手段が受信した二次識別情報に従って、前記ポイント記憶手段に記憶されたポイントを減少させるポイント減少手段とを備える
ことを特徴とする。
【0009】
上記のポイント交換システムでは、ユーザが有するポイントを他の物に交換する場合には、第2の端末装置において常に管理されている一次識別情報だけでなく、ポイント交換専用の二次識別情報を取得することが必要となる。一次識別情報は常にユーザ側で管理されるものであるため比較的偽造が容易である。二次識別情報は、ポイントを他の物と交換しようとする都度送られてくるものであり、ユーザ側で常に管理可能なものではないので、偽造が困難である。つまり、このシステムによれば、ポイントを他の物と交換する際に必要な識別情報の偽造がされにくいため、ポイントが不正に他の価値のある物と交換されるのを防ぐことができる。
【0010】
上記ポイント交換システムにおいて、
前記ポイント記憶手段は、前記一次識別情報に対応した数値を互いに異なる複数の演算式で演算した演算結果に応じた記憶位置に、対応する一次識別情報を付与した利用者に関連付けるための関連付け情報を登録する複数のテーブルと、前記複数のテーブルのそれぞれからの関連付け情報が指し示す記憶位置に、対応する利用者が所持するポイントの値を記憶する利用者別ポイント記憶手段とから構成されたものであってもよい。この場合において、
前記二次識別情報発行手段は、前記発行要求と共に受信した一次識別情報に対応した数値を前記複数の演算式で演算した演算結果に応じた前記複数のテーブルの全ての記憶位置に、同一の利用者に関連付けるための関連付け情報が登録されている場合に、該関連付け情報に対応した利用者を特定することができる。
【0011】
この場合、二次識別情報発行手段は、一次識別情報の照合を行わなくても利用者の特定が可能であるため、高速な処理で利用者を特定することができる。また、この場合において、前記一次式別情報自体は、前記第2の端末装置以外のいかなる装置(前記サーバ装置を含む)にも保存しておかなくて済むこととなる。これにより、サーバ装置などがハッキングされても各利用者の位置に識別情報が盗み出されることはなく、各利用者のポイントが不正に交換されてしまうのを防ぐことができる。
【0012】
上記ポイント交換システムにおいて、
前記第1の端末装置は、
前記識別情報出力手段が出力した一次識別情報を入力する一次識別情報入力手段と、
前記一次識別情報入力手段から入力した一次識別情報と共に前記利用者に付与したポイントを、前記通信回線を介して前記サーバ装置に送信するポイント送信手段とをさらに備えるものであってもよく、
前記サーバ装置は、
前記ポイント送信手段から送信されたポイントを一次識別情報と共に受信するポイント受信手段と、
前記ポイント受信手段が受信したポイントに従って、共に受信した一次識別情報に対応して前記ポイント記憶手段に記憶されているポイントを増加させるポイント増加手段とをさらに備えるものであってもよい。
【0013】
この場合、ユーザは、一次識別情報に従ってポイントを増加させることができるので、第2の端末装置が、従来型のポイントカードと同じようにして使用できる。
【0014】
上記目的を達成するため、本発明の第2の観点にかかるポイント交換方法は、
ポイント交換サービス加盟事業者の利用に供する第1の端末装置と、固有の一次識別情報を保持し、ポイント交換サービスの利用者の利用に供する第2の端末装置と情報を授受することにより、前記利用者が所持するポイントを他の価値のある物に交換するポイント交換方法であって、
前記第2の端末装置から前記一次識別情報と共に送られてきた要求により、該送られてきた一次識別情報に基づいて利用者を特定し、
前記特定した利用者に対して該利用者が所持するポイントとして記憶手段に記憶されたポイントを前記他の価値のある物に交換するための二次識別情報を発行し、
発行した二次識別情報を、対応する利用者の前記第2の端末装置に送信し、
前記第2の端末装置が受信した二次識別情報を入力した前記第1の端末装置から該二次識別情報を受信し、
受信した二次識別情報に従って、前記記憶手段に記憶されたポイントを減少する
ことを特徴とする。
【0015】
上記ポイント交換方法は、さらに、
前記一次識別情報に対応した数値を互いに異なる複数の演算式で演算した演算結果に応じた記憶位置に、対応する一次識別情報を付与した利用者に関連付けるための関連付け情報を複数のテーブルに記憶させ、
前記複数のテーブルのそれぞれからの関連付け情報が指し示す記憶位置に、対応する利用者が所持するポイントの値を記憶させることができ、この場合、
前記利用者の特定は、前記要求と共に送られてきた一次識別情報に対応した数値を前記複数の演算式で演算した演算結果に応じた前記ポイント記憶手段の複数のテーブルの全ての記憶位置に、同一の利用者に関連付けるための関連付け情報が登録されている場合に、該関連付け情報に対応した利用者を特定することによって行うことができる。
【0016】
上記ポイント交換方法は、さらに、
前記第2の端末装置が保持する一次識別情報を入力した第1の端末装置から、該一次識別情報と共に前記利用者に付与したポイントを受信し、
受信したポイントに従って、共に受信した一次識別情報に対応して前記記憶手段に記憶されているポイントを増加するものとすることができる。
【0017】
上記目的を達成するため、本発明の第3の観点にかかるポイント交換情報発行装置は、
ポイント交換サービス加盟事業者の利用に供する第1の端末装置と、固有の一次識別情報を保持し、ポイント交換サービスの利用者の利用に供する第2の端末装置とに、それぞれ通信回線を介して接続されたポイント交換情報発行装置であって、
前記一次識別情報と対応付けて、対応する利用者が所持するポイントの値を記憶するポイント記憶手段と、
前記第2の端末装置から前記一次識別情報と共に送られてきた要求により、該送られてきた一次識別情報に基づいて利用者を特定し、該特定した利用者に対して前記ポイント記憶手段に記憶されたポイントを他の価値のある物に交換するための二次識別情報を発行する二次識別情報発行手段と、
前記二次識別情報発行手段が発行した二次識別情報を、前記通信回線を介して対応する利用者の前記第2の端末装置に送信する二次識別情報送信手段と、
前記第2の端末装置が受信した二次識別情報を入力した前記第1の端末装置から、前記通信回線を介して該二次識別情報を受信する二次識別情報受信手段と、
前記二次識別情報受信手段が受信した二次識別情報に従って、前記ポイント記憶手段に記憶されたポイントを減少させる第1のポイント減少手段と
を備えることを特徴とする。
【0018】
上記ポイント交換情報発行装置において、
前記ポイント記憶手段は、前記一次識別情報に対応した数値を互いに異なる複数の演算式で演算した演算結果に応じた記憶位置に、対応する一次識別情報を付与した利用者に関連付けるための関連付け情報を登録する複数のテーブルと、前記複数のテーブルのそれぞれからの関連付け情報が指し示す記憶位置に、対応する利用者が所持するポイントの値を記憶する利用者別ポイント記憶手段とから構成されたものであってもよい。この場合において、
前記二次識別情報発行手段は、前記要求と共に送られてきた一次識別情報に対応した数値を前記複数の演算式で演算した演算結果に応じた前記ポイント記憶手段の複数のテーブルの全ての記憶位置に、同一の利用者に関連付けるための関連付け情報が登録されている場合に、該関連付け情報に対応した利用者を特定することができる。
【0019】
ここで、前記ポイント記憶手段は、前記一次識別情報自体を記憶していないものであってもよい。
【0020】
また、前記複数の演算式は、前記一次識別情報に対応した数値を互いに異なる除数で除算した剰余を求める式とすることができ、この場合、
前記互いに異なる除数の最小公倍数は、前記一次識別情報に対応した数値がとり得る値の最大値と最小値との差よりも大きいことを条件とすることができる。
【0021】
上記ポイント交換情報発行装置は、
前記二次識別情報発行手段が発行した二次識別情報に対応した数値を互いに異なる複数の演算式で演算した演算結果に応じた記憶位置に、対応する一次識別情報を付与した利用者に関連付けるための関連付け情報を登録する複数のテーブルを有する二次識別情報関連付け記憶手段をさらに備えていてもよい。この場合において、
前記二次識別情報発行手段は、ランダムに生成した二次識別情報に対応した数値を前記複数の演算式で演算した演算結果に応じた前記二次識別情報関連付け記憶手段の複数のテーブルの全ての記憶位置に、同一の利用者に関連付けるための関連付け情報が登録されていない場合に、前記ランダムに生成した二次識別情報を前記一次識別情報により特定した利用者に対して発行し、
前記ポイント減少手段は、前記二次識別情報受信手段が受信した二次識別情報に対応した数値を前記複数の演算式で演算した演算結果に応じた前記二次識別情報関連付け記憶手段の複数のテーブルの全ての記憶位置に、同一の利用者に関連付けるための関連付け情報が登録されている場合に、前記ポイント記憶手段に記憶されているポイントを減少させるものとすることができる。
【0022】
この場合において、上記ポイント交換情報発行装置は、
前記二次識別情報送信手段が前記発行した二次識別情報を前記第2の端末装置に送信した後に、該発行した二次識別情報を破棄する二次識別情報破棄手段をさらに備えるものとすることができる。
【0023】
また、前記複数の演算式は、前記二次識別情報に対応した数値を互いに異なる除数で除算した剰余を求める式とすることができ、この場合、
前記互いに異なる除数の最小公倍数は、前記二次識別情報に対応した数値がとり得る値の最大値と最小値との差よりも大きいことを条件とすることができる。
【0024】
上記ポイント交換情報発行装置において、
前記二次識別情報は、前記二次識別情報発行手段による発行から所定時間が経過すると無効となるものであってもよい。
【0025】
上記ポイント交換情報発行装置において、
前記二次識別情報は、前記一次識別情報に応じた暗号鍵を用いて暗号化されて前記第2の端末装置に送信されると共に、前記一次識別情報に応じた復号鍵を用いて復号化されるものであってもよい。
【0026】
上記ポイント交換情報発行装置において、
前記二次識別情報には、電子透かしが埋め込まれていてもよい。
【0027】
上記ポイント交換情報発行装置において、
前記二次識別情報は、前記第2の端末装置において動作するプログラムを含んでいてもよい。ここで、
前記プログラムは、前記第2の端末装置に受信されてからの時間を計時する機能と、計時した時間が所定時間に達することで前記二次識別情報を無効化する機能とを含むものとすることができる。
【0028】
上記ポイント交換情報発行装置は、
前記第2の端末装置からの要求に従って、前記第2の端末装置に保持される一次識別情報を発行する一次識別情報発行手段と、
前記一次識別情報発行手段が発行した一次識別情報を、前記通信回線を介して要求元の第2の端末装置に送信する第1の一次識別情報送信手段とをさらに備えるものとすることができる。
【0029】
上記ポイント交換情報発行装置において、
前記一次識別情報は、前記第2の端末装置に予め割り当てられているものであってもよい。
【0030】
上記ポイント交換情報発行装置は、
前記一次識別情報を所定期間毎に更新する一次識別情報更新手段と、
前記一次識別情報更新手段が更新した一次識別情報を、前記通信回線を介して前記第2の端末装置に送信する第2の一次識別情報送信手段とをさらに備えていてもよい。この場合において、
前記第2の一次識別情報送信手段から送信された更新後の一次識別情報を受信した第2の端末装置は、該更新後の一次識別情報を保持するものとすることができる。
【0031】
上記ポイント交換情報発行装置は、
前記二次識別情報は、要求元の第2の端末装置が保持する一次識別情報を包含するものであってもよい。
【0032】
上記ポイント交換情報発行装置は、
前記第2の端末装置が保持する一次識別情報を入力した第1の端末装置から、該一次識別情報と共に前記利用者に付与したポイントを、前記通信回線を介して受信するポイント受信手段と、
前記ポイント受信手段が受信したポイントに従って、共に受信した一次識別情報に対応して前記ポイント記憶手段に記憶されているポイントを増加させるポイント増加手段とをさらに備えるものとすることができる。
【0033】
上記ポイント交換情報発行装置において、
前記一次識別情報及び前記二次識別情報は、前記第2の端末装置の表示装置に表示され、前記第1の端末装置が有する読み取り装置で読み取られるものであってもよい。
【0034】
この場合において、上記ポイント交換情報発行装置は、
前記第2の端末装置毎に、少なくとも表示装置に関する情報を含む機種情報を記憶した機種情報記憶手段をさらに備えるものとすることができ、
前記二次識別情報発行手段は、要求元の第2の端末装置について前記機種情報記憶手段に記憶されている機種情報に従って、前記二次識別情報を発行するものとすることができる。
【0035】
ここで、前記第2の端末装置は、例えば、携帯電話機とすることができる。
【0036】
上記ポイント交換情報発行装置は、
前記二次識別情報発行手段による二次識別情報の発行に応じて、前記ポイント記憶手段に記憶されたポイントを減少させる第2のポイント減少手段をさらに備えるものとすることができる。
【0037】
上記ポイント交換情報発行装置において、
前記ポイント記憶手段に記憶されるポイントは、マイナスの値を示すことが可能であってもよい。
【0038】
この場合において、上記ポイント交換情報発行装置は、
所定期間毎に前記ポイント記憶手段に記憶されたポイントがマイナスであるかどうかを判断するマイナス判断手段と、
前記マイナス判断手段がマイナスの値を示していると判断した場合に、該ポイントの値に応じた請求書を前記利用者に宛てて発行する請求書発行手段をさらに備えるものとすることができる。
【0039】
上記目的を達成するため、本発明の第4の観点にかかるプログラムは、
ポイント交換サービス加盟事業者の利用に供する第1の端末装置と、固有の一次識別情報を保持し、ポイント交換サービスの利用者の利用に供する第2の端末装置とに、それぞれ通信回線を介して接続されたコンピュータ装置において実行されるプログラムであって、
前記プログラムは、
前記一次識別情報と対応付けて、対応する利用者が所持するポイントの値を記憶するポイント記憶手段、
前記第2の端末装置からの要求により、前記ポイント記憶手段に記憶されたポイントを他の価値のある物に交換するための二次識別情報を発行する二次識別情報発行手段、
前記二次識別情報発行手段が発行した二次識別情報を、前記通信回線を介して前記第2の端末装置に送信する二次識別情報送信手段、
前記第2の端末装置が受信した二次識別情報を入力した前記第1の端末装置から、前記通信回線を介して該二次識別情報を受信する二次識別情報受信手段、及び、
前記二次識別情報受信手段が受信した二次識別情報に従って、前記ポイント記憶手段に記憶されたポイントを減少させるポイント減少手段、
として前記コンピュータ装置を機能させることを特徴とする。
【0040】
上記プログラムにおいて、
前記ポイント記憶手段は、前記一次識別情報に対応した数値を互いに異なる複数の演算式で演算した演算結果に応じた記憶位置に、対応する一次識別情報を付与した利用者に関連付けるための関連付け情報を登録する複数のテーブルと、前記複数のテーブルのそれぞれからの関連付け情報が指し示す記憶位置に、対応する利用者が所持するポイントの値を記憶する利用者別ポイント記憶手段とから構成されたものとすることができ、この場合において、
前記二次識別情報発行手段は、前記要求と共に送られてきた一次識別情報に対応した数値を前記複数の演算式で演算した演算結果に応じた前記ポイント記憶手段の複数のテーブルの全ての記憶位置に、同一の利用者に関連付けるための関連付け情報が登録されている場合に、該関連付け情報に対応した利用者を特定することができる。
【0041】
上記プログラムは、
前記コンピュータ装置を、さらに、
前記第2の端末装置が保持する一次識別情報を入力した第1の端末装置から、該一次識別情報と共に前記利用者に付与したポイントを、前記通信回線を介して受信するポイント受信手段、及び、
前記ポイント受信手段が受信したポイントに従って、共に受信した一次識別情報に対応して前記ポイント記憶手段に記憶されているポイントを増加させるポイント増加手段
として機能させるものであってもよい。
【0042】
【発明の実施の形態】
以下、添付図面を参照して、本発明の実施の形態について説明する。
【0043】
図1は、この実施の形態にかかるポイント交換システムの構成を示すブロック図である。図示するように、このポイント交換システムは、サーバ装置1と、複数の店舗端末装置2(2−1〜2−m)と、複数の携帯電話機3(3−1〜3−n)とから構成されている。店舗端末装置2及び携帯電話機3は、それぞれインターネット4を介してサーバ装置1に接続される。
【0044】
サーバ装置1は、このシステムにおけるサービスの提供者(以下、提供者)の利用に供し、ユーザがポイントを蓄積し、商品(サービスを含む)と交換するために必要な処理を行うコンピュータ装置である。サーバ装置1は、加盟店及びユーザの登録、後述する固有バーコード及び交換用バーコードの発行、ユーザが蓄積したポイントの管理を行う。図2は、サーバ装置1の構成を示すブロック図である。サーバ装置1は、図示するように、CPU(Central Processing Unit)11と、メモリ12と、入力装置13と、表示装置14と、通信装置15と、加盟店データベース16と、ユーザデータベース17と、バーコードデータベース18とを備えている。加盟店データベース16、ユーザデータベース17及びバーコードデータベース18は、図ではメモリ12とは別に記載されているが、実際にはメモリ12に確保された領域に設けられている。
【0045】
CPU11は、メモリ12に記憶されたプログラムを実行し、加盟店及びユーザの登録、固有バーコード及び交換用バーコードの発行、ユーザが蓄積したポイントの管理のために必要な処理を行う。メモリ12は、後述するフローチャートに示すような、CPU11の処理プログラムを記憶すると共に、プログラム実行の際のワークエリアとして用いられる。メモリ12は、主記憶及び補助記憶を含むものである。入力装置13は、オペレータまたは管理者の操作によって必要な指示入力を行う。表示装置14は、オペレータまたは管理者が操作を行うために必要な情報を表示する。通信装置15は、インターネット4を介して店舗端末装置2または携帯電話機3との間で情報を送受信する。
【0046】
加盟店データベース16は、このシステムにおけるサービスを利用する加盟店に関する情報を記憶するデータベースである。ユーザデータベース17は、このシステムにおけるサービスを利用して、ポイントの蓄積及び交換を行うユーザに関する情報を記憶するデータベースである。バーコードデータベース18は、ユーザがポイントの蓄積及び交換を行うために必要となる固有バーコード及び交換用バーコードを記憶するデータベースである。これらのデータベース16〜18の詳細を、それぞれ図3〜図5を参照して説明する。
【0047】
図3は、加盟店データベース16の構成を示す図である。加盟店データベース16は、加盟店毎に1レコードとして、各加盟店に関する情報(以下、加盟店情報)を記憶するデータベースである。加盟店データベース16の各レコードには、加盟店IDと、加盟店の名称、住所、種別、電話番号、アクセス、営業時間及び紹介文といった属性情報と、ユーザが商品と交換を行ったポイントの累計とが含まれる。
【0048】
図4は、ユーザデータベース17の構成を示す図である。ユーザデータベース17は、ユーザ毎に1レコードとして、各ユーザに関する情報(以下、ユーザ情報)を記憶するデータベースである。ユーザデータベース17の各レコードには、ユーザIDと、氏名、住所、生年月日及び年齢といった属性情報と、ユーザが商品の購入によって蓄積したポイントの累計とが含まれる。
【0049】
バーコードデータベース18は、図5(a)に示す固有バーコードテーブル18Aと、図5R>5(b)に示す交換用バーコードテーブル18Bとから構成されている。
【0050】
固有バーコードテーブル18Aには、固有バーコード毎に1レコードとして、ユーザIDと固有バーコードとが対応付けられて記憶されている。ユーザIDは、ユーザデータベース17においてユーザが蓄積したポイントと対応付けられて記憶されているので、固有バーコードとユーザが蓄積したポイントとは、それぞれ1対1で対応することとなる。
【0051】
交換用バーコードテーブル18Bには、交換用バーコード毎に1レコードとして、ユーザIDと、交換用バーコードと、発行日時と、ポイント数と、使用済みフラグとが対応付けられて記憶されている。発行日時は、交換用バーコードを発行した日時である。使用済みフラグは、交換用バーコードを用いてポイントが商品と交換されたかどうかを示すフラグである。発行日時及び使用済みフラグは、交換用バーコードの有効性を判断するために用いられる。ポイント数は、商品と交換することが可能なポイントであり、携帯電話機3からの発行要求時にユーザによって指定される。
【0052】
次に、バーコードデータベース18に記憶される固有バーコード及び交換用バーコードについて説明する。図6(a)は、固有バーコードの例を示す図である。固有バーコードは、図示するような二階調の二次元マトリクスパターンによって構成されている。このパターンは、携帯電話機3を所有するユーザのユーザIDに対応している。固有バーコードは、これを受信した携帯電話機3のユーザがこのシステムにおけるサービスの利用をやめない限り、同じものが用いられる。固有バーコードは、携帯電話機3に固有の情報(チップ番号等)に従って決められるものであってもよい。
【0053】
図6(b)は、交換用バーコードの例を示す図である。交換用バーコードも、二階調の二次元マトリクスパターンによって構成されている。このパターンは、ユーザが商品との交換を指定したポイントに応じたパターンであるが、携帯電話機3に送信される交換用バーコードのパターンは、固有バーコードに対応した暗号鍵を用いて暗号化されている。暗号化された交換用バーコードは、固有バーコードを復号鍵として用いて、本来の交換用バーコードのパターンに復号することができる。暗号鍵と復号鍵とには、非対称暗号系を用いている。交換用バーコードは、発行から所定時間が経過すると使用できなくなる。
【0054】
図1に戻って再び説明すると、店舗端末装置2は、パーソナルコンピュータなどから構成されており、サービスの加盟店の利用に供し、ユーザが購入した商品に応じたポイントを付与する。図7は、店舗端末装置2の構成を示すブロック図である。店舗端末装置2は、図示するように、CPU21と、メモリ22と、入力装置23と、バーコード読み取り装置24と、表示装置25と、POS(Point Of Sales)端末接続装置26と、通信装置27とを備えている。
【0055】
CPU21は、メモリ22に記憶されたプログラムを実行し、固有バーコード及び交換用バーコードの読み取り、ユーザが購入した商品に対するポイントの付与、ポイントと商品との交換のために必要な処理を行う。メモリ22は、後述するフローチャートに示すような、CPU21の処理プログラムを記憶すると共に、プログラム実行の際のワークエリアとして用いられる。入力装置23は、加盟店のオペレータまたは店員の操作によって必要な指示入力を行う。
【0056】
バーコード読み取り装置24は、後述するように携帯電話機3に表示された固有バーコード及び交換用バーコードを読み取る装置であり、携帯電話機3の表示装置に対応して設計されている。表示装置25は、オペレータまたは店員が指示入力を行うために必要な情報を表示する。POS端末接続装置26は、加盟店のPOS端末装置(図示せず)と接続されており、POS端末装置から購入商品の金額などの情報を受け取り、ポイントを商品と交換する際に必要な情報をPOS端末装置に送る。通信装置27は、インターネット4を介してサーバ装置1との間で情報を送受信する。
【0057】
携帯電話機3は、サービスを利用するユーザの利用に供し、固有バーコード、及び蓄積したポイントを商品と交換する際に必要となる交換用バーコードをサーバ装置1からそれぞれ取得して、表示する。図8は、携帯電話機3の構成を示すブロック図である。携帯電話機3は、実際には本来の機能である音声通信に関する機能も含んでいるが、ここでは、この実施の形態のポイント交換システムに適用するのに必要な機能だけを示している。図示するように、携帯電話機3は、CPU31と、ROM(Read Only Memory)32と、RAM(Random Access Memory)33と、入力装置34と、表示装置35と、通信装置36とを備えている。
【0058】
CPU31は、ROM32に記憶されたプログラムを実行し、固有バーコード及び交換用バーコードの読み取り、ユーザが購入した商品に対するポイントの付与、ポイントと商品との交換のために必要な処理を行う。ROM32は、後述するフローチャートに示すような、CPU31の処理プログラムを記憶する。RAM33は、サーバ装置1から送られてきた固有バーコード及び交換用バーコードを記憶し、また、プログラム実行時のワークエリアとして用いられる。
【0059】
入力装置34は、数字以外の意味も割り当てたテンキーなどのキーを有し、ユーザの操作によって必要な指示入力を行う。表示装置35は、ユーザが指示入力を行うために必要な情報を表示すると共に、入力装置34からの指示入力に従って固有バーコード或いは交換用バーコードを表示する。通信装置36は、インターネット4を介してサーバ装置1との間で情報を送受信する。
【0060】
携帯電話機3は、動作用電源(充電池)の他にバックアップ用電源を搭載している。バックアップ用電源は、動作用電源の充電池が放電し、携帯電話機3が動作不可能となった場合であっても、RAM33に記憶されたデータを保持するために必要な電力を供給し続ける。これにより、RAM33に記憶された固有バーコード及び交換用バーコードは、電池切れのために消されてしまうことがない。
【0061】
以下、この実施の形態にかかるポイント交換システムにおける処理について説明する。このポイント交換システムにおける処理は、ポイントの蓄積と、ポイントの交換とに分けられる。その前提として、加盟店及びユーザの登録が予め必要となる。以下、それぞれの処理についてフローチャートを参照して詳細に説明する。
【0062】
図9は、加盟店登録処理を示すフローチャートである。この処理は、店舗端末装置2とサーバ装置1とによって行われる。このポイント交換システムで提供するサービスに利用しようとする店舗のオペレータが入力装置23を操作して所定の指示入力を行うことにより、CPU21は、通信装置27から加盟店の登録要求をインターネット4を介してサーバ装置1に送信させる(ステップS101)。サーバ装置1の通信装置15は、この登録要求を受信し、CPU11に渡す(ステップS151)。
【0063】
CPU11は、通信装置15から登録要求を受け取ると、加盟店登録のために予め用意された登録フォームを、通信装置15からインターネット4を介して要求元の店舗端末装置2に送信させる(ステップS152)。店舗端末装置2では、通信装置27が登録フォームを受信すると、表示装置25がこれを表示する(ステップS102)。
【0064】
オペレータは、表示装置25に表示された登録フォームに従って入力装置23を操作し、加盟店データベース16に登録すべき加盟店情報を入力する(ステップS103)。CPU21は、入力された加盟店情報を、通信装置27からインターネット4を介してサーバ装置1に送信させる(ステップS104)。サーバ装置1の通信装置15が加盟店情報を受信すると(ステップS153)、CPU11は、この加盟店情報を加盟店データベース16に登録する(ステップS154)。以上で加盟店登録処理が終了する。
【0065】
図10は、ユーザ登録処理を示すフローチャートである。この処理は、携帯電話機3とサーバ装置1とによって行われる。このポイント交換システムで提供するサービスを利用しようとするユーザが入力装置34を操作して所定の指示入力を行うことにより、CPU31は、通信装置36からユーザの登録要求をインターネット4を介してサーバ装置1に送信させる(ステップS201)。サーバ装置1の通信装置15は、この登録要求を受信し、CPU11に渡す(ステップS251)。
【0066】
CPU11は、通信装置15から登録要求を受け取ると、ユーザ登録のために予め用意された登録フォームを、通信装置15からインターネット4を介して要求元の携帯電話機3に送信させる(ステップS252)。携帯電話機3では、通信装置36が登録フォームを受信すると、表示装置35がこれを表示する(ステップS202)。
【0067】
ユーザは、表示装置35に表示された登録フォームに従って入力装置34を操作し、ユーザデータベース17に登録すべきユーザ情報を入力する(ステップS203)。CPU31は、入力されたユーザ情報を、通信装置36からインターネット4を介してサーバ装置1に送信させる(ステップS204)。サーバ装置1の通信装置15がユーザ情報を受信すると(ステップS253)、CPU11は、ユーザデータベース17に新たなレコードを作成して、このユーザ情報を登録する(ステップS254)。
【0068】
サーバ装置1のCPU11は、バーコードデータベース18に未だ登録されていない新たな固有バーコードを発行し(ステップS256)、ステップS254でユーザデータベース17へ登録したユーザ情報中のユーザIDと対応付けてバーコードデータベース18に登録する(ステップS257)。
【0069】
サーバ装置1のCPU11は、また、発行した固有バーコードを通信装置15からインターネット4を介して携帯電話機3に送信させる(ステップS258)。携帯電話機3の通信装置36がこの固有バーコードを受信すると、CPU31は、これをRAM33の所定の領域に記憶させる(ステップS205)。以上でユーザ登録処理が終了する。
【0070】
図11は、ポイント蓄積処理を示すフローチャートである。この処理は、携帯電話機3、店舗端末装置2及びサーバ装置1によって行われる。加盟店で購入した商品に応じたポイントを蓄積しようとするユーザは、携帯電話機3の入力装置34を操作して、RAM33に記憶された固有バーコードを表示装置35に表示させる(ステップS301)。ユーザは、固有バーコードが表示装置35に表示された携帯電話機3を加盟店の店員に提示する。
【0071】
加盟店の店員は、携帯電話機3の表示装置35に表示された固有バーコードをバーコード読み取り装置24に読み取らせる(ステップS321)。店員は、ユーザが購入した商品に応じて付与するポイントを入力装置23から入力する(ステップS322)。もっとも、CPU21がPOS端末接続装置26にPOS端末から送られてくる商品購入金額に従ってユーザに付与するポイントを求めてもよい。
【0072】
CPU21は、ステップS321で読み取った固有バーコードとステップS322で入力したポイントとを、通信装置27からインターネット4を介してサーバ装置1に送信させる(ステップS323)。サーバ装置1では、通信装置15が固有バーコードとポイントとを受信する(ステップS341)。サーバ装置1のCPU11は、受信した固有バーコードに対応したユーザIDをバーコードデータベース18から取り出し、受信したポイントをこのユーザIDに対応してユーザデータベース17に登録されているポイントに加算する(ステップS342)。以上でポイント蓄積処理が終了する。
【0073】
図12、図13は、ポイント交換処理を示すフローチャートである。この処理は、携帯電話機3、店舗端末装置2及びサーバ装置1によって行われる。蓄積したポイントを他の商品と交換しようとするユーザが携帯電話機3の入力装置34から所定の指示を入力すると、CPU31は、通信装置36からポイントの交換要求(固有バーコード及び交換すべきポイントを示す情報を含む)をインターネット4を介してサーバ装置1に送信させる(ステップS401)。サーバ装置1の通信装置15は、この交換要求を受信し、CPU11に渡す(ステップS441)。
【0074】
CPU11は、ユーザデータベース17及び固有バーコードテーブル18Aを参照して、要求されたポイント以上のポイントが当該ユーザのポイントとして蓄積されているかどうかを判定する(ステップS442)。要求されたポイント以上のポイントが蓄積されている場合には、CPU11は、要求されたポイントに応じた交換用バーコードを発行し、これを交換用バーコードテーブル18Bに登録する(ステップS443)。CPU11は、当該ユーザの固有バーコードをバーコードデータベース18から読み出し、これに対応した暗号鍵を生成し、生成した暗号鍵を用いて交換用バーコードを暗号化する(ステップS444)。
【0075】
CPU11は、この暗号化された交換用バーコードを、通信装置15からインターネット4を介して要求元の携帯電話機3に送信させる(ステップS445)。一方、ステップS442で要求されたポイント以上のポイントが蓄積されていなかった場合には、CPU11は、交換用バーコードの発行不可通知メッセージを通信装置15からインターネット4を介して要求元の携帯電話機3に送信させる(ステップS446)。
【0076】
携帯電話機3では、通信装置36がステップS445で送信された交換用バーコードまたはステップS446で送信された発行不可通知メッセージを受信する(ステップS402)。交換用バーコードは、RAM33の所定の領域に保存される。携帯電話機3のCPU31は、ステップS402で受信したのが交換用バーコードであるかどうかを判定する(ステップS403)。
【0077】
携帯電話機3のユーザは、入力装置34を操作することで交換用バーコードを表示装置35に表示させて、その携帯電話機3をポイントを商品に交換しようとする加盟店の店員に提示する(ステップS404)。加盟店の店員は、携帯電話機3の表示装置35に表示された交換用バーコードをバーコード読み取り装置24に読み取らせる(ステップS421)。
【0078】
携帯電話機3のユーザは、入力装置34を操作することで今度は固有バーコードを表示装置35に表示させて、その携帯電話機3を加盟店の店員に提示する(ステップS405)。加盟店の店員は、携帯電話機3の表示装置35に表示された固有バーコードをバーコード読み取り装置24に読み取らせる(ステップS422)。店舗端末装置2のCPU21は、ステップS422で読み取った固有バーコードを用いて、ステップS421で読み取った交換用バーコードを復号化する(ステップS423)。
【0079】
CPU21は、復号化した交換用バーコードを通信装置27からインターネット4を介してサーバ装置1に送信させる(ステップS424)。サーバ装置1では、通信装置15が交換用バーコードを受信する(ステップS447)。CPU11は、交換用バーコードテーブル18Bを参照し(ステップS448)、受信した交換用バーコードが有効であるかどうか、すなわち受信した交換用バーコードが交換用バーコードテーブル18Bに登録されており、且つ発行から所定時間内のもので使用済みフラグがセットされていないものであるかどうかを判定する(ステップS449)。
【0080】
受信した交換用バーコードが有効であれば、CPU11は、当該交換用バーコードに対応付けて交換用バーコードテーブル18Bに登録されているユーザIDを取得し、該ユーザIDに対応したユーザデータベース17中のポイントを交換用バーコードが示す値だけ減算すると共に、交換用バーコードテーブル18Bにおける当該交換用バーコードに対応した使用済みフラグをセットする(ステップS450)。CPU11は、交換用バーコードの送信元である店舗端末装置2に対応した加盟店データベース17中のポイントを交換用バーコードが示す値だけ加算する(ステップS451)。
【0081】
CPU11は、交換用バーコードに応じたポイントを商品と交換することができる旨を示すポイント使用可通知メッセージを、通信装置15からインターネット4を介して店舗端末装置2に送信させる(ステップS452)。ステップS449で交換用バーコードが有効でなかった場合には、CPU11は、交換用バーコードに応じたポイントを商品に交換することができない旨を示すポイント使用不可通知メッセージを、通信装置15からインターネット4を介して店舗端末装置2に送信させる(ステップS453)。
【0082】
店舗端末装置2では、通信装置27がステップS452で送信されたポイント使用可通知メッセージまたはステップS453で送信されたポイント使用不可通知メッセージを受信する(ステップS425)。CPU21は、ステップS425で通信装置27が受信した使用可通知メッセージまたは使用不可通知メッセージを表示装置25に表示させる(ステップS426)。以上でポイント交換処理が終了するが、使用可通知メッセージが表示装置25に表示された場合には、ユーザは、店舗に置いてポイントを商品と交換して、その商品を受け取ることができる。
【0083】
以上説明したように、この実施の形態にかかるポイント交換システムによれば、ユーザが蓄積したポイントを商品と交換する場合には、携帯電話機3内で常に管理されている固有バーコードだけでなく、ポイント交換専用の交換用バーコードが必要となる。交換用バーコードは、ポイント交換の都度発行されるものであるため、固有バーコードに比べると偽造がしにくい。
【0084】
交換用バーコードは、発行から所定時間の経過で無効となってポイントを商品に交換できないものとしている。携帯電話機3に送信される交換用バーコードは、非公開の暗号鍵で暗号化されている。ポイントを商品に交換可能な時間内で交換用バーコードを偽造することは、ほとんど不可能に近い。このため、ユーザが蓄積したポイントが不正に他の商品と交換されてしまうのを防ぐことができる。
【0085】
交換用バーコードは、固有バーコードを復号鍵として用いて復号化され、固有バーコードに対応した暗号鍵(固有バーコードとは異なるもの)に用いて暗号化される。復号鍵としての固有バーコードが公開され、暗号鍵は公開されない。復号鍵が公開鍵で暗号鍵が非公開鍵となっているのは、通常の公開鍵暗号系とは逆になっているが、固有バーコードからの暗号鍵生成方法を公開している訳ではないので、第三者が容易に固有バーコードから暗号鍵を生成することはできない。仮に復号化方法が知られてしまい、交換用バーコードが復号化された状態でバーコード読み取り装置24に読み取られたとしても、店舗端末装置2からサーバ装置1に送信される交換用バーコードは、さらに復号化処理が施されるために、本来の交換用バーコードとは異なるものとなってしまう。このため、上記のような暗号化、復号化の方法を用いることで、ポイントが不正に交換されるのを防ぐことができる。
【0086】
本発明は、上記の実施の形態に限られず、種々の変形、応用が可能である。以下、本発明に適用可能な上記の実施の形態の変形態様について説明する。
【0087】
上記の実施の形態では、ポイントの交換要求を受信しても、サーバ装置1のCPU11は、要求されたポイント以上のポイントが当該ユーザのポイントとしてユーザデータベース17に蓄積されていなければ、交換用バーコードを発行しないものとしていた。つまり、ユーザデータベース17に記憶されるユーザのポイントは、マイナスの値を示さないものとしていた。
【0088】
しかしながら、ユーザのポイントがマイナスになっても(既にマイナスになっている場合を含む)、交換用バーコードが発行されるものであってもよい。この場合、CPU11は、ステップS441でポイントの交換要求を受信したら、ステップS442の処理を実行することなく、ステップS443の処理を行うものとすればよい。もっとも、マイナスとなったポイントは、何らかの方法で精算する必要がある。
【0089】
図14は、マイナスとなったポイントを精算するための請求書発行処理を示すフローチャートである。この処理は、サーバ装置1のCPU11が有する内部タイマによって所定時間毎にタイマ割り込みが生じることで実行される。この処理を実行するために、サーバ装置1は、プリンタ(図示せず)をさらに備えるものとする。
2007年08月22日
2007年08月22日
ポイント交換システム及び方法、ポイント交換情報発行装置、並びにプログラムNo.2
【0090】
請求書発行処理では、CPU11は、ユーザデータベース17に登録された各ユーザについて、順にループ処理を行う(ステップS501−S501’)。ループ内の処理では、CPU11は、処理対象としているユーザのレコードに含まれるポイントを取り出し、このポイントがマイナスの値を示しているかどうかを判定する(ステップS502)。
【0091】
ポイントがマイナスの値を示していれば、CPU11は、当該ユーザを宛先として、マイナスの値に応じて対価(金銭であってもなくても可)を請求する請求書を発行し(ステップS503)、プリンタにより用紙上に印刷させる(ステップS504)。印刷された請求書は、郵送などの手段によりユーザに届けられることとなる。
【0092】
ポイントの値がマイナスを示していないか、請求書の印刷が終了した場合には、1人のユーザについての処理が終わる。CPU11がステップS501’においてユーザデータベース17に登録された全てのユーザについてループ内の処理が終了したと判定すると、ループを抜け、請求書発行処理を終了する。
【0093】
以上の説明したように、このポイント交換システムにおいてポイントをマイナスにすることも可能とし、ポイントのマイナス値に応じた請求書を発行可能とすることで、クレジットカード、プリペイドカード及びポイントカードの機能を併せ持つようなポイント交換システムを実現することができるようになる。
【0094】
上記の実施の形態では、交換用バーコードは、その発行から一定時間の経過によって使用できなくしており、暗号化されていることによって、偽造されてポイントが不正に商品と交換されるのを防ぐようにしていた。しかしながら、本発明において適用可能な交換用バーコードの偽造防止技術はこれに限るものではない。
【0095】
例えば、交換用バーコードに電子透かしを埋め込むものとしてもよい。この電子透かしは、誤り訂正が可能な範囲で意図的に交換用バーコードを本来の交換用バーコードの内容とは変えたものとすることができる。このような電子透かしとして、二次元コード上に、二次元コードで誤り補正が可能な幾何学的な模様を意図的に付け加えたものを適用することができる。ここで、幾何学的な模様として会社のロゴやサービスの名称等を用いることもできる。これにより、交換用バーコードがどこから発行されたかを視覚的に判別することができる。
【0096】
交換用バーコードにJava(商標)言語などで記述されたプログラムを埋め込んでおき、このプログラムの作用により、携帯電話機3に受信されてから所定時間経過することで交換用バーコードが自壊するようなものとしてもよい。このプログラムは、定期的にサーバ装置1に時間を確認する機能を有するものとすることができる。このプログラムは、交換用バーコードの利用期限が近くなると、警告音を鳴らしたり、バーコードの色を変えたりすることによってユーザに通知する機能を有していてもよい。このプログラムは、交換用バーコードの利用期限が過ぎると、自動的に画像を差し替えたり、文字情報を表示して二次元バーコードを消滅させる機能を有するものとすることができる。
【0097】
発行から一定時間を経過することによって交換用バーコードを使用できなくする手法も上記のものに限られず、携帯電話機3に配信する交換用バーコードに期限情報を含ませてもよい。バーコード読み取り装置24は、交換用バーコードの読み取り時にこの期限情報も併せて読み取り、店舗端末装置2は、サーバ装置1に期限情報を送信するものとすることができる。サーバ装置1のCPU11は、店舗端末装置2から送られてきた期限情報に基づいて、交換用バーコードの有効性を判断することができる。
【0098】
固有バーコードは、それ自体が偽造されてもポイントが不正に使用されることはないが、交換用バーコードの暗号化に用いる暗号鍵が解読される可能性もある。暗号鍵が解読されれば、交換用バーコードが不正に用いられる場合も生じる。そこで、サーバ装置1において固有バーコードを一定期間毎に更新することで、暗号鍵が解読される危険性を抑えることができ、暗号鍵が解読されて交換用バーコードが不正に用いられた場合の被害を最小限に抑えることができる。固有バーコードは、更新される度にサーバ装置1から携帯電話機3に送信されるものとすることができる。
【0099】
上記の実施の形態では、固有バーコードは、携帯電話機3からサーバ装置1に要求を行うことで発行されていたが、携帯電話機3に当初から割り当てられ、ROM32に予め記憶されているものであってもよい。固有バーコードの割り当てられた携帯電話機3を購入した者は、自動的にこのシステムで提供するサービスのユーザとなることができる。この場合において、携帯電話機3に当初から割り当てられた固有バーコードは、単に初期設定時の固有バーコードとして使用されるだけで、更新していくことも可能である。
【0100】
図15は、固有バーコード更新処理を示すフローチャートである。この処理は、サーバ装置1のCPU11が有する内部タイマによって所定時間毎にタイマ割り込みが生じることで実行される。
【0101】
請求書発行処理では、CPU11は、ユーザデータベース17に登録された各ユーザについて、順にループ処理を行う(ステップS601−S601’)。ループ内の処理では、CPU11は、処理対象としているユーザのユーザIDをキーとしてバーコードデータベース18を参照し、当該ユーザがこれまで使用していた固有バーコードとは異なり、かつ他のユーザによっても使用されていない新たな固有バーコードを発行する(ステップS602)。
【0102】
CPU11は、発行した新たな固有バーコードを、これまで登録されていた固有バーコードに書き換えて、バーコードデータベース18に登録する(ステップS603)。CPU11は、発行した新たな固有バーコードを通信装置15からインターネット4を介して携帯電話機3に送信させる(ステップS603)。
【0103】
新たな固有バーコードの送信が終了した場合には、1人のユーザについての処理が終わる。CPU11がステップS601’においてユーザデータベース17に登録された全てのユーザについてループ内の処理が終了したと判定すると、ループを抜け、サーバ装置1の側における処理を終了する。
【0104】
それぞれの携帯電話機3において、通信装置36がこの固有バーコードを受信すると(ステップS621)、CPU31は、これをRAM33の所定の領域に上書きして、携帯電話機3内に保持させる固有バーコードを更新する(ステップS622)。これで固有バーコード更新処理を終了する。
【0105】
上記の実施の形態では、交換用バーコードは、固有バーコードとは全く異なる形態のものであり、ユーザがポイントを商品に交換しようとするときには、固有バーコードと交換用バーコードとは、別々にバーコード読み取り装置24で読み取る必要があった。これに対して、固有バーコードと交換用バーコードとを同時に表示装置35に表示できるようにしてもよい。これにより、ポイント交換時のバーコードの読み取りが1回で済む。
【0106】
上記の実施の形態では、交換用バーコード自体が、ユーザが商品との交換を要求したポイントを示すものとなっていた。しかしながら、交換用バーコードは、ポイントとは無関係な態様のものであってもよい。バーコードデータベース18において交換用バーコードはポイントと対応付けて記憶されているため、ステップS450におけるユーザのポイントの減算と、ステップS451における加盟店のポイントの加算とは、バーコードデータベース18に交換用バーコードに対応付けて記憶されているポイントに従って行えばよいこととなる。
【0107】
上記の実施の形態では、固有バーコード及び交換用バーコードは、二階調の二次元マトリクスパターンを有するバーコードとして携帯電話機3の表示装置35に表示されていたが、多階調のパターンを有するバーコードや、三次元のパターンを有するバーコードとして表示されるものであってもよい。この三次元バーコードは、例えばポリゴンで形成された立方体の各面に二次元バーコードを表示させたものであり、Java等のアプリケーションによってポリゴンが回転される。店舗端末2では、ポリゴンの回転によって立方体の各面に表示された二次元バーコードコードを全て認識することができる。三次元バーコードは、面数の増加によってより大きな情報量を含むことができる。
【0108】
例えばブルートゥース技術などの適用により、店舗端末装置2と携帯電話機3とを直接通信可能に構成した場合には、視認不可能な情報であっても、上記した固有バーコード及び交換用バーコードの代わりに適用することができる。
【0109】
上記の実施の形態では、サーバ装置1のCPU11は、固有バーコードまたは交換用バーコードを、どのユーザの携帯電話機3に送る場合でも同じように生成していた。しかしながら、携帯電話機3の表示装置35は、機種によって大きさもドット数もまちまちである。いずれの携帯電話機3でも表示装置35に表示可能なように固有バーコードまたは交換用バーコードを生成するものとすると、固有バーコード及び交換用バーコードのパターンは、単純なものとならざるを得ず、偽造される危険が大きくなる。
【0110】
携帯電話機3の機種に応じて最も効果的な固有バーコード及び交換用バーコードを生成するために、サーバ装置1は、図16に示す機種データベース19を備えることができる。機種データベース19は、ユーザIDと携帯電話機3の機種に関する情報(少なくとも表示装置35の大きさ及びドット数を含む)を対応付けて記憶している。
【0111】
サーバ装置1のCPU11は、ステップS256において固有バーコードを発行する際に、機種データベース19を参照して、要求元の携帯電話機3の機種に応じた固有バーコードを発行することができる。CPU11は、ステップS443において交換用バーコードを発行する際に、機種データベース19を参照して、要求元の携帯電話機3の機種に応じた交換用バーコードを発行することができる。
【0112】
サーバ装置1から携帯電話機3に送信される固有バーコード及び交換用バーコードは、圧縮されたものであってもよい。サーバ装置1のCPU11は、機種に関係なく固有バーコードまたは交換用バーコードを生成してから、要求元の携帯電話機3の機種を機種データベース19から読み出し、機種に応じて固有バーコードまたは交換用バーコードを圧縮することができる。固有バーコードまたは交換用バーコードは、自己解凍方式のものとすれば、店舗端末2のCPU21は、解凍された固有バーコードまたは交換用バーコードを用いて、上記と全く同じ処理を行うことができる。
【0113】
サーバ装置1に機種データベース19を設けることで、上記のように携帯電話機3に送信される固有バーコード及び交換用バーコードは、携帯電話機3が新型のもので表示装置35の表示ドット数が多ければ細かなパターンのバーコードと、携帯電話機3が旧型のもので表示ドット数が少なくても表示装置35に表示可能なバーコードを生成することができる。これにより、表示装置35の機能を最大限に生かして固有バーコードまたは交換用バーコードを表示装置35に表示させることができる。ユーザが携帯電話機3の機種を頻繁に変えても、ユーザデータベース28に登録される機種を変えれば、新しい機種に適合した二次元バーコードとなるので、技術的進歩が早い携帯電話機3への適用するのに特に有効である。
【0114】
上記の実施の形態では、固有バーコード及び交換用バーコードを表示して店舗の店員に提示する端末装置として、表示装置35を有する携帯電話機3を適用していたが、サーバ装置1と通信可能なモバイル端末(例えば、PDA(Personal Digital Assistants)など)を、携帯電話機3の代わりに適用することもできる。この端末は、サーバ装置1に有線接続されるものであってもよい。PDAなどのモバイル端末は、一般に表示装置の大きさが携帯電話機3よりも大きいので、より複雑なパターンを有し、多くの情報量を含んだ固有バーコード及び交換用バーコードが使用可能となる。ブルートゥース技術などの適用により視認不可能な情報を固有バーコード及び交換用バーコードの代わりに用いた場合には、その端末は、表示装置を有しないものであってもよい。
【0115】
上記の実施の形態では、ユーザが蓄積したポイントがマイナスされるのは、ユーザが加盟店で商品と交換を行ったときであった。しかしながら、交換用バーコードの発行を行ったときに、ポイントがマイナスされるものとしてもよい。交換用バーコードを発行した際に当該交換用バーコードに応じたポイントの一部をマイナスし、交換用バーコードを用いて商品交換をした場合に、さらにポイントをマイナスするものとしてもよい。これにより、携帯電話機3からサーバ装置1に交換用バーコードの発行要求がむやみにされることがなく、サーバ装置1にかかる負荷を小さくすることができる。
【0116】
上記の実施の形態では、固有バーコード及び交換用バーコードは、サーバ装置1において、バーコードデータベース18に保管しておき、ポイント交換処理を行う際に、さらに固有バーコードに関してはポイント蓄積処理を行う際にも参照されるものとしていた。しかしながら、上記の用に固有バーコードおよび/または交換用バーコードをサーバ装置1内に保管しておくと、サーバ装置1がハッキングされることにより、各ユーザが所持するポイントが不正に使用され、他の物と交換されてしまう危険があり得る。そこで、上記のポイント交換システムに対して次のような変形を加えることで、このような危険を回避することが可能となる。
【0117】
この変形例におけるサーバ装置1は、ユーザデータベース17の代わりに、詳細を後述するユーザデータベース107(図18参照)を備えている。また、バーコードデータベース18はなく、固有バーコード及び交換用バーコードの画像データ(これらを数値化する方法及び数値A、B、C、Dの値(後述)が分からなくても、これらの画像データを復元することが可能となる他の種類のデータを含む)は、ユーザデータベース107を含むサーバ装置1内のどこにも保存されていない。もっとも、固有バーコードであるか交換用バーコードであるかに関してだけは、そのパターンから区別できるものとする。
【0118】
固有バーコード及び交換用バーコードの画像データがサーバ装置1内に保存されていないので、この実施の形態では、バーコードの照合によらないで認証が行われることとなる。図17は、この実施の形態における認証の方法を説明する図である。認証の方法は、固有バーコードと交換用バーコードとで異なるところがないので、ここでは、固有バーコードを例として説明する。この図にある第1テーブル111及び第2テーブル112は、それぞれサーバ装置1のメモリ12の所定の領域に記憶されている。
【0119】
固有バーコードの画像データ(図中、実線で示す)を受信すると、サーバ装置1は、これを所定の方法で数値化する。固有バーコードのパターンが異なれば、数値化された後の値は異なることとなる。固有バーコードを数値化した値X(以下、固有バーコード値と呼ぶ)を数値Aで除算した剰余aと数値Bで除算した剰余bとがそれぞれ求められる。数値Aと数値Bとの最小公倍数は、固有バーコード値がとり得る値の最大値と最小値との差よりも大きいという関係がある。この関係を満たす場合、互いに異なる2つの固有バーコード値をそれぞれ数値Aで除算した剰余aが一致する場合には、当該2つの固有バーコード値をそれぞれ数値Bで除算した剰余bが一致することはあり得なくなる。数値Aと数値Bとは互いに素であることが好ましい。
【0120】
剰余aに対応した第1テーブル111内の記憶位置には、ユーザデータベース107において当該固有バーコードに対応したユーザ情報が記憶された位置を指し示すポインタが記憶されている。剰余bに対応した第2テーブル112内の記憶位置には、ユーザデータベース107において当該固有バーコードに対応したユーザ情報が記憶された位置を指し示すポインタが記憶されている。固有バーコードは、第1テーブル111と第2テーブル112の両方から同一のユーザ情報まで辿ることができたので、当該固有バーコードは、そのユーザが所有するものとして認証される。
【0121】
剰余aに対応した第1テーブル111内の記憶位置には、ユーザデータベース107において他の固有バーコード(図中、破線で示す)に対応したユーザ情報が記憶された位置を指し示すポインタも記憶されている。しかし、第2テーブル112からは当該他の固有バーコードに対応したユーザ情報まで辿ることができない。他の固有バーコードの画像(図中、破線で示す)データをサーバ装置1が受信した場合、その固有バーコード値X’を数値Aで除算した剰余a’が剰余aに一致する場合、第1テーブル111からは実線で示した固有バーコードに対応したユーザ情報まで辿ることができる。しかし、固有バーコード値X’を数値Bで除算した剰余b’が剰余bに一致することはないので、第2テーブル112からは実線で示した固有バーコードに対応したユーザ情報まで辿ることができない。従って、受信した固有バーコードとは無関係なユーザが対応づけられてしまうこととは起こり得ない。
【0122】
交換用バーコードについても、同じ認証方法を用いてユーザとの対応付けが図られる。交換用バーコードの画像データについても、サーバ装置1は、これを受信すると所定の方法で数値化する。交換用バーコードのパターンが異なれば、数値化された後の値は異なることとなる。交換用バーコードを数値化した値Y(以下、交換用バーコード値と呼ぶ)については、数値Cで除算した剰余cと数値Dで除算した剰余cとがそれぞれ求められる。数値Cと数値Dについても、その最小公倍数が交換用バーコード値がとり得る値の最大値と最小値との差よりも大きく、数値Cと数値Dとが互いに素であることが好ましいことも、固有バーコードの場合と同じである。
【0123】
交換用バーコードに関しては、固有バーコードについての第1テーブル111及び第2テーブル112と同様に、第3テーブル113及び第4テーブル114(いずれも図示しないが、これらの符号で参照するものとする)が設けられ、サーバ装置1のメモリ12に記憶されている。なお、交換用バーコードについては、一人のユーザが複数所持することができるので、この点で固有バーコードと異なる扱いが必要になる。これについての詳細は、後述するものとする。
【0124】
次に、ユーザデータベース107について詳しく説明する。図18(a)は、ユーザデータベース107の構成を示す図である。ユーザデータベース107の各レコードは、可変長レコードであり、ユーザ登録の度に新たに生成される。ユーザデータベース107の各レコードは、上記の実施の形態で示したユーザデータベース17の各レコードにあるユーザID、氏名、住所、生年月日、年齢及びポイントの他に、1つの固有バーコード情報と、0個以上の任意の数の交換用バーコード情報を含んでいる。各レコードの最後にある「EOR」は、当該レコードの終わりであることを示す制御情報である。
【0125】
図18(b)は、固有バーコード情報の詳細を示す。図示するように、固有バーコード情報は、固有バーコード値Xを数値Aと数値Bとでそれぞれ除算した剰余aと剰余bとを含んでいる。ここに登録されている剰余aとbとについては、ユーザが固有バーコードの再発行を求めたときに、第1テーブル111及び第2テーブル112に登録されている前の固有バーコードに関してのユーザ情報を指し示すポインタを消すために必要となるものである。
【0126】
図18(c)は、1個当たりの交換用バーコード情報の詳細を示す。図示するように、交換用バーコード情報は、発行日時と、ポイント数と、使用済みフラグとを含んでいる。これらは、上記の実施の形態で交換用バーコードテーブル18Bに登録されていたものと同じである。交換用バーコード情報は、また、交換用バーコード値Yを数値Cと数値Dとでそれぞれ除算した剰余cと剰余dとも含んでいる。
【0127】
交換用バーコードについては、1人のユーザが複数持つことができるので、剰余cと剰余dとは、ユーザ情報(ユーザ毎のレコード)に辿り着いた後に、どの交換用バーコードであるかを特定するために用いられる。また、第3テーブル113及び第4テーブル114には、それぞれ同じユーザ情報を指し示すポインタが複数登録される場合があり、交換用バーコードの所有者でないユーザ情報に辿り着いてしまう場合もあるので、剰余cと剰余dとは、どのユーザが所有する交換用バーコードであるかを識別するためにも用いられる。
【0128】
また、この変形例においては、サーバ装置1から携帯電話機3に交換用バーコードを送信する場合は、固有バーコードを暗号鍵として用いて暗号化される。暗号化された交換用バーコードは、店舗端末装置2で復号化するのではなく、携帯電話機3において、そこに保持されている固有バーコードを復号鍵として復号化される。つまり、交換用バーコードの暗号化及び復号化には、固有バーコードを鍵とする対称鍵暗号系が適用されている。
【0129】
次に、この変形例にかかるポイント交換システムにおいて、上記の実施の形態にかかるポイント交換システムと処理の異なる部分を、図19〜図23のフローチャートを参照して説明する。
【0130】
図19は、この変形例におけるユーザ登録処理を示すフローチャートである。このフローチャートの処理は、図10のステップS256〜S258の処理に代わって実行される。ステップS253においてサーバ装置1においてユーザ情報がユーザデータベース107に登録されると、CPU11は、ランダムに固有バーコードの画像パターンを生成する(ステップS701)。
【0131】
CPU11は、生成した固有バーコードの画像パターンを所定の方法で数値化し、数値化した固有バーコード値を変数Xに代入する(ステップS702)。ここで固有バーコードの画像パターンを数値化する方法としては、同じパターンであれば必ず同じ数値となり、異なるパターンであれば必ず異なる数値となるものであれば、任意の方法を適用することができる。
【0132】
CPU11は、固有バーコード値Xを数値Aで除算した剰余aを求め(ステップS703(a))、固有バーコード値Xを数値Bで除算した剰余bを求める(ステップS703(b))。数値Aと数値Bとの最小公倍数は、固有バーコード値Xがとり得る値の最大値と最小値との差よりも大きい。CPU11は、第1テーブル111のうちの剰余aに対応する記憶位置に登録されているポインタを全て取り出し(ステップS704(a))、第2テーブル112のうちの剰余bに対応する記憶位置に登録されているポインタを全て取り出す(ステップS704(b))。
【0133】
CPU11は、第1テーブル111から取り出したポインタと第2テーブル112から取り出したポインタとを比較し、ユーザデータベース107に登録されているユーザ情報のうちで同一のユーザ情報を指し示すものがあるかどうかを判定する(ステップS705)。第1テーブル111と第2テーブル112とに同一のユーザ情報を指し示すポインタがあれば、ステップS701の処理に戻り、固有バーコードの発行をやり直しさせる。
【0134】
第1テーブル111と第2テーブル112とに同一のユーザ情報を指し示すポインタがなければ、CPU11は、第1テーブル111のうちの剰余aに対応する記憶位置に、ユーザデータベース107に登録した当該ユーザのユーザ情報を指し示すポインタを登録すると共に、その固有バーコード情報の剰余aとしてステップS703(a)で求めた値を登録する(ステップS706(a))。CPU11は、また、第2テーブル111のうちの剰余bに対応する記憶位置に、ユーザデータベース107に登録した当該ユーザのユーザ情報を指し示すポインタを登録すると共に、その固有バーコード情報の剰余bとしてステップS703(b)で求めた値を登録する(ステップS706(b))。
【0135】
ステップS706(a)または(b)において、ユーザデータベース107の該当位置に他のユーザのユーザ情報を指し示すポインタが登録されていた場合は、リストでつなぐなどの手法により、当該ユーザのユーザ情報を指し示すポインタも同じ位置に重複して登録する。
【0136】
第1テーブル111及び第2テーブル112へのポインタの登録が終了すると、CPU11は、ステップS703で生成した固有バーコードの画像パターンを、通信装置15から登録要求をした携帯電話機3に送信する(ステップS707)。CPU11は、固有バーコードの画像パターンの送信が完了した時点で、その固有バーコードの画像パターンを破棄する(ステップS708)。そして、このフローチャートの処理を終了する。
【0137】
ユーザが発行された固有バーコードを紛失した場合に、固有バーコードの再発行要求が携帯電話機13から送られてくる。この場合における固有バーコードの再発行も、ステップS701〜S708と同じ処理で行われるが、ステップS706(a)及び(b)に次のような処理が追加される。CPU11は、ユーザデータベース107の当該ユーザのレコードの固有バーコード情報に含まれる剰余a及び剰余bに従って、第1テーブル111及び第2テーブル112にこれまでに登録されていた当該ユーザのユーザ情報を指し示すポインタを削除する。その後、固有バーコード情報の剰余a及び剰余bをそれぞれステップS703(a)及び(b)で求めた数値に更新する。
【0138】
図20は、図19のユーザ登録処理において発行され、携帯電話機3に送信された固有バーコードの認証処理を示すフローチャートである。このフローチャートの処理は、図11のポイント蓄積処理におけるステップS341の処理とS342の処理との間と、図12のポイント交換処理におけるステップS441の処理とS442の処理との間に、それぞれ付加されて実行されるものである。サーバ装置1は、ポイント蓄積処理ではステップS341において店舗端末装置2から、ポイント交換処理ではステップS441において携帯電話機3から(交換要求には固有バーコードが含まれている)、固有バーコードを画像データとして受信している。
【0139】
CPU11は、店舗端末装置2または携帯電話機3から受信した固有バーコードの画像パターンを所定の方法で数値化し、数値化した固有バーコード値を変数Xに代入する(ステップS801)。ここで固有バーコードの画像パターンを数値化する方法も、ステップS702における方法と同じである。CPU11は、数値化した固有バーコード値XがステップS701で生成可能な固有バーコードの範囲にあるかどうかを判定する(ステップS802)。固有バーコード値Xが生成可能な固有バーコードの範囲になければ、エラー終了となる。
【0140】
固有バーコート値Xが生成可能な固有バーコードの範囲にあれば、CPU11は、固有バーコード値Xを数値Aで除算した剰余aを求め(ステップS803(a))、固有バーコード値Xを数値Bで除算した剰余bを求める(ステップS803(b))。数値Aと数値Bは、図19のフローチャートで示したのと同じ値が用いられる。CPU11は、第1テーブル111のうちの剰余aに対応する記憶位置に登録されているポインタを全て取り出し(ステップS804(a))、第2テーブル112のうちの剰余bに対応する記憶位置に登録されているポインタを全て取り出す(ステップS804(b))。
【0141】
CPU11は、第1テーブル111から取り出したポインタと第2テーブル112から取り出したポインタとを比較し、ユーザデータベース107に登録されているユーザ情報のうちで同一のユーザ情報を指し示すものがあるかどうかを判定する(ステップS805)。第1テーブル111と第2テーブル112とから同一のユーザ情報を指し示すポインタが取り出されていなかった場合には、エラー終了となる。
【0142】
第1テーブル111と第2テーブル112とに同一のユーザ情報を指し示すポインタがあれば、両方のテーブル111、112からのポインタで指し示されたユーザ情報に従って、受信した固有バーコードが当該ユーザが有するものとして認証する。そして、ポイント蓄積処理においてこのフローチャートの処理を行ったのであればステップS342の処理に、ポイント交換処理においてこのフローチャートの処理を行ったのであればステップS442の処理に、それぞれ進むこととなる。
【0143】
図21は、この変形例における交換用バーコード発行処理を示すフローチャートである。このフローチャートの処理は、図12のポイント交換処理におけるステップS443〜S445の処理に代わって行われる。ステップS442において要求されたポイント以上のポイントが蓄積されていた場合には、CPU11は、ランダムに交換用バーコードの画像パターンを生成する(ステップS901)。
【0144】
CPU11は、生成した交換用バーコードの画像パターンを所定の方法で数値化し、数値化した交換用バーコード値を変数Yに代入する(ステップS902)。交換用バーコードの画像パターンを数値化する方法についても、ステップS702の場合と同じ方法によって行うことができるが、ステップS702の場合とは別の方法によって行ってもよい。もっとも、同じパターンであれば必ず同じ数値となり、異なるパターンであれば必ず異なる数値となることは、ステップS702の場合と同様に必須である。
【0145】
CPU11は、交換用バーコード値Yを数値Cで除算した剰余cを求め(ステップS903(a))、交換用バーコード値Yを数値Dで除算した剰余dを求める(ステップS903(b))。CPU11は、第3テーブル113のうちの剰余cに対応する記憶位置に登録されているポインタを全て取り出し(ステップS904(a))、第4テーブル114のうちの剰余dに対応する記憶位置に登録されているポインタを全て取り出す(ステップS904(b))。
【0146】
CPU11は、第3テーブル113から取り出したポインタと第4テーブル114から取り出したポインタとを比較し、ユーザデータベース107に登録されているユーザ情報のうちで同一のユーザ情報を指し示すものがあるかどうかを判定する(ステップS905)。第3テーブル113と第4テーブル114とに同一のユーザ情報を指し示すポインタがなければ、ステップS901で生成した交換用バーコードは未発行のものということになるので、ステップS908(a)及び(b)の処理に進む。
【0147】
第3テーブル113と第4テーブル114とに同一のユーザ情報を指し示すポインタがあれば、CPU11は、第3テーブル113と第4テーブル114とから辿り着くことができた全てのユーザ情報(ユーザデータベース107のレコード)に含まれる交換用バーコード情報をチェックする(ステップS906)。そして、この中にステップS903(a)及び(b)で求めた剰余cと剰余dとが両方とも一致するものがあるかどうかを判定する(ステップS907)。剰余cと剰余dの両方が一致する交換用バーコード情報があれば、ステップS901の処理に戻り、交換用バーコードの発行をやり直しさせる。剰余cと剰余dとの両方が一致するバーコード情報がなければ、ステップS901で生成した交換用バーコードは未発行のものということになるので、ステップS908(a)及び(b)の処理に進む。
【0148】
ステップS908(a)では、CPU11は、第3テーブル113のうちの剰余cに対応する記憶位置に、ユーザデータベース107に登録した当該ユーザのユーザ情報を指し示すポインタを登録する。さらに、当該ユーザについてのユーザデータベース107中にレコードに交換用バーコード情報を新たに追加し、剰余cの値としてステップS903(a)で求めた値を登録する。また、ステップS908(b)では、CPU11は、第4テーブル114のうちの剰余dに対応する記憶位置に、ユーザデータベース107に登録した当該ユーザのユーザ情報を指し示すポインタを登録する。さらに、当該ユーザについてのユーザデータベース107中にレコードに交換用バーコード情報を新たに追加し、剰余dの値としてステップS903(b)で求めた値を登録する。
【0149】
ステップS908(a)または(b)において、ユーザデータベース107の該当位置に他のユーザのユーザ情報を指し示すポインタが登録されていた場合は、リストでつなぐなどの手法により、当該ユーザのユーザ情報を指し示すポインタも同じ位置に重複して登録する。
【0150】
ステップS908(a)及び(b)の処理が終了すると、CPU11は、当該ユーザ情報のレコードに新たに作成した交換用バーコード情報について、発行日時及びポイントを登録する(ステップS909)。CPU11は、ステップS441の交換要求時に送られてきた固有バーコードを暗号鍵として用いて、ステップS901で生成した交換用バーコードの画像データを暗号化する(ステップS910)。
【0151】
CPU11は、ステップS910で暗号化した交換用バーコードの画像パターンを、通信装置15から要求元の携帯電話機3に送信する(ステップS911)。CPU11は、交換用バーコードの画像パターンの送信が完了した時点で、その交換用バーコードの画像パターンを破棄する(ステップS912)。そして、このフローチャートの処理を終了する。
【0152】
図22は、ポイント交換処理で提供される交換用バーコードの表示及び読み取りに関する処理を示すフローチャートである。この処理は、図12のポイント交換処理におけるステップS404及びS405、並びにステップS421乃至S423の処理に代わって行われる。携帯電話機3で交換用バーコードを受信した場合(ステップS403の判定結果がYES)、この交換用バーコードはステップS910において当該携帯電話機3の固有バーコードを暗号鍵として用いて暗号化されているので、CPU31は、固有バーコードを復号鍵としても用いて復号化する(ステップS1001)。
【0153】
携帯電話機3のユーザは、入力装置34を操作することで、この復号化された交換用バーコードを表示装置35に表示させて、その携帯電話機3をポイントを商品に交換しようとする加盟店の店員に提示する(ステップS1002)。加盟店の店員は、携帯電話機3の表示装置35に表示された交換用バーコードをバーコード読み取り装置24に読み取らせる(ステップS1021)。そして、ステップS424の処理では、バーコード読み取り装置24で読み取られたままの交換用バーコードの画像データが、店舗端末装置2からサーバ装置1に送られることとなる。
【0154】
図23は、図21の交換用バーコード発行処理において発行され、携帯電話機3に表示されて店舗端末装置2で読み取られた交換用バーコードの認証処理を示すフローチャートである。このフローチャートの処理は、図13のポイント交換処理におけるステップS448の処理に代わって実行される。
【0155】
CPU11は、ステップS447の処理において店舗端末装置2から交換用バーコードの画像パターンを受信すると、これをを所定の方法で数値化し、数値化した交換用バーコード値を変数Yに代入する(ステップS1101)。ここで交換用バーコードの画像パターンを数値化する方法は、ステップS902における方法と同じである。CPU11は、数値化した交換用バーコード値YがステップS901で生成可能な交換用バーコードの範囲にあるかどうかを判定する(ステップS1102)。交換用バーコード値Yが生成可能な交換用バーコードの範囲になければ、ステップS453の処理へと進む。
【0156】
交換用バーコート値Yが生成可能な交換用バーコードの範囲にあれば、CPU11は、交換用バーコード値Yを数値Cで除算した剰余cを求め(ステップS1103(a))、交換用バーコード値Yを数値Dで除算した剰余dを求める(ステップS1103(b))。CPU11は、第3テーブル113のうちの剰余cに対応する記憶位置に登録されているポインタを全て取り出し(ステップS1104(a))、第4テーブル114のうちの剰余dに対応する記憶位置に登録されているポインタを全て取り出す(ステップS1104(b))。
【0157】
CPU11は、第3テーブル113から取り出したポインタと第4テーブル114から取り出したポインタとを比較し、ユーザデータベース107に登録されているユーザ情報のうちで同一のユーザ情報を指し示すものがあるかどうかを判定する(ステップS1105)。第3テーブル113と第4テーブル114とに同一のユーザ情報を指し示すポインタがなければ、ステップS447で受信した交換用バーコードは未発行のものということになるので、ステップS453の処理へと進む。
【0158】
第3テーブル113と第4テーブル114とに同一のユーザ情報を指し示すポインタがあれば、CPU11は、第3テーブル113と第4テーブル114とから辿り着くことができた全てのユーザ情報(ユーザデータベース107のレコード)に含まれる交換用バーコード情報をチェックする(ステップS1106)。そして、この中にステップS903(a)及び(b)で求めた剰余cと剰余dとが両方とも一致するものがあるかどうかを判定する(ステップS1107)。
【0159】
剰余cと剰余dとの両方が一致するバーコード情報がなければ、ステップS447で受信した交換用バーコードは未発行のものということになるので、ステップS453の処理へと進む。一方、剰余cと剰余dとの両方が一致するバーコード情報があった場合には、ステップS447で受信した交換用バーコードは、当該ユーザが正当に所有するものであると認証できるので、ステップS449の処理に進む。
【0160】
以上説明した変形例では、サーバ装置1は、固有バーコードを発行する際に、第1テーブル111及び第2テーブル112のバーコード値Xから求めた剰余a、bに対応する記憶位置に、当該固有バーコードに対応したユーザを指し示すポインタを登録している。店舗端末装置2または携帯電話機3から固有バーコードの画像パターンを受信した場合、これを数値化して求めた剰余a、bに従って第1テーブル111及び第2テーブル112を参照して、固有バーコードが正当なものであるかどうかの認証を行っている。すなわち、固有バーコード同士の照合を行うことなく、演算処理と記憶内容の参照とによって、固有バーコードとユーザとの対応付けを高速に行うことができる。
【0161】
また、交換用バーコードについては、固有バーコードと同様の処理に加えて、剰余cと剰余dとの両方が一致する交換用バーコード情報があるかどうかについてもチェックしているが、交換用バーコードの画像パターン同士を照合するのに比べれば、この処理も比較的短時間で済む。すなわち、交換用バーコード同士の照合を行うことなく、演算処理と記憶内容の参照とによって、受信した交換用バーコードがどのユーザに属するものであるか、また、その発行日時、ポイント及び使用済みであるかどうかといったことを特定するまでの処理を高速に行うことができる。
【0162】
固有バーコード値Xを除算する除数となる数値A及びBの最小公倍数は、バーコード値がとり得る値の最大値と最小値との差よりも大きいという関係がある。異なるバーコード値では、剰余aとbとの両方が一致することがないので、ユーザデータベース107に登録された各ユーザのユーザ情報へは、他人のバーコードに基づいて第1テーブル111と第2テーブル112との両方から辿り着くことはあり得ない。従って、受信した固有バーコードからユーザを一義的に特定することができる。
【0163】
バーコード同士の照合を行わなくても固有バーコードまたは交換用バーコードについての認証が行えるため、サーバ装置1は、発行した固有バーコードまたは交換用バーコードを携帯電話機3に送信完了した時点で、固有バーコードまたは交換用バーコードを破棄するものとしている。つまり、サーバ装置1の中に発行した固有バーコードまたは交換用バーコードの画像パターンを保存しておく必要が全く必要がない。固有バーコード及び交換用バーコードの画像パターンは、携帯電話機3以外では、他のコンピュータ装置に保存される訳でもない。
【0164】
このように固有バーコード及び交換用バーコードの画像パターンを保存するためのデータベースが必要ない。このため、サーバ装置1に必要な記憶容量を小さくすることができる。バーコードのような画像パターンの情報量は、文字データの情報量に比べて比較的大きくなるため、必要な記憶容量の圧縮のために非常に効果的である。
【0165】
固有バーコード及び交換用バーコードの画像パターンは、ユーザが有する携帯電話機3以外には保存されていないので、例えばサーバ装置1にハッカーが侵入したとしても、各ユーザに付与された固有バーコード及び交換用バーコードの画像パターンが盗み出されることがない。このため、認証を行うための情報として使用される固有バーコード及び交換用バーコードに対して、高度なセキュリティを達成することができる。ユーザにとっても、自分が固有バーコード及び交換用バーコードの管理を怠らない限り、不正に第三者に取得されることがないという安心感を得ることができる。
【0166】
なお、固有バーコード値から固有バーコード値がとり得る値の最小値を減算した値、または固有バーコード値がとり得る値の最大値から数値化した固有バーコード値を減算した値を、数値AまたはBで除算するものとしてもよい。交換用バーコードに関しても、同様である。この場合、固有バーコード値または交換用バーコード値がとり得る値の範囲によっては、被除数がかなり小さくなって、除算の処理が高速化される。
【0167】
また、店舗端末装置2は、バーコード読取装置24で読み取った固有バーコードまたは交換用バーコードの画像パターンを数値化して、その固有バーコード値または交換用バーコード値をサーバ装置1に送るものとしてもよい。店舗端末装置2は、固有バーコード値を数値AとBとでそれぞれ除算した剰余a、bを、或いは交換用バーコード値を数値CとDとでそれぞれ除算した剰余c、dを、サーバ装置1に送るものとしてもよい。
【0168】
また、ユーザデータベース107の固有バーコード情報としては、ステップS703(a)及び(b)で求めた剰余a、bが、交換用バーコード情報としては、ステップS903(a)及び(b)で求めた剰余c、dが、それぞれそのまま登録されるものとしていたが、これらの剰余a、b、c、dは、所定の方法で暗号化した上で、ユーザデータベース107に登録するものとしてもよい。このための暗号鍵及び復号鍵は、サーバ装置1に置かないで、サーバ装置1と接続された別のコンピュータ装置から必要に応じて取得するものとしてもよい。非対称暗号系を適用する場合は、復号鍵のみを別のコンピュータ装置に置いてもよい。
【0169】
固有バーコードの再発行時やステップS906またはS1107の処理では、ユーザデータベース107から剰余a及びb、或いは剰余c及びdを読み出すこととなるが、これらが暗号化されて登録されている場合には、復号化してから次の処理に進めばよい。剰余a、b、c、dを暗号化して登録することで、固有バーコード及び交換用バーコードの復元には復号鍵もなければならないので、さらに安全性が増す。少なくとも復号鍵が別のコンピュータ装置に置かれていれば、サーバ装置1をハッキングしても、これだけでは固有バーコード及び交換用バーコードを復元可能な情報は得られないものとなる。
【0170】
また、固有バーコードに対応した数値をそれぞれ数値A、Bで除算した剰余a、bに対応した第1テーブル111及び第2テーブル112の記憶位置には、ユーザ情報を一義的に特定可能な他の情報(例えば、ユーザID)を登録するものとしてもよい。この場合、剰余a及びbにそれぞれ対応した第1テーブル111及び第2テーブル112の記憶位置に登録された情報に互いに一致するものがあるかどうかを判定することで、その認証を行うことができる。交換用バーコードについても同様である。
【0171】
また、各ユーザが交換用バーコードを一度に1つしか取得できないものとすれば、ユーザデータベース107の交換用バーコード情報として剰余c、dを保存しておく必要はない。この場合、交換用バーコードの発行要求があった場合には、当該ユーザのユーザ情報を指し示すポインタを第3テーブル113及び第4テーブル114から検索し、これを最初に消去する。そして、図21に示したように交換用バーコードを発行すればよい。もっとも、この場合にステップS906及びS907の処理は行われなくなり、ステップS905の判定結果がYESとなった場合には、ステップS901の処理に戻るものとすればよい。
【0172】
さらに、直接アドレス法の適用によって、固有バーコードまたは交換用バーコードとユーザとの対応付けをさらに高速に行えるようにしてもよい。図24は、この変形例を説明する図である。固有バーコードでも交換用バーコードでも同じ手法が適用できるが、ここでは固有バーコードを例として説明する。第1テーブル111’の先頭番地をM、第2テーブル112’の先頭番地をNとしている。第1テーブル111’及び第2テーブル112’の各ワードには、固有バーコードに対応するユーザ情報の先頭番地が格納される。新たに発行した固有バーコードにより衝突が発生した場合には特定値が格納されると共に、当該ワードに対応して、特定値テーブル113が別に設けられる。
【0173】
CPU11は、ランダムに生成した固有バーコードもしくは店舗端末装置2または携帯電話機3から受信した固有バーコードを数値化した固有バーコード値Xを数値Aで除算した剰余aに先頭番地Mを加算したM+a番地を直接アドレスして、第1テーブル111’を参照する。CPU11は、固有バーコード値Xを数値Bで除算した剰余bに先頭番地Nを加算したN+b番地を直接アドレスして、第2テーブル112’を参照する。M+a番地またはN+b番地に特定値が格納されていると、それに対応して設けられた特定値テーブル113を参照する。
【0174】
M+a番地とN+b番地(場合によってはこれらの番地に対応して設けられた特定値テーブル113)とに同じユーザ情報の先頭番地が格納されていれば、認証が可能となる。ユーザデータベース107からのユーザ情報の取り出しも、M+a番地及びN+b番地(場合によってはこれらの番地に対応して設けられた特定値テーブル113)に格納された番地の直接アドレスによって行うことができる。
【0175】
ここまで説明した変形例は、ハッシュ法を応用したものではあるが、ハッシュ関数の選択方法としては上記の方法に限られるものではない。すなわち、任意の複数種類のハッシュ関数によるハッシュ値の計算を行い、各ハッシュ関数に対応して設けられた複数のハッシュテーブルのハッシュ値に対応した記憶位置にユーザ情報を指し示すポインタを登録するようなものであればよい。もっとも、異なる2つのバーコードに対して、少なくとも1種類のハッシュ関数によって計算したハッシュ値は一致しないものとなることが必要である。
【0176】
なお、上記のようなハッシュ法を応用した変形例は、固有バーコードにのみ適用する(すなわち、図21乃至図23のフローチャートの処理は行わない)ものであっても、サーバ装置1のハッキングによるポイントの不正使用を防ぐためには十分な効果を得ることができる。上記の実施の形態において説明したように、交換用バーコードは、有効期限が付されており、ユーザ側で長期間管理されることがない。サーバ装置1がハッキングされて交換用バーコードが盗み出されたとしても、それを有効期限内で使用することは実質的に不可能だからである。
【0177】
上記の実施の形態では、図9〜図13、或いは図19〜図23のフローチャートに示すプログラムは、サーバ装置1のメモリ12、店舗端末装置2のメモリ22、或いは携帯電話機3のROM32に記憶されているものとして説明した。しかしながら、これらのプログラムの全部または一部が、図25に示すような手法を用いて、ハードウェアとは別個に提供されるものであってもよい。
【0178】
図25(a)は、プログラムの提供方法の第1の例を示す。サーバ装置1、店舗端末装置2は、それぞれCD−ROMやDVD−ROMなどのコンピュータ読み取り可能な記録媒体55を駆動し、データを読み取るディスクドライブ51、52をさらに備える。CPU11、21は、それぞれディスクドライブ51、52に記録媒体55に記録されたプログラムを読み取らせ、メモリ12、22にインストールさせるものとすることができる。携帯電話機3は、ROMカード56を挿入し、データを読み取るカードスロット53をさらに備える。CPU31は、カードスロット53を介してROMカード56に記録されたプログラムの命令を順次取り出して、実行するものとすればよい。
【0179】
図25(b)は、プログラムの提供方法の第2の例を示す。サーバ装置1、店舗端末装置2及び携帯電話機3の処理プログラムは、インターネット4上のWebサーバ57が有する固定ディスク装置58に格納されている。サーバ装置1、店舗端末装置2または携帯電話機3からプログラムの送信要求が送られてくると、Webサーバ57は、固定ディスク装置58に格納されたプログラムをデータ信号化し、搬送波59に重畳してインターネット4を介して要求元の装置に返送する。サーバ装置1、店舗端末装置2または携帯電話機3の通信装置15、27、36が搬送波に重畳されて送信されたプログラムを受信すると、CPU11、21、31は、このプログラムをメモり12、22またはROM32にインストールさせるものとすることができる。ここで、携帯電話機3のROM32としては、電気的にデータの書き込み及び消去が可能なフラッシュメモリを適用することができる。
【0180】
上記の実施の形態では、固有バーコードと交換用バーコードとがセットとなって、ポイントの蓄積及び交換のために用いられるものとしていた。もっとも、携帯電話機3に割り当てられた固有バーコードは、交換用バーコードとは独立して、顧客管理などの他の用途にも用いることができる。また、ユーザが所持し、他の商品と交換するポイントは、商品の購入によって蓄積されるものに限らない。
【0181】
このポイントは、ユーザが飛行機に搭乗した距離で蓄積するマイレージであってもよい。このポイントは、パチンコやスロットマシンなどの遊技でユーザが獲得した遊技球やメダルの数によって与えられるものでもよい。このポイントは、ユーザがバナー広告の付されたWebページを閲覧することによって与えられるものであってもよい。
【0182】
このポイントは、プリペイドカードのように、ユーザが予め支払った金銭の額に応じた蓄積させるものであってもよい。つまり、ポイントそのものが金銭価値を示すものであってもよい。図14に示したようにポイントの値がマイナスを示すことを可能とし、所定期間毎にマイナス分の請求書を発行する処理は、ポイントそのものが金銭価値を示すものとした場合に特に有効である。
【0183】
ユーザが蓄積したポイント(マイナスを含む)には、所定の利息を付けたり、一定値に達する毎にボーナスポイントを付したりすることもできる。商品の購入でポイントを蓄積する以外に、友人をユーザとして紹介した場合にボーナスポイントを付することもできる。
【0184】
ユーザが蓄積したポイントは、提供者が予め商品の中から希望の商品を選び、郵送、宅配または加盟店で受け取るものという手法で、商品と交換できるようにしてもよい。ーザが蓄積したポイントは、商品割引クーポンの取得に利用できるようにしてもよい。ユーザが蓄積したポイントは、コンサートの座席などの優先予約ができるようなものとしてしようしてもよい。ポイントそのものが金銭価値を示すものである場合は、ユーザにキャッシュバックすることも可能である。
【0185】
【発明の効果】
以上説明したように、本発明によれば、ユーザがポイントを他の物と交換する際に必要となる識別情報の偽造を防ぐことができると共に、ユーザが有するポイントが不正に他の物に交換されるのを防ぐことができる。
請求書発行処理では、CPU11は、ユーザデータベース17に登録された各ユーザについて、順にループ処理を行う(ステップS501−S501’)。ループ内の処理では、CPU11は、処理対象としているユーザのレコードに含まれるポイントを取り出し、このポイントがマイナスの値を示しているかどうかを判定する(ステップS502)。
【0091】
ポイントがマイナスの値を示していれば、CPU11は、当該ユーザを宛先として、マイナスの値に応じて対価(金銭であってもなくても可)を請求する請求書を発行し(ステップS503)、プリンタにより用紙上に印刷させる(ステップS504)。印刷された請求書は、郵送などの手段によりユーザに届けられることとなる。
【0092】
ポイントの値がマイナスを示していないか、請求書の印刷が終了した場合には、1人のユーザについての処理が終わる。CPU11がステップS501’においてユーザデータベース17に登録された全てのユーザについてループ内の処理が終了したと判定すると、ループを抜け、請求書発行処理を終了する。
【0093】
以上の説明したように、このポイント交換システムにおいてポイントをマイナスにすることも可能とし、ポイントのマイナス値に応じた請求書を発行可能とすることで、クレジットカード、プリペイドカード及びポイントカードの機能を併せ持つようなポイント交換システムを実現することができるようになる。
【0094】
上記の実施の形態では、交換用バーコードは、その発行から一定時間の経過によって使用できなくしており、暗号化されていることによって、偽造されてポイントが不正に商品と交換されるのを防ぐようにしていた。しかしながら、本発明において適用可能な交換用バーコードの偽造防止技術はこれに限るものではない。
【0095】
例えば、交換用バーコードに電子透かしを埋め込むものとしてもよい。この電子透かしは、誤り訂正が可能な範囲で意図的に交換用バーコードを本来の交換用バーコードの内容とは変えたものとすることができる。このような電子透かしとして、二次元コード上に、二次元コードで誤り補正が可能な幾何学的な模様を意図的に付け加えたものを適用することができる。ここで、幾何学的な模様として会社のロゴやサービスの名称等を用いることもできる。これにより、交換用バーコードがどこから発行されたかを視覚的に判別することができる。
【0096】
交換用バーコードにJava(商標)言語などで記述されたプログラムを埋め込んでおき、このプログラムの作用により、携帯電話機3に受信されてから所定時間経過することで交換用バーコードが自壊するようなものとしてもよい。このプログラムは、定期的にサーバ装置1に時間を確認する機能を有するものとすることができる。このプログラムは、交換用バーコードの利用期限が近くなると、警告音を鳴らしたり、バーコードの色を変えたりすることによってユーザに通知する機能を有していてもよい。このプログラムは、交換用バーコードの利用期限が過ぎると、自動的に画像を差し替えたり、文字情報を表示して二次元バーコードを消滅させる機能を有するものとすることができる。
【0097】
発行から一定時間を経過することによって交換用バーコードを使用できなくする手法も上記のものに限られず、携帯電話機3に配信する交換用バーコードに期限情報を含ませてもよい。バーコード読み取り装置24は、交換用バーコードの読み取り時にこの期限情報も併せて読み取り、店舗端末装置2は、サーバ装置1に期限情報を送信するものとすることができる。サーバ装置1のCPU11は、店舗端末装置2から送られてきた期限情報に基づいて、交換用バーコードの有効性を判断することができる。
【0098】
固有バーコードは、それ自体が偽造されてもポイントが不正に使用されることはないが、交換用バーコードの暗号化に用いる暗号鍵が解読される可能性もある。暗号鍵が解読されれば、交換用バーコードが不正に用いられる場合も生じる。そこで、サーバ装置1において固有バーコードを一定期間毎に更新することで、暗号鍵が解読される危険性を抑えることができ、暗号鍵が解読されて交換用バーコードが不正に用いられた場合の被害を最小限に抑えることができる。固有バーコードは、更新される度にサーバ装置1から携帯電話機3に送信されるものとすることができる。
【0099】
上記の実施の形態では、固有バーコードは、携帯電話機3からサーバ装置1に要求を行うことで発行されていたが、携帯電話機3に当初から割り当てられ、ROM32に予め記憶されているものであってもよい。固有バーコードの割り当てられた携帯電話機3を購入した者は、自動的にこのシステムで提供するサービスのユーザとなることができる。この場合において、携帯電話機3に当初から割り当てられた固有バーコードは、単に初期設定時の固有バーコードとして使用されるだけで、更新していくことも可能である。
【0100】
図15は、固有バーコード更新処理を示すフローチャートである。この処理は、サーバ装置1のCPU11が有する内部タイマによって所定時間毎にタイマ割り込みが生じることで実行される。
【0101】
請求書発行処理では、CPU11は、ユーザデータベース17に登録された各ユーザについて、順にループ処理を行う(ステップS601−S601’)。ループ内の処理では、CPU11は、処理対象としているユーザのユーザIDをキーとしてバーコードデータベース18を参照し、当該ユーザがこれまで使用していた固有バーコードとは異なり、かつ他のユーザによっても使用されていない新たな固有バーコードを発行する(ステップS602)。
【0102】
CPU11は、発行した新たな固有バーコードを、これまで登録されていた固有バーコードに書き換えて、バーコードデータベース18に登録する(ステップS603)。CPU11は、発行した新たな固有バーコードを通信装置15からインターネット4を介して携帯電話機3に送信させる(ステップS603)。
【0103】
新たな固有バーコードの送信が終了した場合には、1人のユーザについての処理が終わる。CPU11がステップS601’においてユーザデータベース17に登録された全てのユーザについてループ内の処理が終了したと判定すると、ループを抜け、サーバ装置1の側における処理を終了する。
【0104】
それぞれの携帯電話機3において、通信装置36がこの固有バーコードを受信すると(ステップS621)、CPU31は、これをRAM33の所定の領域に上書きして、携帯電話機3内に保持させる固有バーコードを更新する(ステップS622)。これで固有バーコード更新処理を終了する。
【0105】
上記の実施の形態では、交換用バーコードは、固有バーコードとは全く異なる形態のものであり、ユーザがポイントを商品に交換しようとするときには、固有バーコードと交換用バーコードとは、別々にバーコード読み取り装置24で読み取る必要があった。これに対して、固有バーコードと交換用バーコードとを同時に表示装置35に表示できるようにしてもよい。これにより、ポイント交換時のバーコードの読み取りが1回で済む。
【0106】
上記の実施の形態では、交換用バーコード自体が、ユーザが商品との交換を要求したポイントを示すものとなっていた。しかしながら、交換用バーコードは、ポイントとは無関係な態様のものであってもよい。バーコードデータベース18において交換用バーコードはポイントと対応付けて記憶されているため、ステップS450におけるユーザのポイントの減算と、ステップS451における加盟店のポイントの加算とは、バーコードデータベース18に交換用バーコードに対応付けて記憶されているポイントに従って行えばよいこととなる。
【0107】
上記の実施の形態では、固有バーコード及び交換用バーコードは、二階調の二次元マトリクスパターンを有するバーコードとして携帯電話機3の表示装置35に表示されていたが、多階調のパターンを有するバーコードや、三次元のパターンを有するバーコードとして表示されるものであってもよい。この三次元バーコードは、例えばポリゴンで形成された立方体の各面に二次元バーコードを表示させたものであり、Java等のアプリケーションによってポリゴンが回転される。店舗端末2では、ポリゴンの回転によって立方体の各面に表示された二次元バーコードコードを全て認識することができる。三次元バーコードは、面数の増加によってより大きな情報量を含むことができる。
【0108】
例えばブルートゥース技術などの適用により、店舗端末装置2と携帯電話機3とを直接通信可能に構成した場合には、視認不可能な情報であっても、上記した固有バーコード及び交換用バーコードの代わりに適用することができる。
【0109】
上記の実施の形態では、サーバ装置1のCPU11は、固有バーコードまたは交換用バーコードを、どのユーザの携帯電話機3に送る場合でも同じように生成していた。しかしながら、携帯電話機3の表示装置35は、機種によって大きさもドット数もまちまちである。いずれの携帯電話機3でも表示装置35に表示可能なように固有バーコードまたは交換用バーコードを生成するものとすると、固有バーコード及び交換用バーコードのパターンは、単純なものとならざるを得ず、偽造される危険が大きくなる。
【0110】
携帯電話機3の機種に応じて最も効果的な固有バーコード及び交換用バーコードを生成するために、サーバ装置1は、図16に示す機種データベース19を備えることができる。機種データベース19は、ユーザIDと携帯電話機3の機種に関する情報(少なくとも表示装置35の大きさ及びドット数を含む)を対応付けて記憶している。
【0111】
サーバ装置1のCPU11は、ステップS256において固有バーコードを発行する際に、機種データベース19を参照して、要求元の携帯電話機3の機種に応じた固有バーコードを発行することができる。CPU11は、ステップS443において交換用バーコードを発行する際に、機種データベース19を参照して、要求元の携帯電話機3の機種に応じた交換用バーコードを発行することができる。
【0112】
サーバ装置1から携帯電話機3に送信される固有バーコード及び交換用バーコードは、圧縮されたものであってもよい。サーバ装置1のCPU11は、機種に関係なく固有バーコードまたは交換用バーコードを生成してから、要求元の携帯電話機3の機種を機種データベース19から読み出し、機種に応じて固有バーコードまたは交換用バーコードを圧縮することができる。固有バーコードまたは交換用バーコードは、自己解凍方式のものとすれば、店舗端末2のCPU21は、解凍された固有バーコードまたは交換用バーコードを用いて、上記と全く同じ処理を行うことができる。
【0113】
サーバ装置1に機種データベース19を設けることで、上記のように携帯電話機3に送信される固有バーコード及び交換用バーコードは、携帯電話機3が新型のもので表示装置35の表示ドット数が多ければ細かなパターンのバーコードと、携帯電話機3が旧型のもので表示ドット数が少なくても表示装置35に表示可能なバーコードを生成することができる。これにより、表示装置35の機能を最大限に生かして固有バーコードまたは交換用バーコードを表示装置35に表示させることができる。ユーザが携帯電話機3の機種を頻繁に変えても、ユーザデータベース28に登録される機種を変えれば、新しい機種に適合した二次元バーコードとなるので、技術的進歩が早い携帯電話機3への適用するのに特に有効である。
【0114】
上記の実施の形態では、固有バーコード及び交換用バーコードを表示して店舗の店員に提示する端末装置として、表示装置35を有する携帯電話機3を適用していたが、サーバ装置1と通信可能なモバイル端末(例えば、PDA(Personal Digital Assistants)など)を、携帯電話機3の代わりに適用することもできる。この端末は、サーバ装置1に有線接続されるものであってもよい。PDAなどのモバイル端末は、一般に表示装置の大きさが携帯電話機3よりも大きいので、より複雑なパターンを有し、多くの情報量を含んだ固有バーコード及び交換用バーコードが使用可能となる。ブルートゥース技術などの適用により視認不可能な情報を固有バーコード及び交換用バーコードの代わりに用いた場合には、その端末は、表示装置を有しないものであってもよい。
【0115】
上記の実施の形態では、ユーザが蓄積したポイントがマイナスされるのは、ユーザが加盟店で商品と交換を行ったときであった。しかしながら、交換用バーコードの発行を行ったときに、ポイントがマイナスされるものとしてもよい。交換用バーコードを発行した際に当該交換用バーコードに応じたポイントの一部をマイナスし、交換用バーコードを用いて商品交換をした場合に、さらにポイントをマイナスするものとしてもよい。これにより、携帯電話機3からサーバ装置1に交換用バーコードの発行要求がむやみにされることがなく、サーバ装置1にかかる負荷を小さくすることができる。
【0116】
上記の実施の形態では、固有バーコード及び交換用バーコードは、サーバ装置1において、バーコードデータベース18に保管しておき、ポイント交換処理を行う際に、さらに固有バーコードに関してはポイント蓄積処理を行う際にも参照されるものとしていた。しかしながら、上記の用に固有バーコードおよび/または交換用バーコードをサーバ装置1内に保管しておくと、サーバ装置1がハッキングされることにより、各ユーザが所持するポイントが不正に使用され、他の物と交換されてしまう危険があり得る。そこで、上記のポイント交換システムに対して次のような変形を加えることで、このような危険を回避することが可能となる。
【0117】
この変形例におけるサーバ装置1は、ユーザデータベース17の代わりに、詳細を後述するユーザデータベース107(図18参照)を備えている。また、バーコードデータベース18はなく、固有バーコード及び交換用バーコードの画像データ(これらを数値化する方法及び数値A、B、C、Dの値(後述)が分からなくても、これらの画像データを復元することが可能となる他の種類のデータを含む)は、ユーザデータベース107を含むサーバ装置1内のどこにも保存されていない。もっとも、固有バーコードであるか交換用バーコードであるかに関してだけは、そのパターンから区別できるものとする。
【0118】
固有バーコード及び交換用バーコードの画像データがサーバ装置1内に保存されていないので、この実施の形態では、バーコードの照合によらないで認証が行われることとなる。図17は、この実施の形態における認証の方法を説明する図である。認証の方法は、固有バーコードと交換用バーコードとで異なるところがないので、ここでは、固有バーコードを例として説明する。この図にある第1テーブル111及び第2テーブル112は、それぞれサーバ装置1のメモリ12の所定の領域に記憶されている。
【0119】
固有バーコードの画像データ(図中、実線で示す)を受信すると、サーバ装置1は、これを所定の方法で数値化する。固有バーコードのパターンが異なれば、数値化された後の値は異なることとなる。固有バーコードを数値化した値X(以下、固有バーコード値と呼ぶ)を数値Aで除算した剰余aと数値Bで除算した剰余bとがそれぞれ求められる。数値Aと数値Bとの最小公倍数は、固有バーコード値がとり得る値の最大値と最小値との差よりも大きいという関係がある。この関係を満たす場合、互いに異なる2つの固有バーコード値をそれぞれ数値Aで除算した剰余aが一致する場合には、当該2つの固有バーコード値をそれぞれ数値Bで除算した剰余bが一致することはあり得なくなる。数値Aと数値Bとは互いに素であることが好ましい。
【0120】
剰余aに対応した第1テーブル111内の記憶位置には、ユーザデータベース107において当該固有バーコードに対応したユーザ情報が記憶された位置を指し示すポインタが記憶されている。剰余bに対応した第2テーブル112内の記憶位置には、ユーザデータベース107において当該固有バーコードに対応したユーザ情報が記憶された位置を指し示すポインタが記憶されている。固有バーコードは、第1テーブル111と第2テーブル112の両方から同一のユーザ情報まで辿ることができたので、当該固有バーコードは、そのユーザが所有するものとして認証される。
【0121】
剰余aに対応した第1テーブル111内の記憶位置には、ユーザデータベース107において他の固有バーコード(図中、破線で示す)に対応したユーザ情報が記憶された位置を指し示すポインタも記憶されている。しかし、第2テーブル112からは当該他の固有バーコードに対応したユーザ情報まで辿ることができない。他の固有バーコードの画像(図中、破線で示す)データをサーバ装置1が受信した場合、その固有バーコード値X’を数値Aで除算した剰余a’が剰余aに一致する場合、第1テーブル111からは実線で示した固有バーコードに対応したユーザ情報まで辿ることができる。しかし、固有バーコード値X’を数値Bで除算した剰余b’が剰余bに一致することはないので、第2テーブル112からは実線で示した固有バーコードに対応したユーザ情報まで辿ることができない。従って、受信した固有バーコードとは無関係なユーザが対応づけられてしまうこととは起こり得ない。
【0122】
交換用バーコードについても、同じ認証方法を用いてユーザとの対応付けが図られる。交換用バーコードの画像データについても、サーバ装置1は、これを受信すると所定の方法で数値化する。交換用バーコードのパターンが異なれば、数値化された後の値は異なることとなる。交換用バーコードを数値化した値Y(以下、交換用バーコード値と呼ぶ)については、数値Cで除算した剰余cと数値Dで除算した剰余cとがそれぞれ求められる。数値Cと数値Dについても、その最小公倍数が交換用バーコード値がとり得る値の最大値と最小値との差よりも大きく、数値Cと数値Dとが互いに素であることが好ましいことも、固有バーコードの場合と同じである。
【0123】
交換用バーコードに関しては、固有バーコードについての第1テーブル111及び第2テーブル112と同様に、第3テーブル113及び第4テーブル114(いずれも図示しないが、これらの符号で参照するものとする)が設けられ、サーバ装置1のメモリ12に記憶されている。なお、交換用バーコードについては、一人のユーザが複数所持することができるので、この点で固有バーコードと異なる扱いが必要になる。これについての詳細は、後述するものとする。
【0124】
次に、ユーザデータベース107について詳しく説明する。図18(a)は、ユーザデータベース107の構成を示す図である。ユーザデータベース107の各レコードは、可変長レコードであり、ユーザ登録の度に新たに生成される。ユーザデータベース107の各レコードは、上記の実施の形態で示したユーザデータベース17の各レコードにあるユーザID、氏名、住所、生年月日、年齢及びポイントの他に、1つの固有バーコード情報と、0個以上の任意の数の交換用バーコード情報を含んでいる。各レコードの最後にある「EOR」は、当該レコードの終わりであることを示す制御情報である。
【0125】
図18(b)は、固有バーコード情報の詳細を示す。図示するように、固有バーコード情報は、固有バーコード値Xを数値Aと数値Bとでそれぞれ除算した剰余aと剰余bとを含んでいる。ここに登録されている剰余aとbとについては、ユーザが固有バーコードの再発行を求めたときに、第1テーブル111及び第2テーブル112に登録されている前の固有バーコードに関してのユーザ情報を指し示すポインタを消すために必要となるものである。
【0126】
図18(c)は、1個当たりの交換用バーコード情報の詳細を示す。図示するように、交換用バーコード情報は、発行日時と、ポイント数と、使用済みフラグとを含んでいる。これらは、上記の実施の形態で交換用バーコードテーブル18Bに登録されていたものと同じである。交換用バーコード情報は、また、交換用バーコード値Yを数値Cと数値Dとでそれぞれ除算した剰余cと剰余dとも含んでいる。
【0127】
交換用バーコードについては、1人のユーザが複数持つことができるので、剰余cと剰余dとは、ユーザ情報(ユーザ毎のレコード)に辿り着いた後に、どの交換用バーコードであるかを特定するために用いられる。また、第3テーブル113及び第4テーブル114には、それぞれ同じユーザ情報を指し示すポインタが複数登録される場合があり、交換用バーコードの所有者でないユーザ情報に辿り着いてしまう場合もあるので、剰余cと剰余dとは、どのユーザが所有する交換用バーコードであるかを識別するためにも用いられる。
【0128】
また、この変形例においては、サーバ装置1から携帯電話機3に交換用バーコードを送信する場合は、固有バーコードを暗号鍵として用いて暗号化される。暗号化された交換用バーコードは、店舗端末装置2で復号化するのではなく、携帯電話機3において、そこに保持されている固有バーコードを復号鍵として復号化される。つまり、交換用バーコードの暗号化及び復号化には、固有バーコードを鍵とする対称鍵暗号系が適用されている。
【0129】
次に、この変形例にかかるポイント交換システムにおいて、上記の実施の形態にかかるポイント交換システムと処理の異なる部分を、図19〜図23のフローチャートを参照して説明する。
【0130】
図19は、この変形例におけるユーザ登録処理を示すフローチャートである。このフローチャートの処理は、図10のステップS256〜S258の処理に代わって実行される。ステップS253においてサーバ装置1においてユーザ情報がユーザデータベース107に登録されると、CPU11は、ランダムに固有バーコードの画像パターンを生成する(ステップS701)。
【0131】
CPU11は、生成した固有バーコードの画像パターンを所定の方法で数値化し、数値化した固有バーコード値を変数Xに代入する(ステップS702)。ここで固有バーコードの画像パターンを数値化する方法としては、同じパターンであれば必ず同じ数値となり、異なるパターンであれば必ず異なる数値となるものであれば、任意の方法を適用することができる。
【0132】
CPU11は、固有バーコード値Xを数値Aで除算した剰余aを求め(ステップS703(a))、固有バーコード値Xを数値Bで除算した剰余bを求める(ステップS703(b))。数値Aと数値Bとの最小公倍数は、固有バーコード値Xがとり得る値の最大値と最小値との差よりも大きい。CPU11は、第1テーブル111のうちの剰余aに対応する記憶位置に登録されているポインタを全て取り出し(ステップS704(a))、第2テーブル112のうちの剰余bに対応する記憶位置に登録されているポインタを全て取り出す(ステップS704(b))。
【0133】
CPU11は、第1テーブル111から取り出したポインタと第2テーブル112から取り出したポインタとを比較し、ユーザデータベース107に登録されているユーザ情報のうちで同一のユーザ情報を指し示すものがあるかどうかを判定する(ステップS705)。第1テーブル111と第2テーブル112とに同一のユーザ情報を指し示すポインタがあれば、ステップS701の処理に戻り、固有バーコードの発行をやり直しさせる。
【0134】
第1テーブル111と第2テーブル112とに同一のユーザ情報を指し示すポインタがなければ、CPU11は、第1テーブル111のうちの剰余aに対応する記憶位置に、ユーザデータベース107に登録した当該ユーザのユーザ情報を指し示すポインタを登録すると共に、その固有バーコード情報の剰余aとしてステップS703(a)で求めた値を登録する(ステップS706(a))。CPU11は、また、第2テーブル111のうちの剰余bに対応する記憶位置に、ユーザデータベース107に登録した当該ユーザのユーザ情報を指し示すポインタを登録すると共に、その固有バーコード情報の剰余bとしてステップS703(b)で求めた値を登録する(ステップS706(b))。
【0135】
ステップS706(a)または(b)において、ユーザデータベース107の該当位置に他のユーザのユーザ情報を指し示すポインタが登録されていた場合は、リストでつなぐなどの手法により、当該ユーザのユーザ情報を指し示すポインタも同じ位置に重複して登録する。
【0136】
第1テーブル111及び第2テーブル112へのポインタの登録が終了すると、CPU11は、ステップS703で生成した固有バーコードの画像パターンを、通信装置15から登録要求をした携帯電話機3に送信する(ステップS707)。CPU11は、固有バーコードの画像パターンの送信が完了した時点で、その固有バーコードの画像パターンを破棄する(ステップS708)。そして、このフローチャートの処理を終了する。
【0137】
ユーザが発行された固有バーコードを紛失した場合に、固有バーコードの再発行要求が携帯電話機13から送られてくる。この場合における固有バーコードの再発行も、ステップS701〜S708と同じ処理で行われるが、ステップS706(a)及び(b)に次のような処理が追加される。CPU11は、ユーザデータベース107の当該ユーザのレコードの固有バーコード情報に含まれる剰余a及び剰余bに従って、第1テーブル111及び第2テーブル112にこれまでに登録されていた当該ユーザのユーザ情報を指し示すポインタを削除する。その後、固有バーコード情報の剰余a及び剰余bをそれぞれステップS703(a)及び(b)で求めた数値に更新する。
【0138】
図20は、図19のユーザ登録処理において発行され、携帯電話機3に送信された固有バーコードの認証処理を示すフローチャートである。このフローチャートの処理は、図11のポイント蓄積処理におけるステップS341の処理とS342の処理との間と、図12のポイント交換処理におけるステップS441の処理とS442の処理との間に、それぞれ付加されて実行されるものである。サーバ装置1は、ポイント蓄積処理ではステップS341において店舗端末装置2から、ポイント交換処理ではステップS441において携帯電話機3から(交換要求には固有バーコードが含まれている)、固有バーコードを画像データとして受信している。
【0139】
CPU11は、店舗端末装置2または携帯電話機3から受信した固有バーコードの画像パターンを所定の方法で数値化し、数値化した固有バーコード値を変数Xに代入する(ステップS801)。ここで固有バーコードの画像パターンを数値化する方法も、ステップS702における方法と同じである。CPU11は、数値化した固有バーコード値XがステップS701で生成可能な固有バーコードの範囲にあるかどうかを判定する(ステップS802)。固有バーコード値Xが生成可能な固有バーコードの範囲になければ、エラー終了となる。
【0140】
固有バーコート値Xが生成可能な固有バーコードの範囲にあれば、CPU11は、固有バーコード値Xを数値Aで除算した剰余aを求め(ステップS803(a))、固有バーコード値Xを数値Bで除算した剰余bを求める(ステップS803(b))。数値Aと数値Bは、図19のフローチャートで示したのと同じ値が用いられる。CPU11は、第1テーブル111のうちの剰余aに対応する記憶位置に登録されているポインタを全て取り出し(ステップS804(a))、第2テーブル112のうちの剰余bに対応する記憶位置に登録されているポインタを全て取り出す(ステップS804(b))。
【0141】
CPU11は、第1テーブル111から取り出したポインタと第2テーブル112から取り出したポインタとを比較し、ユーザデータベース107に登録されているユーザ情報のうちで同一のユーザ情報を指し示すものがあるかどうかを判定する(ステップS805)。第1テーブル111と第2テーブル112とから同一のユーザ情報を指し示すポインタが取り出されていなかった場合には、エラー終了となる。
【0142】
第1テーブル111と第2テーブル112とに同一のユーザ情報を指し示すポインタがあれば、両方のテーブル111、112からのポインタで指し示されたユーザ情報に従って、受信した固有バーコードが当該ユーザが有するものとして認証する。そして、ポイント蓄積処理においてこのフローチャートの処理を行ったのであればステップS342の処理に、ポイント交換処理においてこのフローチャートの処理を行ったのであればステップS442の処理に、それぞれ進むこととなる。
【0143】
図21は、この変形例における交換用バーコード発行処理を示すフローチャートである。このフローチャートの処理は、図12のポイント交換処理におけるステップS443〜S445の処理に代わって行われる。ステップS442において要求されたポイント以上のポイントが蓄積されていた場合には、CPU11は、ランダムに交換用バーコードの画像パターンを生成する(ステップS901)。
【0144】
CPU11は、生成した交換用バーコードの画像パターンを所定の方法で数値化し、数値化した交換用バーコード値を変数Yに代入する(ステップS902)。交換用バーコードの画像パターンを数値化する方法についても、ステップS702の場合と同じ方法によって行うことができるが、ステップS702の場合とは別の方法によって行ってもよい。もっとも、同じパターンであれば必ず同じ数値となり、異なるパターンであれば必ず異なる数値となることは、ステップS702の場合と同様に必須である。
【0145】
CPU11は、交換用バーコード値Yを数値Cで除算した剰余cを求め(ステップS903(a))、交換用バーコード値Yを数値Dで除算した剰余dを求める(ステップS903(b))。CPU11は、第3テーブル113のうちの剰余cに対応する記憶位置に登録されているポインタを全て取り出し(ステップS904(a))、第4テーブル114のうちの剰余dに対応する記憶位置に登録されているポインタを全て取り出す(ステップS904(b))。
【0146】
CPU11は、第3テーブル113から取り出したポインタと第4テーブル114から取り出したポインタとを比較し、ユーザデータベース107に登録されているユーザ情報のうちで同一のユーザ情報を指し示すものがあるかどうかを判定する(ステップS905)。第3テーブル113と第4テーブル114とに同一のユーザ情報を指し示すポインタがなければ、ステップS901で生成した交換用バーコードは未発行のものということになるので、ステップS908(a)及び(b)の処理に進む。
【0147】
第3テーブル113と第4テーブル114とに同一のユーザ情報を指し示すポインタがあれば、CPU11は、第3テーブル113と第4テーブル114とから辿り着くことができた全てのユーザ情報(ユーザデータベース107のレコード)に含まれる交換用バーコード情報をチェックする(ステップS906)。そして、この中にステップS903(a)及び(b)で求めた剰余cと剰余dとが両方とも一致するものがあるかどうかを判定する(ステップS907)。剰余cと剰余dの両方が一致する交換用バーコード情報があれば、ステップS901の処理に戻り、交換用バーコードの発行をやり直しさせる。剰余cと剰余dとの両方が一致するバーコード情報がなければ、ステップS901で生成した交換用バーコードは未発行のものということになるので、ステップS908(a)及び(b)の処理に進む。
【0148】
ステップS908(a)では、CPU11は、第3テーブル113のうちの剰余cに対応する記憶位置に、ユーザデータベース107に登録した当該ユーザのユーザ情報を指し示すポインタを登録する。さらに、当該ユーザについてのユーザデータベース107中にレコードに交換用バーコード情報を新たに追加し、剰余cの値としてステップS903(a)で求めた値を登録する。また、ステップS908(b)では、CPU11は、第4テーブル114のうちの剰余dに対応する記憶位置に、ユーザデータベース107に登録した当該ユーザのユーザ情報を指し示すポインタを登録する。さらに、当該ユーザについてのユーザデータベース107中にレコードに交換用バーコード情報を新たに追加し、剰余dの値としてステップS903(b)で求めた値を登録する。
【0149】
ステップS908(a)または(b)において、ユーザデータベース107の該当位置に他のユーザのユーザ情報を指し示すポインタが登録されていた場合は、リストでつなぐなどの手法により、当該ユーザのユーザ情報を指し示すポインタも同じ位置に重複して登録する。
【0150】
ステップS908(a)及び(b)の処理が終了すると、CPU11は、当該ユーザ情報のレコードに新たに作成した交換用バーコード情報について、発行日時及びポイントを登録する(ステップS909)。CPU11は、ステップS441の交換要求時に送られてきた固有バーコードを暗号鍵として用いて、ステップS901で生成した交換用バーコードの画像データを暗号化する(ステップS910)。
【0151】
CPU11は、ステップS910で暗号化した交換用バーコードの画像パターンを、通信装置15から要求元の携帯電話機3に送信する(ステップS911)。CPU11は、交換用バーコードの画像パターンの送信が完了した時点で、その交換用バーコードの画像パターンを破棄する(ステップS912)。そして、このフローチャートの処理を終了する。
【0152】
図22は、ポイント交換処理で提供される交換用バーコードの表示及び読み取りに関する処理を示すフローチャートである。この処理は、図12のポイント交換処理におけるステップS404及びS405、並びにステップS421乃至S423の処理に代わって行われる。携帯電話機3で交換用バーコードを受信した場合(ステップS403の判定結果がYES)、この交換用バーコードはステップS910において当該携帯電話機3の固有バーコードを暗号鍵として用いて暗号化されているので、CPU31は、固有バーコードを復号鍵としても用いて復号化する(ステップS1001)。
【0153】
携帯電話機3のユーザは、入力装置34を操作することで、この復号化された交換用バーコードを表示装置35に表示させて、その携帯電話機3をポイントを商品に交換しようとする加盟店の店員に提示する(ステップS1002)。加盟店の店員は、携帯電話機3の表示装置35に表示された交換用バーコードをバーコード読み取り装置24に読み取らせる(ステップS1021)。そして、ステップS424の処理では、バーコード読み取り装置24で読み取られたままの交換用バーコードの画像データが、店舗端末装置2からサーバ装置1に送られることとなる。
【0154】
図23は、図21の交換用バーコード発行処理において発行され、携帯電話機3に表示されて店舗端末装置2で読み取られた交換用バーコードの認証処理を示すフローチャートである。このフローチャートの処理は、図13のポイント交換処理におけるステップS448の処理に代わって実行される。
【0155】
CPU11は、ステップS447の処理において店舗端末装置2から交換用バーコードの画像パターンを受信すると、これをを所定の方法で数値化し、数値化した交換用バーコード値を変数Yに代入する(ステップS1101)。ここで交換用バーコードの画像パターンを数値化する方法は、ステップS902における方法と同じである。CPU11は、数値化した交換用バーコード値YがステップS901で生成可能な交換用バーコードの範囲にあるかどうかを判定する(ステップS1102)。交換用バーコード値Yが生成可能な交換用バーコードの範囲になければ、ステップS453の処理へと進む。
【0156】
交換用バーコート値Yが生成可能な交換用バーコードの範囲にあれば、CPU11は、交換用バーコード値Yを数値Cで除算した剰余cを求め(ステップS1103(a))、交換用バーコード値Yを数値Dで除算した剰余dを求める(ステップS1103(b))。CPU11は、第3テーブル113のうちの剰余cに対応する記憶位置に登録されているポインタを全て取り出し(ステップS1104(a))、第4テーブル114のうちの剰余dに対応する記憶位置に登録されているポインタを全て取り出す(ステップS1104(b))。
【0157】
CPU11は、第3テーブル113から取り出したポインタと第4テーブル114から取り出したポインタとを比較し、ユーザデータベース107に登録されているユーザ情報のうちで同一のユーザ情報を指し示すものがあるかどうかを判定する(ステップS1105)。第3テーブル113と第4テーブル114とに同一のユーザ情報を指し示すポインタがなければ、ステップS447で受信した交換用バーコードは未発行のものということになるので、ステップS453の処理へと進む。
【0158】
第3テーブル113と第4テーブル114とに同一のユーザ情報を指し示すポインタがあれば、CPU11は、第3テーブル113と第4テーブル114とから辿り着くことができた全てのユーザ情報(ユーザデータベース107のレコード)に含まれる交換用バーコード情報をチェックする(ステップS1106)。そして、この中にステップS903(a)及び(b)で求めた剰余cと剰余dとが両方とも一致するものがあるかどうかを判定する(ステップS1107)。
【0159】
剰余cと剰余dとの両方が一致するバーコード情報がなければ、ステップS447で受信した交換用バーコードは未発行のものということになるので、ステップS453の処理へと進む。一方、剰余cと剰余dとの両方が一致するバーコード情報があった場合には、ステップS447で受信した交換用バーコードは、当該ユーザが正当に所有するものであると認証できるので、ステップS449の処理に進む。
【0160】
以上説明した変形例では、サーバ装置1は、固有バーコードを発行する際に、第1テーブル111及び第2テーブル112のバーコード値Xから求めた剰余a、bに対応する記憶位置に、当該固有バーコードに対応したユーザを指し示すポインタを登録している。店舗端末装置2または携帯電話機3から固有バーコードの画像パターンを受信した場合、これを数値化して求めた剰余a、bに従って第1テーブル111及び第2テーブル112を参照して、固有バーコードが正当なものであるかどうかの認証を行っている。すなわち、固有バーコード同士の照合を行うことなく、演算処理と記憶内容の参照とによって、固有バーコードとユーザとの対応付けを高速に行うことができる。
【0161】
また、交換用バーコードについては、固有バーコードと同様の処理に加えて、剰余cと剰余dとの両方が一致する交換用バーコード情報があるかどうかについてもチェックしているが、交換用バーコードの画像パターン同士を照合するのに比べれば、この処理も比較的短時間で済む。すなわち、交換用バーコード同士の照合を行うことなく、演算処理と記憶内容の参照とによって、受信した交換用バーコードがどのユーザに属するものであるか、また、その発行日時、ポイント及び使用済みであるかどうかといったことを特定するまでの処理を高速に行うことができる。
【0162】
固有バーコード値Xを除算する除数となる数値A及びBの最小公倍数は、バーコード値がとり得る値の最大値と最小値との差よりも大きいという関係がある。異なるバーコード値では、剰余aとbとの両方が一致することがないので、ユーザデータベース107に登録された各ユーザのユーザ情報へは、他人のバーコードに基づいて第1テーブル111と第2テーブル112との両方から辿り着くことはあり得ない。従って、受信した固有バーコードからユーザを一義的に特定することができる。
【0163】
バーコード同士の照合を行わなくても固有バーコードまたは交換用バーコードについての認証が行えるため、サーバ装置1は、発行した固有バーコードまたは交換用バーコードを携帯電話機3に送信完了した時点で、固有バーコードまたは交換用バーコードを破棄するものとしている。つまり、サーバ装置1の中に発行した固有バーコードまたは交換用バーコードの画像パターンを保存しておく必要が全く必要がない。固有バーコード及び交換用バーコードの画像パターンは、携帯電話機3以外では、他のコンピュータ装置に保存される訳でもない。
【0164】
このように固有バーコード及び交換用バーコードの画像パターンを保存するためのデータベースが必要ない。このため、サーバ装置1に必要な記憶容量を小さくすることができる。バーコードのような画像パターンの情報量は、文字データの情報量に比べて比較的大きくなるため、必要な記憶容量の圧縮のために非常に効果的である。
【0165】
固有バーコード及び交換用バーコードの画像パターンは、ユーザが有する携帯電話機3以外には保存されていないので、例えばサーバ装置1にハッカーが侵入したとしても、各ユーザに付与された固有バーコード及び交換用バーコードの画像パターンが盗み出されることがない。このため、認証を行うための情報として使用される固有バーコード及び交換用バーコードに対して、高度なセキュリティを達成することができる。ユーザにとっても、自分が固有バーコード及び交換用バーコードの管理を怠らない限り、不正に第三者に取得されることがないという安心感を得ることができる。
【0166】
なお、固有バーコード値から固有バーコード値がとり得る値の最小値を減算した値、または固有バーコード値がとり得る値の最大値から数値化した固有バーコード値を減算した値を、数値AまたはBで除算するものとしてもよい。交換用バーコードに関しても、同様である。この場合、固有バーコード値または交換用バーコード値がとり得る値の範囲によっては、被除数がかなり小さくなって、除算の処理が高速化される。
【0167】
また、店舗端末装置2は、バーコード読取装置24で読み取った固有バーコードまたは交換用バーコードの画像パターンを数値化して、その固有バーコード値または交換用バーコード値をサーバ装置1に送るものとしてもよい。店舗端末装置2は、固有バーコード値を数値AとBとでそれぞれ除算した剰余a、bを、或いは交換用バーコード値を数値CとDとでそれぞれ除算した剰余c、dを、サーバ装置1に送るものとしてもよい。
【0168】
また、ユーザデータベース107の固有バーコード情報としては、ステップS703(a)及び(b)で求めた剰余a、bが、交換用バーコード情報としては、ステップS903(a)及び(b)で求めた剰余c、dが、それぞれそのまま登録されるものとしていたが、これらの剰余a、b、c、dは、所定の方法で暗号化した上で、ユーザデータベース107に登録するものとしてもよい。このための暗号鍵及び復号鍵は、サーバ装置1に置かないで、サーバ装置1と接続された別のコンピュータ装置から必要に応じて取得するものとしてもよい。非対称暗号系を適用する場合は、復号鍵のみを別のコンピュータ装置に置いてもよい。
【0169】
固有バーコードの再発行時やステップS906またはS1107の処理では、ユーザデータベース107から剰余a及びb、或いは剰余c及びdを読み出すこととなるが、これらが暗号化されて登録されている場合には、復号化してから次の処理に進めばよい。剰余a、b、c、dを暗号化して登録することで、固有バーコード及び交換用バーコードの復元には復号鍵もなければならないので、さらに安全性が増す。少なくとも復号鍵が別のコンピュータ装置に置かれていれば、サーバ装置1をハッキングしても、これだけでは固有バーコード及び交換用バーコードを復元可能な情報は得られないものとなる。
【0170】
また、固有バーコードに対応した数値をそれぞれ数値A、Bで除算した剰余a、bに対応した第1テーブル111及び第2テーブル112の記憶位置には、ユーザ情報を一義的に特定可能な他の情報(例えば、ユーザID)を登録するものとしてもよい。この場合、剰余a及びbにそれぞれ対応した第1テーブル111及び第2テーブル112の記憶位置に登録された情報に互いに一致するものがあるかどうかを判定することで、その認証を行うことができる。交換用バーコードについても同様である。
【0171】
また、各ユーザが交換用バーコードを一度に1つしか取得できないものとすれば、ユーザデータベース107の交換用バーコード情報として剰余c、dを保存しておく必要はない。この場合、交換用バーコードの発行要求があった場合には、当該ユーザのユーザ情報を指し示すポインタを第3テーブル113及び第4テーブル114から検索し、これを最初に消去する。そして、図21に示したように交換用バーコードを発行すればよい。もっとも、この場合にステップS906及びS907の処理は行われなくなり、ステップS905の判定結果がYESとなった場合には、ステップS901の処理に戻るものとすればよい。
【0172】
さらに、直接アドレス法の適用によって、固有バーコードまたは交換用バーコードとユーザとの対応付けをさらに高速に行えるようにしてもよい。図24は、この変形例を説明する図である。固有バーコードでも交換用バーコードでも同じ手法が適用できるが、ここでは固有バーコードを例として説明する。第1テーブル111’の先頭番地をM、第2テーブル112’の先頭番地をNとしている。第1テーブル111’及び第2テーブル112’の各ワードには、固有バーコードに対応するユーザ情報の先頭番地が格納される。新たに発行した固有バーコードにより衝突が発生した場合には特定値が格納されると共に、当該ワードに対応して、特定値テーブル113が別に設けられる。
【0173】
CPU11は、ランダムに生成した固有バーコードもしくは店舗端末装置2または携帯電話機3から受信した固有バーコードを数値化した固有バーコード値Xを数値Aで除算した剰余aに先頭番地Mを加算したM+a番地を直接アドレスして、第1テーブル111’を参照する。CPU11は、固有バーコード値Xを数値Bで除算した剰余bに先頭番地Nを加算したN+b番地を直接アドレスして、第2テーブル112’を参照する。M+a番地またはN+b番地に特定値が格納されていると、それに対応して設けられた特定値テーブル113を参照する。
【0174】
M+a番地とN+b番地(場合によってはこれらの番地に対応して設けられた特定値テーブル113)とに同じユーザ情報の先頭番地が格納されていれば、認証が可能となる。ユーザデータベース107からのユーザ情報の取り出しも、M+a番地及びN+b番地(場合によってはこれらの番地に対応して設けられた特定値テーブル113)に格納された番地の直接アドレスによって行うことができる。
【0175】
ここまで説明した変形例は、ハッシュ法を応用したものではあるが、ハッシュ関数の選択方法としては上記の方法に限られるものではない。すなわち、任意の複数種類のハッシュ関数によるハッシュ値の計算を行い、各ハッシュ関数に対応して設けられた複数のハッシュテーブルのハッシュ値に対応した記憶位置にユーザ情報を指し示すポインタを登録するようなものであればよい。もっとも、異なる2つのバーコードに対して、少なくとも1種類のハッシュ関数によって計算したハッシュ値は一致しないものとなることが必要である。
【0176】
なお、上記のようなハッシュ法を応用した変形例は、固有バーコードにのみ適用する(すなわち、図21乃至図23のフローチャートの処理は行わない)ものであっても、サーバ装置1のハッキングによるポイントの不正使用を防ぐためには十分な効果を得ることができる。上記の実施の形態において説明したように、交換用バーコードは、有効期限が付されており、ユーザ側で長期間管理されることがない。サーバ装置1がハッキングされて交換用バーコードが盗み出されたとしても、それを有効期限内で使用することは実質的に不可能だからである。
【0177】
上記の実施の形態では、図9〜図13、或いは図19〜図23のフローチャートに示すプログラムは、サーバ装置1のメモリ12、店舗端末装置2のメモリ22、或いは携帯電話機3のROM32に記憶されているものとして説明した。しかしながら、これらのプログラムの全部または一部が、図25に示すような手法を用いて、ハードウェアとは別個に提供されるものであってもよい。
【0178】
図25(a)は、プログラムの提供方法の第1の例を示す。サーバ装置1、店舗端末装置2は、それぞれCD−ROMやDVD−ROMなどのコンピュータ読み取り可能な記録媒体55を駆動し、データを読み取るディスクドライブ51、52をさらに備える。CPU11、21は、それぞれディスクドライブ51、52に記録媒体55に記録されたプログラムを読み取らせ、メモリ12、22にインストールさせるものとすることができる。携帯電話機3は、ROMカード56を挿入し、データを読み取るカードスロット53をさらに備える。CPU31は、カードスロット53を介してROMカード56に記録されたプログラムの命令を順次取り出して、実行するものとすればよい。
【0179】
図25(b)は、プログラムの提供方法の第2の例を示す。サーバ装置1、店舗端末装置2及び携帯電話機3の処理プログラムは、インターネット4上のWebサーバ57が有する固定ディスク装置58に格納されている。サーバ装置1、店舗端末装置2または携帯電話機3からプログラムの送信要求が送られてくると、Webサーバ57は、固定ディスク装置58に格納されたプログラムをデータ信号化し、搬送波59に重畳してインターネット4を介して要求元の装置に返送する。サーバ装置1、店舗端末装置2または携帯電話機3の通信装置15、27、36が搬送波に重畳されて送信されたプログラムを受信すると、CPU11、21、31は、このプログラムをメモり12、22またはROM32にインストールさせるものとすることができる。ここで、携帯電話機3のROM32としては、電気的にデータの書き込み及び消去が可能なフラッシュメモリを適用することができる。
【0180】
上記の実施の形態では、固有バーコードと交換用バーコードとがセットとなって、ポイントの蓄積及び交換のために用いられるものとしていた。もっとも、携帯電話機3に割り当てられた固有バーコードは、交換用バーコードとは独立して、顧客管理などの他の用途にも用いることができる。また、ユーザが所持し、他の商品と交換するポイントは、商品の購入によって蓄積されるものに限らない。
【0181】
このポイントは、ユーザが飛行機に搭乗した距離で蓄積するマイレージであってもよい。このポイントは、パチンコやスロットマシンなどの遊技でユーザが獲得した遊技球やメダルの数によって与えられるものでもよい。このポイントは、ユーザがバナー広告の付されたWebページを閲覧することによって与えられるものであってもよい。
【0182】
このポイントは、プリペイドカードのように、ユーザが予め支払った金銭の額に応じた蓄積させるものであってもよい。つまり、ポイントそのものが金銭価値を示すものであってもよい。図14に示したようにポイントの値がマイナスを示すことを可能とし、所定期間毎にマイナス分の請求書を発行する処理は、ポイントそのものが金銭価値を示すものとした場合に特に有効である。
【0183】
ユーザが蓄積したポイント(マイナスを含む)には、所定の利息を付けたり、一定値に達する毎にボーナスポイントを付したりすることもできる。商品の購入でポイントを蓄積する以外に、友人をユーザとして紹介した場合にボーナスポイントを付することもできる。
【0184】
ユーザが蓄積したポイントは、提供者が予め商品の中から希望の商品を選び、郵送、宅配または加盟店で受け取るものという手法で、商品と交換できるようにしてもよい。ーザが蓄積したポイントは、商品割引クーポンの取得に利用できるようにしてもよい。ユーザが蓄積したポイントは、コンサートの座席などの優先予約ができるようなものとしてしようしてもよい。ポイントそのものが金銭価値を示すものである場合は、ユーザにキャッシュバックすることも可能である。
【0185】
【発明の効果】
以上説明したように、本発明によれば、ユーザがポイントを他の物と交換する際に必要となる識別情報の偽造を防ぐことができると共に、ユーザが有するポイントが不正に他の物に交換されるのを防ぐことができる。
