以下実施の形態を、図面を参照して説明する。図1は通知システムの構成を示す説明図である。通知システム100は通知サーバ1、ユーザ端末2及び配信サーバ3を含む。通知サーバ1、ユーザ端末2、配信サーバ3はネットワークNにより、互いに通信可能に接続されている。
通知サーバ1は宝くじの当落の通知を行うコンピュータである。ユーザ端末2は宝くじを購入したユーザの端末である。また、図1には便宜上、ユーザ端末2を2台記載しているが、1台でも良いし、3台以上でもよい。配信サーバ3は宝くじの当せん番号などを配信するコンピュータである。また、配信サーバ3は情報ポータルの機能も有し、宝くじの発売開始予定日などを記憶している。通知サーバ1は、これらの情報を通知サーバ1やユーザ端末2からの要求に応じて、提供する。
図2は通知サーバのハードウェア構成例を示すブロック図である。通知サーバ1は宝くじの当落判定に関する処理を行う。通知サーバ1はサーバコンピュータ等で構成する。通知サーバ1は、CPU(Central Processing Unit)11、ROM(Read Only Memory)12、RAM(Random Access Memory)13、大容量記憶部14、通信部15及ぶ計時部16を含む。各構成はバスBで接続されている。
CPU11はROM12に記憶された制御プログラム1Pにしたがい、ハードウェア各部を制御する。RAM13は例えばSRAM(Static RAM)、DRAM(Dynamic RAM)又はフラッシュメモリである。RAM13はCPU11によるプログラムの実行時に発生するデータを一時的に記憶する。
大容量記憶部14は、例えばハードディスク又はSSD(Solid State Drive)などである。大容量記憶部14は各種データベース(DB:DataBase)を記憶する。大容量記憶部14はユーザDB141、パターンDB142、くじDB143、車券DB144、馬券DB145、舟券DB146、及び遊技結果DB147を記憶する。また、制御プログラム1Pを大容量記憶部14に記憶してもよい。ユーザDB141…は、通知サーバ1以外に記憶してもよい。例えばデータベースサーバやクラウドストレージに記憶してもよい。
通信部15はネットワークNを介して、ユーザ端末2及び配信サーバ3と通信を行う。また、CPU11が通信部15を用い、ネットワークN等を介して他のコンピュータから制御プログラム1Pをダウンロードし、大容量記憶部14に記憶してもよい。なお、通知サーバ1の機能を複数のサーバコンピュータで提供してもよい。又、通知サーバ1の機能をクラウドサービスにより提供してもよい。
計時部16は時刻又は通知サーバ1が起動してからの経過時間等の時間を計時する。計時部16はCPU11からの求めに応じて、計時結果をCPU11に与える。
図3はユーザ端末のハードウェア構成例を示すブロック図である。ユーザ端末2はノートパソコン、パネルコンピュータ、タブレットコンピュータ、スマートフォン等で構成する。ユーザ端末2は、CPU21、ROM22、RAM23、大容量記憶部24、撮像部25、表示部26、入力部27及び通信部28を含む。各構成はバスBで接続されている。
CPU21はROM22に記憶された制御プログラム2Pにしたがい、ハードウェア各部を制御する。RAM23は例えばSRAM、DRAM又はフラッシュメモリである。RAM23はCPU21によるプログラムの実行時に発生するデータを一時的に記憶する。
大容量記憶部24は、例えばハードディスク又はSSDなどである。大容量記憶部24は各種データを記憶する。
撮像部25は、例えばCCDカメラ又はCMOSカメラ等であり、CCD又はCOMS等を介して入力された光信号を光電変換することにより画像データを取得する。
表示部26は液晶表示装置である。表示部26はデータ処理の結果などを表示する。入力部27はキーボードやマウスである。また、入力部27は表示部26と一体化したタッチパネルディスプレイでもよい。なお、ユーザ端末2は外部の表示装置に表示を行ってもよい。
通信部28はネットワークNを介して、通知サーバ1及び配信サーバ3と通信を行う。また、CPU21が通信部28を用い、ネットワークN等を介して他のコンピュータから制御プログラム2Pをダウンロードし、大容量記憶部24に記憶してもよい。
次に、通知システム100で利用されるデータベースについて、説明する。図4はユーザDBの例を示す説明図である。ユーザDB141はユーザに関する情報を記憶する。ユーザDB141は、ユーザID列、氏名列、年齢列、性別列、職業列、携帯番号列、電子メール列及び通知方法列を含む。ユーザID列はユーザを一意に特定可能なユーザIDを記憶する。氏名列はユーザの氏名を記憶する。年齢列はユーザの年齢を記憶する。性別列はユーザの性別を記憶する。職業列はユーザの職業を記憶する。携帯番号列はユーザの携帯電話の番号を記憶する。電子メール列はユーザの電子メールアドレスを記憶する。通知方法列は宝くじの当落の通知を後日受ける場合に、ユーザが希望する通知方法を記憶する。通知方法は例えば、プッシュ通知、電子メール、アプリケーションである。プッシュ通知はSMS(Short Message Service)を用いた通知である。電子メールは当落の通知を電子メールで行う。アプリケーションはユーザ端末2で通知サーバ1と通信するためのアプリケーションソフトウェアが起動しているときに、アプリケーションソフトウェアの機能を用いて通知を行う方法である。
図5はパターンDBの例を示す説明図である。パターンDB142は宝くじの特徴パターン等の情報を記憶する。パターンDB142を用いて、宝くじの画像から宝くじの番号などを抽出する。パターンDB142は種別ID列、種別列、特徴パターン列、及び抽出範囲列を含む。種別ID列は宝くじの種別を一意に特定可能な種別IDを記憶する。種別列は宝くじの種別を記憶する。種別とは例えば、通常くじ(予め番号が印字されている宝くじ)、ロト、ナンバーズなどである。特徴パターン列はくじの種別を判別するための特徴パターン画像を記憶する。抽出範囲列は特徴パターン画像を基に、宝くじの識別情報を抽出するための座標を記憶する。識別情報は、例えば通常くじであれば、名称、回数、組番号及び番号である。抽出範囲の形状を矩形とした場合、座標は例えば、左上角と右下角の座標である。
図6はくじDBの例を示す説明図である。くじDB143はユーザが所有するくじの番号などを記憶する。くじDB143は、ユーザID列、種別列、名称列、回数列、通称列、単価列、支出列、組列、番号列、タイプ列、当落列、等級列、当せん金列、及び通知列を含む。ユーザID列はユーザIDを記憶する。種別列は宝くじの種別を記憶する。名称列は宝くじの名称を記憶する。回数列は宝くじの回数を記憶する。通称列は宝くじの通称を記憶する。通称とは例えば「お正月○○くじ」である。単価列は宝くじ1枚あたりの支払い額を記憶する。支出列は宝くじを購入するのにユーザが支出した金額を記憶する。組列は宝くじの組番号を記憶する。組番号のない数字選択式宝くじの場合、組列は空白等の値がないことを示す情報を記憶する。番号列は宝くじの番号を記憶する。数字選択式宝くじの場合、番号列はユーザ選択した番号を記憶する。タイプ列は宝くじの申込タイプを記憶する。申込タイプのないナンバーズ以外の種別である宝くじの場合、タイプ列は空白等の値がないことを示す情報を記憶する。当落列は宝くじが当せんしたか否かを記憶する。図6に示す例では、宝くじが当せんした場合、当落列は「当たり」を記憶する。宝くじが当せんしなかった場合、当落列は「ハズレ」を記憶する。等級列は宝くじが当せんした場合、当せんの等級を記憶する。宝くじが1等に当せんした場合、等級列は1を記憶する。当せん金列は宝くじが当せんした場合、当せん金の金額(収入)を記憶する。当せん金列は宝くじが当せんしなかった場合、0を記憶する。通知列は宝くじの当落を購入したユーザに通知したか否かを記憶する。例えば、まだ当落をユーザに通知していない場合、通知列は「未通知」を記憶する。当落を既にユーザに通知している場合、通知列は「通知済」を記憶する。
くじDB143において、抽せん前のように、当落判定がされていない宝くじに対応する当落列、等級列、当せん金列、及び通知列は、空白等の値がないことを示す情報を記憶する。また、くじDB143にはユーザが購入した宝くじのくじ券の情報すべてを記憶することを前提とする。しかし、宝くじの種別がスクラッチの場合、当落はすぐに判明する。そのため、当せんしなかったくじの情報をユーザが登録する可能性は低い。ユーザが当せんした宝くじの情報のみの登録を希望する場合、外れたくじに支出した金額も合わせた購入総額を入力させ、くじDB143の支出列に記憶する。ユーザDB141、パターンDB142及びくじDB143以外のデータベースについては、後述する。
次に、通知サーバ1が行う処理について、説明する。図7はくじ券登録処理の手順例を示すフローチャートである。くじ券登録処理はユーザが宝くじを購入した後、くじ券の内容を通知システム100に登録する場合に実行される処理である。ユーザはユーザ端末2で通知システム100用の制御プログラム2Pを起動し、通知サーバ1にログインする。ユーザはログイン後に表示部26に表示されたメニューから、くじ券登録を入力部27で選択入力する。ユーザはユーザ端末2の撮像部25を用いて、くじ券を撮影する。ユーザ端末2のCPU21は撮像部25から画像を取得し、通信部28を介して通知サーバ1に画像を送信する。ユーザが複数枚のくじ券を登録する場合、複数回撮影を行う。この場合、画像の送信は撮影の都度行ってもよいし、すべてを撮影後にまとめて行ってもよい。ユーザは撮影が終了したら、表示部26に表示されたメニューから、撮影終了を入力部27で選択入力する。終了通知を受けた通知サーバ1のCPU11はユーザ端末2から画像を取得する(ステップS1)。CPU11は処理対象とする画像を選択する(ステップS2)。CPU11はパターンDB142に記憶されている特徴パターンを用いて、画像のパターンマッチングにより、宝くじの種別を判定する(ステップS3)。CPU11は判定種別に対応する抽出範囲を基に、必要な部分画像を切りだし、さらに文字認識技術を用いて、識別情報を抽出する(ステップS4)。CPU11は識別情報に含むくじ情報を一時記憶する(ステップS5)。くじ情報は名称、回数などである。宝くじが全国自治宝くじ、第731回の場合、全国自治、731がくじ情報として記憶される。既に同じ情報が一時記憶されている場合は、追加して記憶はしない。くじ情報はRAM13や大容量記憶部14などに設けた一時記憶領域に記憶される。CPU11は識別情報をユーザIDと対応付けて、くじDB143に記憶する(ステップS6)。CPU11は未処理の画像があるか否かを判定する(ステップS7)。CPU11は未処理の画像があると判定した場合(ステップS7でYES)、処理をステップS2に戻し、未処理の画像に対する処理を行う。CPU11は未処理の画像がないと判定した場合(ステップS7でNO)、CPU11は一時記憶しているくじ情報を選択する(ステップS8)。一時記憶しているくじ情報が複数の場合は、1つの情報(例えば名称と回数とを含む1組の情報)をCPU11は選択する。CPU11は選択したくじ情報に対応する宝くじを購入するために、ログインユーザが幾ら支出したかを算出し、くじDB143の支出列に記憶する(ステップS9)。支出の算出は次のように行う。CPU11は選択したくじ情報及びログインユーザのユーザIDに対応する識別情報が、何レコード分、くじDB143に記憶されているかを集計する。集計した枚数とくじ券1枚当たりの単価とを掛け合わせて、支出を求める。なお、単価が記憶されていない場合は、くじ情報を配信サーバ3に問い合わせて入手し、くじDB143の該当するレコードの単価列に記憶する。CPU11はくじ情報に対応する宝くじが抽せん済であるか否かを判定する(ステップS10)。抽せん済であるか否かは配信サーバ3に問い合わせて判定する。CPU11はくじ情報に対応する宝くじが抽せん済でないと判定した場合(ステップS10でNO)、処理をステップS12に移す。CPU11はくじ情報に対応する宝くじが抽せん済であると判定した場合(ステップS10でYES)、当せん判定を行う(ステップS11)。CPU11は未処理のくじ情報があるか否かを判定する(ステップS12)。CPU11は未処理のくじ情報があると判定した場合(ステップS12でYES)、処理をステップS8に戻し、未処理のくじ情報に対応する処理を行う。CPU11は未処理のくじ情報がないと判定した場合(ステップS12でNO)、当せん判定がされた宝くじがあるか否かを判定する(ステップS13)。判定は例えば一時記憶領域の記憶したフラグにより行う。くじ券登録処理の冒頭でフラグをクリアする。ステップS11の当せん判定処理を実行したら、フラグを立てる。フラグが立っていればステップS13ではYESとなり、フラグがクリアされていればステップS13ではNOとなる。CPU11は当せん判定がされた宝くじがあると判定した場合(ステップS13でYES)、通知処理を実行し(ステップS14)、くじ券登録処理を終了する。CPU11は当せん判定がされた宝くじがないと判定した場合(ステップS13でNO)、抽せんまで待つ必要がある旨の待ちメッセージをユーザ端末2に送信し(ステップS15)、くじ券登録処理を終了する。
図8は当せん判定処理の手順例を示すフローチャートである。当せん判定処理はくじDB143に記憶されている各くじ券が当せんしているか否かを判定する処理である。図7においては、ステップS11に対応する処理である。CPU11は処理対象となる宝くじの当せん番号を取得する(ステップS21)。処理対象となる宝くじの情報(名称、回数等)は当せん判定処理呼び出し時に引数等により渡されるものとする。当せん番号は配信サーバ3に宝くじの情報を送信して取得する。CPU11は宝くじの情報を基に判定対象となるくじ券のレコードをくじDB143から抽出する(ステップS22)。CPU11は抽出したレコードから処理対象とするレコードを選択する(ステップS23)。CPU11は選択したレコードの組、番号等を当せん番号と照合する(ステップS24)。CPU11は照合の結果、くじ券が当せんしているか否かを判定する(ステップS25)。CPU11はくじ券が当せんしていないと判定した場合(ステップS25でNO)、処理をステップS27へ移す。CPU11はくじ券が当せんしていると判定した場合(ステップS25でYES)、当せん実績をくじDB143に記憶する(ステップS26)。ここでは、等級列に当せんした等数を示す数字を記憶する。当せん金列に当せんして得られる当せん金の金額を記憶する。CPU11は当落を当落列に記憶する(ステップS27)。CPU11は未処理のくじ券のレコードがあるか否かを判定する(ステップS28)。CPU11は未処理のくじ券のレコードがあると判定した場合(ステップS28でYES)、処理をステップS23に戻し、未処理のくじ券のレコードに対する処理を行う。CPU11は未処理のくじ券のレコードがないと判定した場合(ステップS28でNO)、当せん判定処理を終了し、処理を呼び出し元に戻す。
図9は通知処理の手順例を示すフローチャートである。通知処理はくじの当落結果をユーザに通知する処理である。通知処理は、図7においては、ステップS14に対応する処理である。通知サーバ1のCPU11は処理対象とするユーザIDを取得する(ステップS41)。処理対象のユーザIDは通知処理が呼び出されるときに、引数等で渡される。CPU11は対象となるくじデータを抽出する(ステップS42)。対象となるくじデータは、対象となるユーザのユーザIDがユーザID列に記憶され、当落列に当落が記憶されており、通知列が未通知になっているレコードである。CPU11は抽出したレコードの中に当せんがあるか否かを判定する(ステップS43)。すなわち、当落列に当たりが記憶されているレコードがあるか否かを判定する。CPU11は抽出したレコードの中に当せんがあると判定した場合(ステップS43でYES)、当せんメッセージを生成する(ステップS44)。当せんメッセージには、「宝くじに当せんしました。」などの当たりを伝える内容を含む。当せんメッセージには、くじの名称、等級、当せん金などを含めてもよい。CPU11は抽出したレコードの中に当せんがないと判定した場合(ステップS43でNO)、落せんメッセージを生成する(ステップS45)。落せんメッセージには、「残念ながら、宝くじに落せんしました。」などの外れたことを伝える内容を含む。CPU11は対象ユーザがログイン中か否かを判定する(ステップS46)。CPU11は対象ユーザがログイン中であると判定した場合(ステップS46でYES)、ユーザ端末2に当せんメッセージ又は落せんメッセージを送信する(ステップS47)。CPU11はくじDB143において、対象となるくじのレコードの通知列に通知済を記憶する(ステップS48)。CPU11は通知処理を終了し、処理を呼び出し元に戻す。CPU11は対象ユーザがログイン中でないと判定した場合(ステップS46でNO)、対象ユーザが希望する通知方法をユーザDB141から取得する(ステップS49)。CPU11は通知方法が電子メールであるか否かを判定する(ステップS50)。CPU11は通知方法が電子メールであると判定した場合(ステップS50でYES)、メッセージを電子メールで送信する(ステップS51)。CPU11は処理をステップS48に移す。CPU11は通知方法が電子メールでないと判定した場合(ステップS50でNO)、通知方法はプッシュ通知であるか否かを判定する(ステップS52)。CPU11は通知方法がプッシュ通知であると判定した場合(ステップS52でYES)、メッセージをプッシュ通知で送信する(ステップS53)。CPU11は処理をステップS48に移す。CPU11は通知方法がプッシュ通知でないと判定した場合(ステップS52でNO)、通知処理を終了し、処理を呼び出し元に戻す。ステップS52でNOとなる場合は、ユーザの希望する通知方法が、通知サーバ1のログイン時である。対象ユーザが次回、通知サーバ1にログインした場合に、通知がされる。この場合に備えて、ステップS44又はS45で生成したメッセージを大容量記憶部14に記憶してもよい。
続いて、抽選日処理について説明する。抽選日処理は宝くじの抽選日に行われる処理である。抽選結果に基づき、当せん判定を行い、くじの購入ユーザに通知を行う。図10は抽選日処理の手順例を示すフローチャートである。通知サーバ1のCPU11は、抽選が行われた宝くじのくじ情報(名称、回数など)を取得する(ステップS61)。CPU11は当せん判定処理を行う(ステップS62)。当せん判定処理は図8に示したとおりである。CPU11は当せん判定したくじを購入したユーザを抽出する(ステップS63)。CPU11はユーザを選択する(ステップS64)。CPU11は選択したユーザを対象に通知処理を行う(ステップS65)。CPU11は未処理のユーザがあるか否かを判定する(ステップS66)。CPU11は未処理のユーザがあると判定した場合(ステップS66でYES)、処理をステップS64に戻し、未処理のユーザに対する処理を行う。CPU11は未処理のユーザがないと判定した場合(ステップS66でNO)、抽選日処理を終了する。
以上のように、本実施の形態においては、宝くじを購入したユーザはくじ券の識別情報の部分を撮影し、通知サーバ1に送信する。宝くじが既に抽せん済みの場合、ユーザはすぐに購入した宝くじの当落を知ることが可能となる。また、抽せん結果が出ていない宝くじについては、抽せんが行われた後に速やかに、通知サーバ1は通知を行う。ユーザは抽せん後、すぐに購入した宝くじの当落を知ることが可能となる。ユーザ端末2がスマートフォンの場合、通知方法をプッシュ通知としていれば、画面がロック画面となっているときや他のアプリケーション実行しているときでも、当落の通知を受け取ることが可能である。
通知サーバ1は複数の画像をユーザ端末2からすべて受信してから処理を行ったが、それに限らない。ユーザ端末2が画像を撮影する度に送信してくる場合、画像を受信する度にステップS1からステップS6の処理を繰り返してもよい。そして、撮影終了をユーザ端末2から受信したら、CPU11はステップS8以降を実行する。
さらに、上述した処理を次のように組み合わせることにより、ユーザは当せんくじ券と落せんしたくじ券とを仕分け可能である。ユーザはユーザ端末2の撮像部25でくじ券の識別情報を撮影し、通知サーバ1に送信する。通知サーバ1は送信された画像を基に、くじ券の当せん判定を行い、当落をユーザ端末2に返信する。ユーザ端末2は当落を表示部26に表示する。ユーザは表示された当落により、くじ券の仕分けが行うことが可能となる。
以上の説明では宝くじについて説明したが、競輪やオートレースの車券、競馬の馬券、競艇の舟券についても、同様な処理により、当落の判定を行い、ユーザに通知することが可能である。
図11は車券DBの例を示す説明図である。車券DB144はユーザが購入した車券の情報を記憶する。車券DB144はユーザID列、日付列、開催場所列、グレード列、種目列、レース番号列、名称列、賭式列、番号列、入金額列、当落列、払戻金列及び払戻総額列を含む。ユーザID列はユーザIDを記憶する。日付列はレースの開催日を記憶する。開催場所列は開催レース場の名称を記憶する。グレード列はレースのグレードを記憶する。グレードは例えばG1、G2などである。種目列はレースの種目を記憶する。レース番号列はレース番号を記憶する。名称列はレースの名称を記憶する。賭式列はユーザが選択した賭式を記憶する。賭式とは、例えば3連単や2枠複である。3連単は車番で1・2・3着を着順どおりに予想し、的中させる賭式である。2枠複は枠番で着順にかかわらず1〜2着を予想し、的中させる賭式である。番号列はユーザが賭けた番号を記憶する。賭式が3連単であれば、車番を3つ記憶する。2枠複であれば、枠番を2つ記憶する。入金額列は賭けた金額を記憶する。当落列は賭けが当たったか否かを記憶する。払戻金列は払戻金額を記憶する。払戻金額は、当たった場合において、所定の賭金に対して払い戻される金額を記憶する。例えば、100円賭けた場合に払い戻される金額を記憶する。払戻総額列はユーザが払い戻しにより得た払戻金の総額を記憶する。払戻金の総額は入金額と払戻金から算出可能である。
図12は馬券DBの例を示す説明図である。馬券DB145はユーザが購入した馬券の情報を記憶する。馬券DB145はユーザID列、日付列、開催場所列、回数列、日列、レース番号列、グレード列、名称列、賭式列、番号列、入金額列、当落列、払戻金列及び払戻総額列を含む。ユーザID列はユーザIDを記憶する。日付列は開催日を記憶する。開催場所列はレース開催場所の競馬場名を記憶する。回数列は開催回数を記憶する。日列は開催回において、何日目であるかを示す数字を記憶する。レース番号列はレース番号を記憶する。グレード列はレースのグレードを記憶する。名称列はレースの名称を記憶する。賭式列はユーザが選択した賭式を記憶する。番号列、入金額列、当落列、払戻金列、払戻総額列はそれぞれ車券DB144の同名の列と同様であるから、説明を省略する。
図13は舟券DBの例を示す説明図である。舟券DB146はユーザが購入した舟券の情報を記憶する。舟券DB146はユーザID列、レース場列、グレード列、日付列、レース番号列、回数列、名称列、式別列、番号列、入金額列、当落列、払戻金列及び払戻総額列を含む。ユーザID列はユーザIDを記憶する。レース場列はレース開催場所のレース場の名称を記憶する。グレード列はレースのグレードを記憶する。日付列は開催日を記憶する。レース番号列はレース番号を記憶する。回数列は開催回数を記憶する。名称列はレースの名称を記憶する。式別列はユーザが選択した式別を記憶する。式別は、車券、馬券の賭式と同様な概念である。番号列、入金額列、当落列、払戻金列、払戻総額列はそれぞれ車券DB144の同名の列と同様であるから、説明を省略する。
次に、くじ券及びくじ券以外の車券等を登録する処理について、説明する。図14及び図15は登録処理の手順例を示すフローチャートである。図14及び図15に示す処理は、図7を用いて説明したくじ券登録処理を拡張したものである。以下の説明では、くじ券登録処理と異なる点を主として説明する。
通知サーバ1のCPU11は、券種、入力形式を取得する(ステップS71)。券種とは、例えば、くじ券、車券、馬券、舟券である。入力形式は画像入力、テキスト入力などである。CPU11は入力形式が画像入力か否かを判定する(ステップS72)。CPU11は入力形式が画像入力と判定した場合(ステップS72でYES)、ユーザ端末2から画像を取得する(ステップS73)。CPU11は処理対象とする画像を選択する(ステップS74)。CPU11は券種がくじ券か否かを判定する(ステップS75)。CPU11は券種がくじ券であると判定した場合(ステップS75でYES)、宝くじの種別を判定し(ステップS76)、処理をステップS77に進める。CPU11は券種がくじ券でないと判定した場合(ステップS75でNO)、識別情報を抽出する(ステップS77)。くじ券以外の車券等の識別情報を抽出するための特徴パターン等の情報は、くじ券と同様に、パターンDB142等に記憶しておく。なお、発売場所により、券面のレイアウトが異なる場合は、宝くじの種別判定と同様に発売場所の判定を行う。CPU11はくじ、レース情報を一時記憶する(ステップS78)。既に同じ情報が一時記憶されている場合は、追加して記憶はしない。CPU11は識別情報を記憶する(ステップS79)。識別情報は車券であれは、開催場所、種目、レース番号、賭式、番号、入金額など、当落判定に必要な情報及びユーザが支出した金額の情報である。車券の識別情報は車券DB144に記憶する。CPU11は未処理の画像があるか否かを判定する(ステップS80)。CPU11は未処理の画像があると判定した場合(ステップS80でYES)、処理をステップS74に戻す。CPU11は未処理の画像がないと判定した場合(ステップS80でNO)、処理をステップS84に進める。ステップS73、S74、S76からS80は、それぞれ図7のステップS1、S2、S3からS7と同様な処理である。
CPU11は入力形式が画像入力でないと判定した場合(ステップS72でNO)、識別情報を入力するための入力画面を、ユーザ端末2へ出力する(ステップS81)。ユーザはユーザ端末2において、表示部26に表示された入力画面に、入力部27を用いて購入した券の識別情報を入力する。入力が完了したら、通知サーバ1に送信する。CPU11はユーザ端末2から送信された識別情報のうち、くじ、レース情報を一時記憶する(ステップS82)。既に同じ情報が一時記憶されている場合は、追加して記憶はしない。CPU11は識別情報を券種に応じたデータベースに記憶する(ステップS83)。CPU11は処理をステップS84に進める。CPU11は一時記憶しているくじ、レース情報を1つ選択する(ステップS84)。CPU11は選択したくじ、レース情報に対応する券を購入するために、ユーザが幾ら支出したかを算出し、券種に対応するデータベースの支出列に記憶する(ステップS85)。支出額の算出方法は、図7のステップS9と同様である。図15に移り、CPU11はくじ券の当落が既に判明しているか否かを判定する(ステップS86)。車券、馬券、舟券などの場合は、レースが終了し払戻金が確定しているか、配信サーバ3に問い合わせて、判定する。CPU11はくじ券の当落が既に判明していると判定した場合(ステップS86でYES)、当落判定を行う(ステップS87)。当落判定処理は、くじ券以外の券においても、図8で参照して説明したくじ券の当せん判定と同様な処理であるので、説明を省略する。CPU11はくじ券の当落が既に判明していないと判定した場合(ステップS86でNO)、処理をステップS88に移す。CPU11は未処理のくじ、レース情報があるか否かを判定する(ステップS88)。CPU11は未処理のくじ、レース情報があると判定した場合(ステップS88でYES)、処理をステップS84に戻す。CPU11は未処理のくじ、レース情報がないと判定した場合(ステップS88でNO)、当落判定を実行した否かを判定する(ステップS89)。CPU11は当落判定を実行したと判定した場合(ステップS89でYES)、当落を通知し(ステップS90)、登録処理を終了する。通知の処理は、くじ券以外の券においても、図9で参照して説明したくじ券の通知と同様な処理であるので、説明を省略する。CPU11は当落判定を実行していないと判定した場合(ステップS89でNO)、当落が判明するまで待つ必要がある旨の待ちメッセージをユーザ端末2に送信し(ステップS91)、登録処理を終了する。
以上のように、車券DB144、馬券DB145及び舟券DB146は、各レースを識別するための情報、及びユーザが賭けた内容と入金額を記憶する。それにより、宝くじの場合と同様に、レース結果(宝くじの抽選結果に相当)及び払戻金(当せん金に相当)と車券DB、馬券DB及び舟券DBの番号情報とを対照することにより、賭けの当たりを判定し、結果を通知することが可能となる。
ここで、通知画面の例を示す。図16は当せん通知画面の例を示す説明図である。当せん通知画面は2つの画面を含む。図16Aは第1画面を示し、図16Bは第2画面を示している。第1画面は抽選結果が出ていることを示す。第1画面はくじ表示領域216、参照ボタン262及び保留ボタン263を含む。くじ表示領域216には抽選結果が出ているくじの名称、回数等を表示する。参照ボタン262は抽選結果を表示する第1画面へ遷移するためのボタンである。参照ボタン262をマウスクリックなどで操作すると、第2画面に遷移する。保留ボタン263は結果表示を保留するボタンである。保留ボタン263をマウスクリックなどで操作すると、第2画面以外の画面に遷移する。第2画面は、当せん本数表示領域264と当せん金表示領域265とを含む。当せん本数表示領域264は、当せんした宝くじの等級と本数とを表示する。当せん金表示領域265には、当せん金の合計を表示する。
図17は当落一覧画面の例を示す説明図である。当落一覧画面は一覧表266を含む。必要に応じて、当落一覧画面にはスクロールバー267が表示される。一覧表266はくじ券毎に当落が表示される。当せんしたくじについては、当せんした等級と当せん金とが表示される。ユーザ購入したくじ券の枚数が多く、1画面に収まらない場合は、スクロールバー267が表示される。スクロールバー267を操作することにより、表示されていないくじ券の当落を確認可能となる。
また、通知の機能としては、宝くじの発売予定や競輪、オートレース、競馬、競艇などの公営競技の開催予定を通知してもよい。図18は予定通知処理の手順例を示すフローチャートである。CPU11は配信サーバ3から宝くじの発売予定を取得する(ステップS101)。CPU11は取得した予定の中で、発売予定開始日が所定日前(例えば、3日前)のものがあるか判定する(ステップS102)。CPU11は発売予定開始日が所定日前のものがあると判定した場合(ステップS102でYES)、通知メッセージを生成する(ステップS103)。通知メッセージは例えば、「年末○○宝くじ、いよいよ3日後の27日から発売開始!!」である。CPU11は発売予定開始日が所定日前のものがないと判定した場合(ステップS102でNO)、販売最終日前日であるか否かを判定する(ステップS104)。CPU11は、販売最終日前日であると判定した場合(ステップS104でYES)、通知メッセージを生成する(ステップS105)。通知メッセージは例えば、「年末○○宝くじ、とうとう明日が販売最終日。お買い忘れではありませんか。」である。CPU11は対象ユーザを抽出する(ステップS106)。抽出条件は、過去に宝くじを購入したことのあるユーザである。これは、くじDB143に記憶されている過去のデータを利用すればよい。最終日前の通知の場合、くじDB143を検索し、既に宝くじを購入済みのユーザは通知対象から外してもよい。
CPU11は販売最終日前日でないと判定した場合(ステップS104でNO)、配信サーバ3からレース開催予定を取得する(ステップS107)。CPU11は取得した予定の中で、開催初日から所定日前(例えば、3日前)のものがあるか判定する(ステップS108)。CPU11は開催初日から所定日前のものがあると判定した場合(ステップS108でYES)、通知メッセージを生成する(ステップS109)。通知メッセージは例えば、「×△選手権レース、いよいよ3日後の27日から開催!!」である。CPU11は開催初日から所定日前のものがないと判定した場合(ステップS108でNO)、開催最終日前日であるか否かを判定する(ステップS110)。CPU11は、開催最終日前日であると判定した場合(ステップS110でYES)、通知メッセージを生成する(ステップS111)。通知メッセージは例えば、「×△選手権レース、とうとう明日が開催最終日。投票はお済みですか。」である。CPU11は対象ユーザを抽出する(ステップS112)。抽出条件は、過去に券を購入したことのあるユーザである。これは、車券DB144に記憶されている過去のデータを利用すればよい。最終日前の通知の場合、車券DB144を検索し、既に投票済みのユーザは通知対象から外してもよい。ステップS107からステップS112までの処理は、競技別に行う。
CPU11は対象ユーザを整理する(ステップS113)。マージの際、通知メッセージ毎に、対象ユーザをグループ分けする。例えば、宝くじの通知のみが対象のグループ、宝くじと競馬の通知が対象のグループは別になる。CPU11は、グループ毎にメッセージをマージする(ステップS114)。CPU11はメッセージを配信し(ステップS115)、予定通知処理を終了する。CPU11は、開催最終日前日でないと判定した場合(ステップS110でNO)、予定通知処理を終了する。
予定通知機能により、宝くじ、車券、馬券、舟券の販売促進が行える。通知対象は過去に購入履歴のあるユーザとしたが、当せん金が大きな宝くじの場合は、宝くじが購入したことのないユーザに通知してもよい。車券、馬券、舟券については、GIレースのようにグレードの高いレースの場合は、これらの券を購入したことのないユーザに通知してもよい。
くじDB143、車券DB144、馬券DB145、舟券DB146に蓄積したデータを活用することにより、ユーザの収支を管理可能である。図19は算出処理の手順例を示すフローチャートである。CPU11は処理対象となるユーザのユーザIDを取得する(ステップS121)。CPU11は算出する期間を取得する(ステップS122)。期間は全期間、過去1年間、過去半年、過去3ヶ月、過去1ヶ月などである。CPU11は算出対象とする券種や算出内容を取得する(ステップS123)。算出内容とは、収支、損益、累積損益などである。CPU11は算出を行う(ステップS124)。CPU11は結果出力する(ステップS125)。複数の期間、複数の券種、複数の算出内容で算出を行う場合は、ステップS124、S125を必要回、繰り返す。ステップS125の結果出力については、グラフ等で複数の結果を1つまとめられる場合は、まとめてもよい。
図20は収支状況グラフの例を示す説明図である。縦軸は金額であり、単位は円である。横軸は日付である。折れ線グラフは日毎の損益を示す。棒グラフは累積の収支を示す。収支は、宝くじ、競輪、競馬、競艇毎に計算して、それぞれについて図20に示すグラフを作成表示してもよい。また、宝くじ、競輪、競馬、競艇の区別なく集計した上で、図20に示すグラフをそれぞれ表示してもよい。
図21は支出状況のグラフの例を示す説明図である。図15のように、ジャンル毎に支出状況を一目で確認可能となる。
上述の予定通知処理において、ユーザの収支や支出状況を活用してもよい。例えば、宝くじの販売予定は宝くじをよく買うユーザに配信するが、宝くじの収支が悪い場合は、ユーザ住所から近い場所で行われるレースの開催予定を配信してもよい。レース開催予定については、ユーザがよく賭けているレースのレース開催場所の予定だけでなく、G1レースによく賭けるユーザには、全国のG1レースの情報を配信する。競艇しかしないユーザであっても、G1レースによく賭けるユーザには、他の競技、例えば競馬のG1レースの開催予定を配信してもよい。
収支を管理する内容として、遊技の結果を加えてもよい。図22は遊技結果DBの例を示す説明図である。遊技結果DB147はユーザの遊技結果(遊技の収支)を記憶する。遊技結果DB147はユーザID列、日付列、ホール列、区別列、種別列、機種名列、貸し料金列、投入金額列及び換金額列を含む。ユーザID列はユーザIDを記憶する。日付列は遊技した日付を記憶する。ホール列は遊技した遊技ホールの名称を記憶する。区別列は遊技した遊技機がパチンコであったか、スロットであったかを記憶する。種別列は遊技した遊技機のパチンコ機又はスロット機における種別を記憶する。機種名列は遊技した遊技機の名称を記憶する。貸し料金列は遊技球又は遊技メダルの貸出料金を記憶する。投入金額列は遊技に投入した金額を記憶する。換金額列は遊技終了後に特殊景品を交換所で売却して得た金額を記憶する。
遊技結果DB147の記憶する内容は、ユーザ端末2を用いてユーザが行う。遊技結果DB147を用いることにより、宝くじと同様に収支を管理することが可能なる。遊技結果以外に、ユーザが有する金融商品の損益を管理するようにしてもよい。金融商品とは、株式、投資信託、FX、仮想通貨などである。金融商品の損益は、取得価額と評価価額から算出する。
さらに、また、ユーザの支出動向に応じて、ユーザに広告配信を行ってもよい。図23は広告配信処理の手順例を示すフローチャートである。CPU11は配信する広告と配信条件を取得する(ステップS131)。CPU11は配信条件にユーザの属性条件を含むか判定する(ステップS132)。属性条件とは、例えば、20代女性である。CPU11は配信条件にユーザの属性条件を含むと判定した場合(ステップS132でYES)、ユーザDB141を参照して、対象ユーザを抽出する(ステップS133)。CPU11は配信条件にユーザの属性条件を含まないと判定した場合(ステップS132でNO)、処理をステップS134に移す。CPU11は配信条件に支出動向を含むか判定する(ステップS134)。支出動向とは、例えば、1ヶ月間に競馬に10万円以上投資するユーザである。CPU11は配信条件に支出動向を含むと判定した場合(ステップS134でYES)、必要なデータベースを参照して、対象ユーザを抽出する(ステップS135)。上述の例では、馬券DB145を参照して、ユーザ毎、1ヶ月平均の入金額を算出する。そして、算出した平均額が10万円以上のユーザを抽出する。CPU11は配信条件に支出動向を含まないと判定した場合(ステップS134でNO)、処理をステップS136に移す。CPU11は配信条件に損益状況を含むか判定する(ステップS136)。損益状況とは、例えば、3ヶ月間の競馬の損益が儲け50万円以上のユーザである。CPU11は配信条件に損益状況を含むと判定した場合(ステップS136でYES)、必要なデータベースを参照して、対象ユーザを抽出する(ステップS137)。上述の例では、馬券DB145を参照して、ユーザ毎に直近3ヶ月の損益を算出する。そして、算出した損益が+50万円以上のユーザを抽出する。CPU11は配信条件に損益状況を含まないと判定した場合(ステップS136でNO)、処理をステップS138に移す。CPU11は対象ユーザを整理する(ステップS138)。整理とは、ステップS133、S135、S137で抽出した各ユーザの集合の和集合や積集合を生成することである。例えば、20代女性で、競馬に1ヶ月に10万円以上投資し、3ヶ月で50万以上儲けたユーザの場合は、3つの集合(ステップS133、S135、S137それぞれで生成した集合)の積集合となる。また、20代女性で、競馬に1ヶ月に10万円以上投資するか、3ヶ月で50万以上儲けたユーザであれば、ステップS135とS137とで生成した集合の和集合を求め、求めた和集合とステップS133で生成した集合との積集合が最終的な集合である。CPU11は対象ユーザに広告を配信し(ステップS139)、広告配信処理を終了する。
広告配信の例としては次のようなものが考えられる。20代女性で、競馬に1ヶ月に10万円以上投資するか、3ヶ月で50万以上儲けたユーザに、場外馬券売り場近くのアクセサリー店の広告を軽信する。定期的にユーザが良く行くと推測される競馬場周辺の飲食店の情報を配信する。高額な当せん金を得たユーザには、投資先として金融商品についての広告を配信する。さらに、同じ属性をもったユーザ毎の支出状況や収支状況を分析し、出力してもよい。例えば、支出額を見ることにより、可処分所得の額を推測することが可能となる。そして、その額に応じた商品やサービスの広告を配信すれは、商品購入やサービス利用を促進することが可能となる。
(はがきくじ)
通知システム100は、上述した宝くじ以外のくじへの適用も可能である。ここでは、くじ引番号付き郵便はがきについて述べる。当該はがきの例として、年賀はがき(お年玉付郵便はがき)の場合を説明するが、夏のおたより郵便はがきかもめ〜る(登録商標)の場合も、同様である。
図24はくじ付きはがきDBの例を示す説明図である。くじ付きはがきDB148はくじ引番号付き郵便はがきの情報を記憶する。くじ付きはがきDB148は例えば、大容量記憶部14に記憶する。くじ付きはがきDB148は、ユーザID列、種別列、年列、送受列、メモ列、組列、番号列、当落列、等級列及び通知列を含む。ユーザID列ははがきを送った又は受け取ったユーザのユーザIDを記憶する。種別列はくじ引番号付き郵便はがきの種別を記憶する。種別は例えば、年賀、かもめーるである。年列はくじ引番号付き郵便はがきが発売された年を記憶する。送受列は送受の区別を記憶する。例えば、ユーザが送ったはがきについては、送受列は送を記憶する。ユーザが受け取ったはがきについては、送受列は受を記憶する。メモ列はユーザがはがきを送った相手、又はユーザがはがきを受け取った相手を記憶する。組列はくじ引番号に付された組を記憶する。番号列はくじ引番号の番号を記憶する。当落列はくじ引の当落を記憶する。例えば、当せんの場合には当を、落せんの場合には落を、当落列は記憶する。等級列は当落した場合に、当せん級を記憶する。通知例は当落の通知を行ったか否かを記憶する。
ユーザはくじ引番号付き郵便はがきを購入した際、又は投函前に、くじ引番号を登録する。くじ引き番号を登録する処理は、図7を用いて説明したくじ券登録処理と同様であるから、説明を省略する。また、ユーザはくじ引番号付き郵便はがきを受領した際、くじ引番号を登録する。くじの抽選日になると、当落の判定処理が実行された結果が通知される。くじ引き番号の当せん判定処理は、図8を用いて説明した当せん判定処理と同様であるから、説明を省略する。当せん結果の通知処理は、図9を用いて説明した通知処理と同様であるから、説明を省略する。抽選日に行う処理は、図10で示した抽選日処理と同様であるから、説明を省略する。ユーザがくじ引番号を登録したのが、抽選日後の場合、速やかに当せん判定処理、通知処理が実行される。
図25は当せん通知画面の他の例を示す説明図である。当せん通知画面は第1当落一覧表2681と第2当落一覧表2682とを含む。第1当落一覧表2681はユーザが受領したはがきの当落が表示される。第2当落一覧表2682はユーザが差し出したはがきの当落が表示される。
当せん通知画面は一覧表示に限らない。全てのはがきの当落ではなく、ユーザが受け取った又は送ったはがきの中で、当せんがあったか否かの表示でもよい。ユーザが受け取ったはがきの中で当せんがあった場合、当せんした賞品を3D(three−dimensional) VR(Virtual Reality)技術により表示してもよい。複数の賞品から選べる場合には、個々の賞品を数秒ずつ繰り返し表示しても良い。賞品の3D画像データは通知サーバ1又ははがき販売者のサーバから取得する。
くじ引番号付き郵便はがきの場合、以下の効果を奏する。ユーザは受け取ったはがきについているくじが当せんしているか否かを迅速に調べることが可能となる。抽選日前にくじを登録しておけば、当せん番号が発表された後に速やかに当落を知ることが可能となる。また、登録時に送付人の情報を登録した場合、当せんしたはがきを送った人も通知可能となるので、当せんしたはがきを容易に見つけることが可能となる。また、ユーザは他者に送るはがきのくじ番号を投函前に登録しておけば、誰に送ったはがきが当せんしたかを知ることが可能となる。
当せんした場合に、賞品を3D VR(3次元の仮想現実空間)で表示することにより、当せんした場合にユーザにより大きな喜びを与えることが期待できる。
(結果表示の他の例)
宝くじや年賀はがきの結果表示の他の例について説明する。ユーザに当せんへの期待を抱かせるように、結果表示を動画で行ってもよい。図26は当せん通知画面の他の例を示す説明図である。図26は宝箱を用いた例である。結果を通知する際に、まず図26Aに示すように閉じた宝箱を表示する。ユーザが画面をタッチするなどのアクションを行うと、鍵を開けて宝箱が開く動画を表示する。宝箱が開いた後、宝箱の状態で当落を表現する。図26Bは宝くじが当せんした場合の表示の例である。宝箱に金貨が入っている表示をすることで、当せんしたことを表している。当せん金の大小で金貨の量を変えても良い。図26Cは年賀はがきのくじが当せんした場合の例である。宝箱が開いた後に、当せんした賞品が宝箱から現れる。賞品が複数のものから選択できる場合は、選択できる賞品を所定時間毎に変えて表示しても良い。動画表示を3D VR表示としてもよい。
(レース動画表示)
車券等を登録して当たり・外れの結果を表示するに際して、レース動画を表示しても良い。図27は登録通知処理の手順例を示すフローチャートである。登録通知処理は図14及び図15に示した登録処理と類似する処理である。
ユーザはユーザ端末2の撮像部25で車券を撮影し、通知サーバ1に送信する通知サーバ1のCPU11は、ユーザ端末2から画像を取得する(ステップS151)。CPU11は処理対象とする画像を選択する(ステップS152)。CPU11は車券情報を抽出する(ステップS153)。開催場所、種目、レース番号、賭式、番号額など、当落判定に必要な情報である。CPU11は開催場所、種目、レース番号のレース情報を一時記憶する(ステップS154)。CPU11は識別情報を記憶する(ステップS155)。識別情報は車券情報及びユーザが支出した金額の情報である。車券の識別情報は車券DB144に記憶する。CPU11は未処理の画像があるか否かを判定する(ステップS156)。CPU11は未処理の画像があると判定した場合(ステップS156でYES)、処理をステップS152に戻す。CPU11は未処理の画像がないと判定した場合(ステップS156でNO)、一時記憶しているレース情報を1つ選択する(ステップS157)。CPU11は車券の当たり・外れの結果が判明済みか否かを判定する(ステップS158)。CPU11は、レースが終了し払戻金が確定しているか、配信サーバ3に問い合わせて、判定する。CPU11は結果判明済みでないと判定した場合(ステップS158でNO)、待ちメッセージをユーザ端末2に送信し(ステップS163)、処理をステップS161へ移す。CPU11は結果判明済みと判定した場合(ステップS158でYES)、当たり・外れの判定を行う(ステップS159)。CPU11はレース動画と判定結果をユーザ端末2に送信する(ステップS160)。CPU11は未処理のレース情報があるか否かを判定する(ステップS161)。CPU11は未処理のレース情報があると判定した場合(ステップS161でYES)、処理をステップS157に戻す。CPU11は未処理のレース情報がないと判定した場合(ステップS161でNO)、終了をユーザ端末2に通知し(ステップS162)、処理を終了する。
終了の通知を受けたユーザ端末2は、結果判明済みのレースについては、レース動画を再生し、再生後に当たり・外れを表示する。結果判明済みでないレースについては、待ちメッセージを表示する。待ちメッセージは、レース開催まで待つ必要があることを示す内容を含む。上述の説明では、一時記憶したレース情報の全ての処理をしてから、ユーザ端末2はレース動画の再生等を行うとしたが、それに限らない。ユーザ端末2は、通知サーバ1から1つのレースについての動画、判定結果を取得する毎に、動画再生等の処理を行っても良い。通知サーバ1はレース動画を送信するのではなく、レース動画を視聴可能な動画配信サイトヘのリンク情報を送信しても良い。リンク情報は例えばURL(Uniform Resource Locator)である。
結果が判明していないレースに関しては、レース結果の確定後、ステップS157からステップS160の処理をCPU11が実行し、結果をユーザ端末2へ送信する。また、レース直前に、通知サーバ1からユーザ端末2にプッシュ通知を行い、ユーザがレースをライブで鑑賞可能としても良い。その場合、レースのライブ映像を鑑賞できる配信サイトへのリンク情報をプッシュ通知に含めても良い。
レース動画を表示することにより、レースを鑑賞しなかったユーザであっても、レース開催後に臨場感を持ってレースを楽しむことが可能となる。また、プッシュ通知により、レースの開催、ライブ配信サイトを通知することにより、ユーザはレースを当日に楽しむことが可能となる。
各実施の形態で記載されている技術的特徴(構成要件)はお互いに組み合わせ可能であり、組み合わせすることにより、新しい技術的特徴を形成することができる。
今回開示された実施の形態はすべての点で例示であって、制限的なものではないと考えられるべきである。本発明の範囲は、上記した意味ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。