図1は、本発明の実施形態に係るポイント付与システム1を示す。ポイント付与システム1は、ユーザU1、U2、U3等へネットワークを介してオンライン家計簿を利用できるサービスを提供するようにしたものであり、オンライン家計簿の利用を促進するために、家計簿利用に応じて、様々な商品・サービス等との交換が可能なポイント(金銭的な価値を有するポイント)を付与することが特徴になっている。
オンライン家計簿を利用するユーザU1、U2、U3等は、家計簿サービスに登録しており(それぞれユーザIDが付与される)、オンライン家計簿を利用するために通信端末T1、T2、T3等を使用する。このような通信端末T1、T2、T3等としては、コンピュータ的な通信端末(プログラムに従って処理を行う通信端末)を用いることができ、具体的には、通信機能を具備するパーソナルコンピュータ(据え置き型又は携帯型のパーソナルコンピュータ)、携帯型通信端末(タブレット、スマートフォン、通信機能付きPDA、携帯電話等)などを適用できる。なお、ユーザU1、U2、U3等が用いる通信端末T1、T2、T3等は、全体的なシステムであるポイント付与システム1に含まれるものとする。
また、本実施形態のポイント付与システム1は、ネットワークを介して構築されるクラウドシステム10を含んでおり、このクラウドシステム10は、アプリケーションサーバ20(第1サーバに相当)、スクレイピングサーバ30(第2サーバに相当)、及び各種データ(情報)を格納するデータベースシステム40により構成される。また、アプリケーションサーバ20及びスクレイピングサーバ30はサーバシステム2を構築している。
サーバシステム2に含まれるアプリケーションサーバ20は、ネットワークを通じてオンライン家計簿を提供するサービスを行うものであり、ユーザの通信端末T1等からのアクセスを受けると、データベースシステム40にアクセスして所要のデータ(情報)を取得することで家計簿用の家計簿情報を生成し、アクセスを行った通信端末T1等へ家計簿情報を送信する。また、家計簿情報の送信に応じて、アクセス元の通信端末T1等から支出又は収入等を示すユーザによる入力情報(ユーザ入力情報)が送信されてくれば、そのユーザ入力情報を受信して、データベースシステム40にユーザIDと対応づけて格納する処理等もアプリケーションサーバ20は行う。
サーバシステム2に含まれるスクレイピングサーバ30は、アカウントアグリゲーションの各機能に応じた処理を行うものであり、各事業者がユーザ向けに提供する金融的な価値を具備するサービスに応じたユーザの個人データ(ユーザ金銭データ等を含む)を蓄積した外部の各データベース(DB)へアクセスして所望のユーザに関する金銭に関するデータ(ユーザ金銭データ)を取得収集し、取得収集したユーザ金銭データをデータベースシステム40へ格納する処理等を行う。なお、本発明のサーバシステム2にアカウントアグリゲーションの各種機能を実現するスクレイピングサーバ30が含まれることで、本発明に係るポイント付与システム1は、アカウントアグリゲーション機能を具備することになり、この観点においてはアカウントアグリゲーションシステムに該当する。
スクレイピングサーバ30がデータを収集取得するためのアクセス先の例として、図1では、A銀行口座データベース5A、B銀行口座データベース5B、及びC銀行口座データベース5C等と云った各銀行の顧客口座データベース、Aカード会社カードデータベース6A、Bカード会社カードデータベース6B、及びCカード会社カードデータベース6C等の各カード会社の顧客のクレジットカード利用状況を表すカードデータベース、ならびにA証券会社口座データベース7A、B証券会社口座データベース7B、及びC証券会社口座データベース7C等と云った各証券会社の顧客口座データベースなどを示している。なお、スクレイピングサーバ30がデータを収集取得するためのアクセス先の例は、図1に示すデータベースに限定されるものではない。
これらのデータベース5A〜5C等、6A〜6C等、7A〜7C等の各データベースは、ネットワークを通じてURL(Uniform Resource Locator)に基づき外部からアクセス可能になっている(例えば、ネットワーク上に構築されたウェブサイトのURLを指定してアクセスするようになっている)。なお、これらのデータベース5A〜5C等、6A〜6C等、7A〜7C等の各データベースは、本発明のポイント付与システム1に含まれない外部のデータベースとして機能する。
クラウドシステム10に含まれるデータベースシステム40は、現金記録データベース41、ポイントデータベース42、個人金融データベース43等の複数のデータベースにより構築されており、ネットワークを通じて、上述したアプリケーションサーバ20及びスクレイピングサーバ30等の各サーバ又は各種通信端末装置と通信できる機能を具備する。現金記録データベース41は、オンライン家計簿を通じてアプリケーションサーバ20へ送信されてきたユーザからの入力情報(ユーザ入力情報)をユーザごとに対応づけて格納し、ポイントデータベース42はユーザに付与されたポイントをユーザごとに格納し、個人金融データベース43は、スクレイピングサーバ30が取得収集したデータをユーザごとに格納する記憶装置として機能する。
また、ポイント付与システム1は、ポイント交換サイトを構築する外部のポイントサービスサーバ9とネットワークを通じて通信可能になっており、ユーザの指示に従って、ポイントデータベース42に格納されたポイントを、ポイント交換サイトで交換可能な商品・サービス等と適宜交換可能になっている。このように本発明に係るポイントは、ポイント交換サイトで様々なものと交換できるため、金銭的な価値を有する。なお、ポイントサービスサーバ9は、本発明のポイント付与システム1に含まれない。以下、本発明の詳細について説明していく。
図2は、アプリケーションサーバ20(第1サーバ)の主要な内部構成を示している。本実施形態のアプリケーションサーバ20には一般的なサーバコンピュータを適用しており、全体的な制御及び各種処理を行うMPU20a(制御部20a)に、各種デバイス等を内部接続線20hで接続したものになっており、各種デバイス等には、通信モジュール20b、RAM20c、ROM20d、入力インタフェース20e、出力インタフェース20f、大容量記憶システム(HDDシステム)20g等がある。
通信モジュール20bは、ネットワークとの接続モジュールに相当する通信デバイス(通信手段)であり、所要の通信規格に応じたものである(例えばIEEEのLANモジュールに応じた規格)。通信モジュール20bは、所要の通信機器(図示は省略。例えばルータ等が該当)を介してネットワーク(内部ネットワーク及び外部ネットワーク)と接続されており、スクレイピングサーバ30及びデータベースシステム40との通信を可能にすると共に、外部の通信端末T1、T2、T3等及び外部の各種サーバ(ウェブサーバ、データベースサーバ等)との通信を可能にしている。
RAM20cは、MPU20aの処理に伴う内容、ファイル等を一時的に記憶するものであり、ROM20dは、MPU20aの基本的な処理内容を規定したプログラム等を記憶するものである。入力インタフェース20eは、家計簿サービスの運営会社のシステム管理者等からの操作指示等を受け付けるキーボード20i、マウス等が接続されるものであり、システム管理者等から受け付けた操作指示等をMPU20aへ伝える。出力インタフェース20fは、ディスプレイ20j(表示出力装置)が接続されるものであり、MPU20aの処理に伴う内容をディスプレイ20jへ出力し、システム管理者等が現在の処理内容等を確認できるようにしている。
大容量記憶システム20g(記憶媒体手段に相当)は、プログラム、データベース(DB)、及びテーブル等を記憶するものであり、本実施形態ではサーバプログラムP1、アプリケーションプログラム21、ユーザDB22、ポイント条件テーブル23、家計簿画面テーブル24等を記憶している。
サーバプログラムP1は、サーバ用のオペレーションシステムに応じた各種処理を規定したものであり、この規定内容に基づいた処理をMPU20aが実行することで、アプリケーションサーバ20はサーバコンピュータとしての基本的な機能を果たす。アプリケーションプログラム21の説明は後述し、先に、ユーザDB22等の説明を行う。
図3は、ユーザDB22の中身の概要を示している。ユーザDB22は、家計簿サービスに登録したユーザに関する各種情報を格納したデータベースであり、特に本発明では、アカウントアグリゲーションの各機能を利用することから、ユーザ金銭データの収集先となるデータベース等へのアクセスに必要なログインID及びパスワード等も複数格納している。具体的には、ユーザIDに対応付けて、電話番号、メールアドレス、各ユーザのオンライン家計簿利用に必要なパスワード、ユーザが用いる通信端末のUID(通信端末識別情報)、職業、生年月日、性別、都道府県住所等を記憶すると共に、アカウントアグリゲーションに用いる他のサービスへのアクセス用のログインID(ID−1、2等)及びパスワード(PW−1、2等)もユーザIDに対応付けて複数格納可能になっている。
ユーザDB22に格納されるユーザIDとは、家計簿サービスへの登録時に家計簿サービスの運営側より付与されるユーザの識別情報である。また、パスワードは、家計簿サービスへのログイン時に必要な英数字を複数並べた情報(6文字以上)であり、家計簿サービスへユーザ登録(オンライン登録)を行う際にユーザにより申請されたパスワードがユーザDB22に格納されることになる。さらに、ユーザの電話番号、メールアドレス、職業、生年月日、性別、都道府県住所等、並びにデータの収集先となるサービスへのアクセス用のログインID及びパスワードもセットにした状態で、家計簿サービスへの登録時にユーザにより申請されてユーザDB22に格納されている。なお、通信端末のUID(通信端末識別情報)については、ユーザが設定登録するものではなく、通信端末が、アプリケーションサーバ20へアクセスして通信する際、そのアクセスに伴って送られてくる情報の中に常に含まれるものとなっており、そのため、オンライン登録の際のアクセスに含まれるUIDを、アプリケーションサーバ20が抽出して、付与されるユーザIDに対応づけて、ユーザDB22に格納するようにしている。
なお、アカウントアグリゲーション用に登録されるログインID及びパスワードというセットの情報の数は、ユーザにより異なるが、本実施形態では、銀行口座またはカード利用による引き落としに応じてポイント付与を判断することから、銀行口座用のデータベースおよびカード利用に応じたデータベースへのアクセスに必要な個々のログインID及びパスワードをセットにして、各ユーザに対応付けて格納されているものとする。また、ユーザDB22に格納されるユーザ情報(ユーザIDに対応付けられたパスワード、電話番号、メールアドレス、UID、職業、生年月日、性別、都道府県住所、ログインID、及びパスワード等)は、家計簿サービスの登録ユーザ数に応じて増減し、新規ユーザの登録又は登録ユーザの脱退等に応じて、ユーザDB22の中身は家計簿サービスの運営側により適宜更新される。
図4は、ポイント条件テーブル23の中身の概要を示している。ポイント条件テーブル23は、ポイントを付与する条件(付与条件)を複数パターンとして、付与条件A、B、C等を格納すると共に、付与条件ごとに、付与するポイントの数を規定したものになっている。具体的な例として、付与するポイント数が「1」の場合には、付与条件Aが割り当てられており、付与するポイント数が「3」の場合には、付与条件Cが割り当てられており、付与するポイント数が「10」の場合には、付与条件Fが割り当てられており、付与するポイント数が「30」の場合には、付与条件Iが割り当てられている。付与条件A、B、C等の具体的な条件内容は、後述するアプリケーションプログラム21およびスクレイピングプログラム31の中で記述されており、例えば、付与条件Aとしては「1日にユーザ入力情報アリ、又は1日にアプリ起動アリ」という内容が記述されており、付与条件Cとしては「引き落としの金額差が1〜100円」という金銭的な価値の差の条件が記述されており、付与条件Fとしては「引き落としの金額差が101〜300円」という金銭的な価値の差の条件が記述されており、付与条件Iとしては「引き落としの金額差が301〜500円」という金銭的な価値の差の条件が記述されている。これらの付与条件の中身は一例であり、家計簿サービスの運営側(運営会社)等の意向により、適宜、変更できるものとする。また、上述した付与条件A等の実質的な条件の内容は、直接、ポイント条件テーブル23の中に格納することも勿論可能である。さらに、付与条件の中には、ボーナスポイントを付与する内容も含ませるようにしてもよく、例えば、月別で獲得したポイント数に基づき、ユーザのランク付けを行い、上位10人のユーザにボーナスポイントを付与する、又は、キリ番(1桁が0の数字)のランクのユーザにボーナスポイントを付与する等が考えられる。
また、家計簿画面テーブル24は、図5〜10等に示すオンライン家計簿の各種画面を、ユーザU1、U2、U3等が用いる通信端末T1、T2、T3等で表示するためのパーツデータ(家計簿画面を構成するためのパーツに応じたデータ)等を含む画面データを複数記憶したものである。これら画面データは、表示する画面内容ごとに応じて複数種類が存在している。
図5は、ログイン用のパスワード入力画面50であり、パスワード入力画面用の画面データに基づき生成される画面である。パスワード入力画面50は、メールアドレス入力欄50a、パスワード入力欄50b、入力キー50c、及びログインボタン50dを配置しており、このように配置された各部に応じたパーツのデータを、パスワード入力画面用の画面データは含む。また、パスワード入力画面50では、入力キー50cを適宜選択する操作を行うと、操作に応じた英数字が各入力欄50a、50bに入力され、その状態でログインボタン50dが操作されると、各入力欄50a、50bに入力された情報(メールアドレス及びパスワード)が、アプリケーションサーバ20へ向けて送信されるように作り込みされており、このような作り込みの内容等を規定したデータ(スクリプト系言語等で記載されたデータ)も、パスワード入力画面用の画面データは含んでいる。
図6は、家計簿サービスのトップページ画面51を示し、トップページ画面用の画面データ等に基づき生成される画面である。トップページ画面51は、上述したパスワード入力画面50でのパスワード等の入力により、ログイン操作が完了すると、ユーザU1、U2、U3等が用いる通信端末T1、T2、T3等に表示される画面である。
トップページ画面51は、上方の表題欄51a(「現金・預金」の文字が記された欄)の右に現金記録ボタン51bを配置し、以下、下方へ対象となる期間を記す期間表示欄51c、対象となる期間の総額を記す総額表示欄51d、対象となる期間における収入及び支出を示す選択可能な収支額欄51e、収入又は支出の有った日及び額を示すカレンダー欄51f、現在の獲得ポイント数を記すポイント欄51hを配置すると共に、最下方にメニューバー60を配置したものになっている。トップページ画面用の画面データは、上述した各欄51a〜51f等に応じたパーツデータを含むが、各欄に配置される数字(金額の数、ポイントの数等)は、データベースシステム40のポイントデータベース42及び個人金融データベース43から取得されたユーザの情報に基づいている。
トップページ画面51の表題欄51aの右側の現金記録ボタン51bが選択されると、図10(a)、(b)に示す現金記録画面58に表示が切り替わるようになっている。このように各ボタン51a、51bが選択されると上述したような処理が行われることを規定したパーツデータ(上述した処理を規定したデータが埋め込まれたボタンデータ)を、トップページ画面用の画面データは含んでいる。なお、ボタンデータについては、後述する他の画面データで使われるボタンにおいても同様に、ボタン操作により行われる処理を規定したデータが含まれているものとする。
また、最下方のメニューバー60は、各種家計簿画面に共通して表示されるものであり、このメニューバー60は、本実施形態では後述する通信端末側にインストールされる家計簿アプリに含まれる機能に基づき表示されるようにしているが、アプリケーションサーバ20から提供される画面データに含ませることも勿論可能である。メニューバー60は、「現金・預金」ボタン60a、「資産」ボタン60b、「金融機関」ボタン60c、「通知」ボタン60d、及び「メニュー」ボタン60eを含む。
「現金・預金」ボタン60aが操作されると、図6に示すトップページ画面51が表示されることになり、「資産」ボタン60bが操作されると、図7(a)に示す資産状況画面52が表示されることになり、「金融機関」ボタン60cが操作されると、図示しないアカウントアグリゲーションの対象にする金融機関登録画面が表示されることになり、「通知」ボタン60dが操作されると、図8(a)に示す通知画面54が表示されることになり、「メニュー」ボタン60eが操作されると、図8(b)に示すメニュー画面55が表示されることになる。
図7(a)の資産状況画面52は、ユーザの総資産額及び項目別の資産額を示す画面であり、上方から順に現在の総資産額を記す総額資産欄52a、総資産の内訳を示す項目別資産欄52bを選択可能に配置し、各欄52a、52bに配置される数字(金額情報)も、個人金融データベース43から取得されたものになっている。また、資産状況画面52は、「資産状況」と記された表題欄の左側に更新ボタン52cを配置しており、この更新ボタン52cが選択されると、更新要求がアプリケーションサーバ20へ向けて送信され、その更新要求に応じて、各欄52a、52bに含まれる項目(総資産、現金・預金、外貨資金、株式、投資信託、債券、カード支払予定等)についての最新の数字を受信すれば、受信した数字に置き換えた画面内容になる。
図7(b)のアカウント登録画面53は、家計簿サービスへのユーザ登録を行う画面であり、メールアドレス入力欄53a及びパスワード入力欄53bを配置すると共に、その下方に登録ボタン53cを配置し、入力キー53dも表示できるようにしている。このアカウント登録画面53では、各欄53a及び53bに所定の情報が入力された状態で、登録ボタン53cの選択操作が行われると、入力された情報(メールアドレス及びパスワード)がアプリケーションサーバ20へ向けて送信されるように作り込みされており、このような作り込みの内容等を規定したデータを、アカウント登録画面用の画面データは含んでいる。なお、アプリケーションサーバ20は、入力された情報(メールアドレスおよびパスワード)を受信すると、ユーザIDを発行して、その発行したユーザIDに対応づけて、アクセスされた中に含まれるUIDと共に格納する処理を行う。また、アカウント登録画面53で登録ボタン53cが選択された後は、図示しない詳細情報設定画面が表示されるようになっており、この詳細情報設定画面で、図3のユーザDB22に格納される他の情報(電話番号、職業、生年月日、性別、都道府県住所、アカウントアグリゲーション用のログインID・パスワード等)がユーザにより設定され、アプリケーションサーバ20へ送信されて、ユーザDB22に記憶されるようになっている。
図8(a)の通知画面54は、ユーザへのお知らせ内容を示す画面であり、家計簿サービスの運営会社により作成される通知内容の一覧を示し、具体的な通知内容としては、サービスの運営に関するもの、アカウントアグリゲーションに関係した内容等があり、これらを通知欄54aに配置している。
図8(b)のメニュー画面55は、様々な機能又は各種設定を行うための複数の選択可能なメニューボタンを含むメニュー欄56を配置した画面である。このメニュー欄56の中には、お金を管理する場所となる財布の数、種類等を設定する財布管理ボタン56a、ポイントに関する詳細をユーザが確認できるようにするためのポイントボタン56a等が含まれている。財布管理ボタン56aが選択されると、図示しない財布設定画面の表示に切り替わり、現金等が入れられて現金等の支出・収入を行う財布の数、種類等の設定が可能になり、ポイントボタン56aが選択されると、図9に示すポイント画面57の表示に切り替わるようになっている。
図9のポイント画面57は、複数のメニュー57a〜57gを含むメニュー欄を有しており(メニュー57b〜57gは選択等が可能になっている)、最新ポイントメニュー57aには現在の獲得ポイントを示されれている。「ポイントとは?」メニュー57bは選択されると、本サービスにおけるポイントに関する内容を説明する画面が表示されるようになっており、「ポイント交換」メニュー57cが選択されると、ポイント交換を行うために、交換するポイントの数を入力する欄、交換する対象を設定する欄、ポイント交換の決定ボタン等を配置したポイント交換画面に表示が切り替わるようになっている。「ポイント交換先一覧」メニュー57dは選択されると、ポイント交換先のサイト及びサイト内容等を示すポイント交換一覧画面に表示が切り替わるようになっている。「ポイント履歴」メニュー57eは選択されると、日時に対応付けて、取得したポイント数、交換したポイント数、又は交換対象等を時系列順に一覧で示すポイント履歴画面に表示が切り替わるようになっている。「ポイントを貯める」メニュー57fが選択されると、ポイントを貯めるための質問及び回答を記したポイントQ&Aボタン画面に表示が切り替わるようになっている。また、「起動時のポイント表示」メニュー57gは、起動時に図6に示すトップページ画面51を最初に表示する際、ポイント欄51hを配置するか否かを設定するものであり、「on」が選択されると、ポイント欄51hを配置する状態に設定され、「off」が選択されると、ポイント欄51hは配置されない状態に設定されるようになっており、ポイント欄51hを配置しない場合は、ポイント情報を取得する必要がないので、トップページ画面51をスムーズに表示しやすくなる。
図10(a)(b)は、上述したように図6のトップページ画面51の現金記録ボタン51bの選択に伴って表示される現金記録画面58を示し、図10(a)は収入を入力する状態の現金記録画面58を示し、図10(b)は支出を入力する状態の現金記録画面58を示す。
現金記録画面58は、上方の表題欄(「現金記録」の文字が記された欄)の左右に選択可能な戻るボタン58a及び保存ボタン58bを配置し、これらボタン58a、58bの下方には、選択可能な収入ボタン58c及び支出ボタン58dが同じ行で左右に並べて配置され、さらに各ボタン58c、58dの下方には複数の入力欄58e〜58jが配置される。
収入ボタン58c又は支出ボタン58dは、いずれか一方を択一的に選択できるようになっており、現金記録画面58が最初に表示されたときは、支出ボタン58dが選択された状態になっている。なお、収入ボタン58cが選択された状態では、各入力欄の下から二行目には収入先入力欄58hが配置されるようになっており、また支出ボタン58dが選択されると、各入力欄の下から二行目の配置は支出元入力欄58jに切り替わる。
複数の入力欄としては、日付入力欄58e、カテゴリ入力欄58f、金額入力欄58g、収入先入力欄58h(図10(a)に示す場合。図10(b)に示す場合では支出元入力欄58j)、メモ入力欄58iがある。日付入力欄58eは、支出又は収入の日付を入力する欄である。カテゴリ入力欄58fは、支出又は収入の対象となるカテゴリを入力する欄であり、カテゴリ入力例としては収入の場合、「給与」、「賞与」、「臨時収入」、「事業所得」、「配当所得」、「不動産所得」、「年金」、「その他」等があり、支出の場合の例としては「食費」、「日用雑貨」、「交通」、「交際費」、「衣服・美容」、「教養・教育」、「趣味・娯楽」、「健康・医療」、「その他」等がある。金額入力欄58gは、収入又は支出の金額を入力する欄である。収入先入力欄58hは、収入を入れる財布の種類(前述の財布設定画面で設定される財布の種類)を入力する欄であり、支出元入力欄58jは、支出が行われる財布の種類を入力する欄である。メモ入力欄58iは、ユーザの任意の事項を入力できる備考的な欄である。
上述した各入力欄58e〜58jに情報が入力された状態で、保存ボタン58bが選択されると、各入力欄58e〜58jへユーザにより入力された情報(支出又は収入に関するユーザ入力情報)がアプリケーションサーバ20へ向けて送信されることになり、また、戻るボタン58aが選択された場合は、各入力欄58e〜58jに入力された情報がリセットされる。収入ボタン58cが選択されると、収入の入力用の画面になること(収入先入力欄58hが配置されること)、支出ボタン58dが選択されると、支出の入力用の画面になること(支出元入力欄58jが配置されること)、並びに、各ボタン58a、58bが選択さると、上述した処理が行われること等は、現金記録画面58の画面データに含まれるボタンデータにより規定されている。
なお、アプリケーションサーバ20の大容量記憶システム20gに記憶される家計簿画面テーブル24に含まれる画面データには、上述した図6〜10の各画面50〜58以外にも複数存在している。
例えば、図6のトップページ画面51における総額表示欄51dを選択すると、今すぐ使うことができる現金の内訳(現金、銀行預金、電子マネー、証券預かり金)を示す選択欄を配置した画面が表示され、これらの選択欄のいずれかを選択すると、その選択された内訳用の画面が表示され、その内訳用の画面は、内訳に応じた現金が存在する対象を示すグラフ(例えば、内訳として銀行預金が選択された場合は、A銀行の60%、B銀行に40%の現金が存在することを示すグラフ)、及び現金の利用履歴等を配置したものになる。また、トップページ画面51における収支額欄51eが選択されると、収支バランスを示す画面が表示され、この画面では収入及び支出に関する金額をグラフ(円グラフ又は棒グラフ等)で示す内容になっている。
さらに、図7(a)に示す資産状況画面52において、項目別資産欄52bの各欄が選択された場合も、選択された欄の項目に応じた詳細をグラフ等で示す画面が表示される。さらにまた、図8(b)のメニュー画面55のメニュー欄56に含まれる各メニューボタンが選択されると、選択されたメニューボタンに応じた内容の画面が表示される。
次に、アプリケーションサーバ20の大容量記憶システム20gに記憶されるアプリケーションプログラム21が規定する処理内容について説明する。本実施形態のアプリケーションプログラム21は、家計簿サービスに関する処理と、ポイント付与に関する処理という主に二つの処理を規定しており、アプリケーションプログラム21が規定する処理に基づいた制御をMPU20aが実行することで、家計簿サービスに関する各種機能(ポイント付与機能も含む)がアプリケーションサーバ20で実現されるようになっており、このような機能に応じた処理(処理のステップ)を実行する上で、MPU20aは各種手段として機能する。
アプリケーションプログラム21が規定する家計簿サービスに関する各種処理の中で、まず、最初に行うのがログインに関する処理である。まず、アプリケーションサーバ20へ外部の通信端末からのアクセスを通信モジュール20bで受信すると、アクセス元の通信端末へ図5に応じたパスワード入力画面50用の画面データを、通信モジュール20bを用いて送信する制御をMPU20aが実行することをアプリケーションプログラム21は規定する。
また、画面データの送信に応じて、アクセス元の通信装置から送信されてきたメールアドレス及びパスワードを通信モジュール20bで受信すると、受信したメールアドレス、パスワードおよびアクセスに含まれるUIDが図3のユーザDB22に格納されているか否かを判断する処理をMPU20aが行うことをアプリケーションプログラム21は規定する。ユーザDB22に格納されていないと判断した場合、再度、パスワード入力画面50用の画面データを、通信モジュール20bを用いて送信する制御をMPU20aが行うことをアプリケーションプログラム21は規定する。
一方、ユーザDB22に格納されていると判断した場合、そのパスワード等に対応するユーザIDをユーザDB22から特定すると共に、その特定したユーザIDに応じたユーザ情報(図6のトップページ画面51に必要な現在の金銭の情報、今月の収入・支出の金額の情報、現在のポイント数を示す情報等)をデータベースシステム40へ要求して読み出し、読み出したユーザ情報及び図6のトップページ画面51に必要な画面データを含む家計簿に応じた家計簿情報を生成し、その生成した家計簿情報をアクセス元の通信端末へ、通信モジュール20bを用いて送信する制御をMPU20aが行うことをアプリケーションプログラム21は規定する。
トップページ画面51に応じた家計簿情報を送信した後は、アクセス元の通信端末から送られてくる画面要求情報を通信モジュール20bで受信すると、受信した画面要求情報に応じた画面用の家計簿情報を生成し、その生成した家計簿情報をアクセス元の通信端末へ、通信モジュール20bを用いて送信する制御をMPU20aが行うことになり、このような内容をアプリケーションプログラム21は規定する。なお、アクセス元から要求された画面が、新たなユーザ情報(金銭的な情報又はポイントに関する情報等)を必要とする場合、その都度、データベースシステム40へアクセスして、必要な情報を読み出し、読み出した情報を含む家計簿情報を生成する処理をMPU20aが行うことを、アプリケーションプログラム21は規定する。
また、アクセス元の通信端末へ送信した家計簿情報に応じた画面が、ユーザから保存すべき情報(保存情報)の入力を受け付けて、この保存すべき情報をアプリケーションサーバ20へ送信してくる場合もあり、このように送信されてきた保存情報をユーザDB22又はデータベースシステム40等へ格納する制御をMPU20aが行うことも、アプリケーションプログラム21は規定する。例えば、設定画面でユーザに関する情報(メールアドレス)等が更新のため入力されて、アプリケーションサーバ20へ送信されると、その情報をユーザDB22へ上書き記録する制御をMPU20aが行うことを、アプリケーションプログラム21は規定する。
さらに、図7(b)のアカウント登録画面53等でアカウント情報または更新(変更)するアカウント情報が入力されて、アプリケーションサーバ20へ向けて送信されると、送信されてきたアカウント情報(ID、PW等)を、ユーザDB22に、ユーザIDと対応付けて記憶する制御をMPU20aが行うことを、アプリケーションプログラム21は規定する。
さらにまた、図10(a)(b)に示す現金記録画面58で、支出又は収入に関する情報(ユーザ入力情報に該当)がユーザにより入力されてアプリケーションサーバ20へ送信されて、このユーザ入力情報をアプリケーションサーバ20で受信すれば、ログイン中のユーザIDに対応づけて、データベースシステム40へ記憶する制御処理をMPU20aが行うことをアプリケーションプログラム21は規定する。なお、このような入力情報を格納する具体的な先は、本実施形態においてはデータベースシステム40に含まれる現金記録データベース41にしており、それにより、現金記録データベース41を参照すれば、各ユーザの現金の状況(現金の収入状況又は支出状況)をスムーズに把握することが可能となる。
次に、アプリケーションプログラム21が規定する二つめの処理内容であるポイント付与に関する処理について説明する。本実施形態のMPU20aは、タイマー・クロック機能を具備しており、日時のカウントをバックグラウンド処理で行っており、このタイマー・クロック機能に基づき時刻が0時(所定の時間に相当)に達したか否かを判断することを、アプリケーションプログラム21は規定している。0時に達したと判断した場合、前日の0時から判断した0時になるまでの期間(1日に応じた期間)に受信したユーザ入力情報が、データベースシステム40の現金記録データベース41に記憶された中に有るか否かを、ユーザIDごとに検知することを、アプリケーションプログラム21は規定している。
ユーザ入力情報が有ることを検知した場合、そのユーザ入力情報を行ったユーザに、図4に示すポイント条件テーブル23が規定するポイント数を付与することを判断し、判断したポイント数を、ユーザ入力情報を入力したユーザのユーザIDに対応づけて、ポイントデータベース42へ記憶する処理をMPU20aが行うことを、アプリケーションプログラム21は規定している。アプリケーションプログラム21は、このようなポイント付与に係る処理をMPU20aが全ユーザ(全ユーザID)に対して行うことを規定する。なお、付与するポイントを記憶する際、ポイント付与の日付およびポイント付与の理由も付与するポイント数と対応付けて記憶するようにしている(後述するアグリゲーションサーバ30によるポイント付与の場合も同様)。
アプリケーションサーバ20に関する説明を終わり、次に、図1に示すデータベースシステム40について説明する。データベースシステム40はネットワークを通じて上述したアプリケーションサーバ20及びスクレイピングサーバ30と、通信部40bを用いて通信可能になっており、各サーバ20、30から送られてきたユーザに関する情報(入力情報、金額に関する情報、ポイントに関する情報)を各データベース41〜43のいずれかへ記憶する。また、各サーバ20、30からのアクセスにより、情報を読み出す要求を通信部40bで受信すると、データベースシステム40は、要求された情報を各データベース41〜43から読み出して、要求元のサーバ20、30へ送信する。データベースシステム40が行う各種処理は、データベースシステム40の制御部40aの制御により行われる。
図11(a)は、上述したデータベースシステム40に含まれる現金記録データベース41の中身の概要を示している。現金記録データベース41は記憶手段に該当し、ユーザIDごとに、ユーザの現金記録に関する情報(収支に関するユーザ入力情報)を記憶するユーザテーブル41a、41b・・・を有する構造になっており、このような構造によってユーザ(ユーザID)ごとに入力情報を記憶できるようにしている。
図11(b)は、ユーザIDが0001のユーザテーブル41aの中身の一例を示している。ユーザテーブル41aは、上述した図10(a)、(b)の現金記録画面58で入力されたユーザ入力情報を蓄積して記憶したものになっている。ユーザ入力情報の中には日付が含まれるので、ユーザ入力情報の記憶された日が分かるようになっている。なお、他のユーザ(ユーザID)のユーザテーブル42b等も、上述したユーザテーブル41aと同様の中身になっている。
図12(a)は、上述したデータベースシステム40に含まれるポイントデータベース42の中身の概要を示している。ポイントデータベース42はポイントを記憶するポイント記憶手段に該当し、上述した現金記録データベース41と同様に、ユーザIDごとのテーブル(ポイントテーブル42a等)を有する構造になっている。ポイントテーブル42a、42b等は、ユーザに付与されたポイントをユーザごとに対応づけて記憶しており、このような構造によってユーザ(ユーザID)ごとにポイントを記憶できるようにしている。
図12(b)は、ユーザIDが0001のポイントテーブル42aの中身の一例を示している。ポイントテーブル42aは、付与されたポイントの数を、付与日及びポイント付与の理由と対応付けて記憶すると共に、使用(交換)したポイントの数を、使用日及びポイント使用対象と対応付けて記憶した内容になっており、付与されたポイント数及び使用したポイント数の合計から算出される現在のポイント数も記憶されている。なお、他のユーザ(ユーザID)のポイントテーブル42b等も、上述したポイントテーブル42aと同様の中身になっている。
図13(a)は、上述したデータベースシステム40に含まれる個人金融データベース43の中身の概要を示している。個人金融データベース43は、ユーザの金銭に係るユーザ金銭データを記憶する記憶装置(金融データ記憶手段)に該当し、上述した現金記録データベース41と同様に、ユーザIDごとのテーブル(金融テーブル43a等)を有する構造になっている。金融テーブル43a、43b等は、スクレイピングサーバ30が収集したユーザ金銭データ(例えば、ユーザの銀行口座データベースに格納される口座明細の金額を示すデータ、カード会社のカードデータベースに格納されるカード利用明細の金額を示すデータ、証券会社の株式口座データベースに格納されるユーザ所有の株数を示すデータ等)をユーザごとに対応づけて記憶している。
図13(b)は、ユーザIDが0001の金融テーブル43aの中身の一例を示している。スクレイピングサーバ30は、多数のユーザの多種類のユーザ金銭データを収集してくることから、金融テーブル43aは、種類別に各種テーブル44aを設けて、収集された複数のユーザ金銭データの種類ごとに記憶を行えるようにしている。金融テーブル43aが有するテーブルの種類としては、預金口座テーブル44a、外貨資金テーブル44b、株式テーブル44c、投資信託テーブル44d、債券テーブル44e、及びカード使用テーブル44f等がある。
預金口座テーブル44aは、各銀行の口座データベースから収集されたユーザの口座データ(ユーザ金銭データに相当)が格納されるものであり、ユーザの各銀行の口座における金額の出入りを示す金額情報が、その出入りの有った日付と共に記憶される。外貨資金テーブル44bは、各銀行の外貨口座データベースから収集された口座データが格納されるものであり、ユーザの各銀行の外貨口座における外貨の出入りを示す外貨データ(ユーザ金銭データに該当)が、取引の日付と共に記憶される。株式テーブル44cは、各証券会社の株式口座データベースから収集された口座データが格納されるものであり、ユーザの各証券会社の口座における株式の銘柄及び株数の売り買いを示す株券データ(ユーザ金銭データに該当)が、取引の日付と共に記憶される。
投資信託テーブル44dは、各投資信託会社の投信口座データベースから収集された口座データが格納されるものであり、ユーザの各投資信託会社の口座における投資信託の売り買いを示す投資信託データ(一種のユーザ金銭データに該当)が取引の日付と共に記憶される。債券テーブル44eは、債券データベースから収集された債券データが格納されるものである。カード使用テーブル44fは、各カード会社のカード使用データベースから収集されたカードの利用履歴(使用履歴)を示すカード利用データ(ユーザ金銭データに該当)がカード利用日付と共に格納されるものである。なお、上述した各テーブル44a〜44f等は、ユーザがアカウントアグリゲーションを利用していない対象については、情報が含まれない状態になっている(例えば、株式口座データベースをアカウントアグリゲーションの対象に利用していないユーザの株式テーブル44cには、情報が含まれない空の状態になっている)。
このようなデータベースシステム40が有する現金記録データベース41、ポイントデータベース42、及び個人金融データベース43は、随時、新たなデータが記憶されることで、記憶内容は更新されている。また、上述した各データベース41〜43の中身の構造は一例にすぎず、記憶されるデータがユーザIDと対応付けられていれば、データベースの構造は、どのようなものであってもよい。また、各データベース41〜43は、独立して構築して、各データベース単位で、ネットワークを通じて情報の記憶及び読み出しを行える構成にしてもよく、この構成の場合では、各データベース41〜43を包含するデータベースシステム40が省略可能となる。
図14は、サーバシステム2が有するスクレイピングサーバ30(第2サーバ)の主要な内部構成を示している。本実施形態のスクレイピングサーバ30は上述したアプリケーションサーバ20と同様に、一般的なサーバコンピュータを適用しており、全体的な制御及び各種処理を行うMPU30a(制御部30a)に、各種デバイス等を内部接続線30hで接続したものになっており、各種デバイス等には、通信モジュール30b、RAM30c、ROM30d、入力インタフェース30e、出力インタフェース30f、大容量記憶システム(HDDシステム)30g等があり、このような各モジュール30b〜30gは、上述したアプリケーションサーバ20の各モジュール20b〜20gと同様である。また、入力インタフェース30eに接続されるキーボード30i等、及び出力インタフェース30fに接続されるディスプレイ30jも、上述したアプリケーションサーバ20のキーボード20i等及びディスプレイ20jと同様である。
大容量記憶システム30gは、プログラム、データベース(DB)、及びテーブル等を記憶する情報記憶手段に該当し、具体的には、サーバプログラムP10、スクレイピングプログラム31、スクレイピングDB32、ポイント条件テーブル33等を記憶する。サーバプログラムP10は、サーバ用のオペレーションシステムに応じた各種処理を規定したものであり、この規定内容に基づいた処理をMPU30aが行うことで、スクレイピングサーバ30はサーバコンピュータとしての基本的な機能を果たす。スクレイピングプログラム31の説明は後述し、先に、スクレイピングDB32等の説明を行う。
図15は、スクレイピングDB32の中身の概要を示している。スクレイピングDB32は、アカウントアグリゲーションを行う銀行、カード会社、証券会社等の名称、及びそれらの各データベースへのアクセス先を示すURLを含むと共に、各データベースをアカウントアグリゲーションの対象に設定したユーザのログイン用のユーザID、メールアドレス及びパスワード等が、それぞれのURLに対応づけて格納されたものになっている。各データベースへのアクセス先を示すURLについては、アカウントアグリゲーションの対象となり得る各データベースのURLが家計簿サービスの運営会社側により予め登録されてスクレイピングDB32に格納されたものになっている。一方、ユーザID及びパスワード等については、上述した詳細情報設定画面の中のアカウントアグリゲーションの対象とする各銀行、カード会社、証券会社等を設定する設定画面の中で、アカウントアグリゲーションの対象を選択できる各銀行、カード会社、証券会社等が一覧表示されており、ユーザが一覧表示の中から所望の対象を選択すると、その選択した対象にアクセスするためのユーザID及びパスワード等を入力して登録するようになっており、このように登録されたユーザID及びパスワード等が、選択された対象に応じたURLに対応付けて、スクレイピングDB32に格納されるようになっている。このようなスクレイピングDB32への格納処理は、入力されたユーザID及びパスワード等が、ユーザの通信端末から上述したアプリケーションサーバ20へ送信されてくるので、アプリケーションサーバ20で一旦、送信されてきた各内容が整理されて、システム管理者等によりスクレイピングDB32として、スクレイピングサーバ30へ届けられ大容量記憶システム30gに保存される。なお、スクレイピングDB32の中身も、新たなユーザの加入、又は既存ユーザのアカウントアグリゲーション対象の追加等により適宜更新される。
また、大容量記憶システム30gが記憶するポイント条件テーブル33は、基本的に図4に示すポイント条件テーブル23と同等のものである。なお、本実施形態では、ポイント数が「1」の場合に関する内容については、スクレイピング処理におけるポイント付与に関して無関係となるので、ポイント条件テーブル33では省略可能である。
次に、スクレイピングプログラム31について説明する。スクレイピングプログラム31は、スクレイピングサーバ30のMPU30aが実行するスクレイピングに関する制御処理、及びポイント付与に関する制御処理等を規定しており、このようなスクレイピングプログラム31の規定内容により、MPU30aは各種手段として機能する。
スクレイピングに関する処理として、スクレイピングDB32に格納されたURLを用いて、スクレイピング対象となるネットワークを通じてアクセス可能なウェブサイト又はデータベース等を順次、巡回するように通信モジュール30bを用いてアクセスし、アクセスによりデータベース等との接続が確立すると、接続先のURLにスクレイピングDB32で対応付けられたユーザID及びパスワード等を用いてログイン処理を行い、ユーザ金銭データ(口座データ、外貨口座データ、株券データ、カード利用データ等)を取得し、取得したユーザ金銭データをデータベースシステム40が有する個人金融データベース43の中の金融テーブル(ログインに用いたユーザIDに応じたテーブル)に記憶する制御処理をMPU30aが行うことを、スクレイピングプログラム31は規定する。
上記のユーザ金銭データの記憶処理が行われる具体的な記憶先のテーブルは、ユーザ金銭データ取得の際にアクセスしたデータベースの種類に応じたものになる(図13(b)参照)。例えば、銀行等の預金口座データベースへアクセスして取得したユーザ金銭データは預金口座テーブル44aへ記憶され、銀行等の外貨預金口座データベースへアクセスして取得したユーザ金銭データは外貨資金テーブル44bへ記憶される。また、証券会社等の株式口座データベースへアクセスして取得したユーザ金銭データは株式テーブル44cへ記憶され、投資信託会社等の投信口座データベースへアクセスして取得したユーザ金銭データは投資信託テーブル44dへ記憶される。さらに、債券データベースへアクセスして取得したユーザ金銭データは債券テーブル44eへ記憶され、各カード会社等のカード使用データベースへアクセスして取得したユーザ金銭データはカード使用テーブル44fへ記憶される。
なお、記憶されるユーザ金銭データには、日付(年月日)、金銭的な価値を示す情報(銀行口座データ、カード利用データ等であれば金銭額、株式口座データであれば株券の数など)が含まれており、また、ユーザ金銭データが銀行口座データまたはカード利用データ等であれば、引き落とし対象を示す名称(例えば、電気代の引き落としであれば「デンリヨク」というカタカナ文字列を含む名称、上下水道代の引き落としであれば「スイドウ」というカタカナの文字列を含む名称、ガス代の引き落としであれば「ガス」というカタカナの文字列を含む名称)等の情報が含まれているものとする。
スクレイピングプログラム31は、上述したユーザ金銭データの取得及び記憶に関する処理を、スクレイピングDB32に格納された全ユーザIDに対して行うことを規定している。また、このようユーザ金銭データの取得及び記憶に関する処理を行う時間的な間隔は、処理負担等を考慮して、本実施形態では1日単位(24時間単位)で行うようにしているが、処理に関する時間間隔は適宜、変更可能となっており、時間間隔を24時間単位より短くすること、又は、24時間単位より長くすることも勿論可能であり、さらには随時、行うことも可能である。
本実施形態におけるスクレイピングプログラム31のポイント付与に関する処理は、上述の収集・記憶したユーザ金銭データの中の銀行口座データおよびカード利用データに含まれる「引き落とし(銀行口座引き落とし、またはカード利用引き落とし)」を対象にして行われる。光熱費は一般に銀行口座またはカード利用による引き落とし可能であるが、本発明では、電気代の引き落としの金額、上下水道代の引き落としの金額、及びガス代の引き落としの金額を対象にしている。電気代、上下水道代、及びガス代を低くするには、エネルギー使用量を抑えねばならず、エネルギー使用量を低減することは、限りある資源に配慮することに繋がり、社会的に意義のあることであることから、家計簿サービスを提供する運営会社は、電気代、上下水道代又はガス代の引き落としの金額が、過去分(本実施形態では前回分)より低ければ、金額差に応じてポイントを付与することにしている。
そのため、上述した光熱費の引き落としに係るユーザ金銭データの記憶処理を行った場合、各ユーザIDの金融テーブル43a、43b等に含まれる預金口座テーブル44aおよびカード使用テーブル44f等の中から、光熱費(電気代、上下水道代、又はガス代のいずれか)に対する金銭の引き落としが有るか否かの検知をユーザIDごとにMPU30aが行うことを、スクレイピングプログラム31は規定している。この検知は、ユーザ金銭データに含まれる引き落とし名目(名称)の文字列を検索キーワードとして行っており、具体的には、「デンリヨク」、「スイドウ」、「ガス」のいずれのか文字列を含む引き落としが、記憶処理が行われた預金口座テーブル44aおよびカード使用テーブル44f等の中に存在するか否かでMPU30aは検知を行う。
光熱費に係る引き落としの有ることを検知した場合、その検知した引き落としと同じ対象となる前回分の引き落とし金額を、預金口座テーブル44aおよびカード使用テーブル44f等の中から特定する処理をMPU30aが行うことを、スクレイピングプログラム31は規定している。例えば、「デンリヨク」という文字列により、電気代の引き落としを検知した場合、その検知した電気代の引き落としの日付が4月であれば、前回分となる3月の電気代の引き落とし額を、預金口座テーブル44aおよびカード使用テーブル44f等から特定することになる。このような前回分の特定も、所定の検索キーワード(例えば、「デンリヨク」というカタカナの文字列)及び所定の日付(例えば、「3月」という日付)に基づき行うことになる。
前回分の引き落とし額を特定すると、今回分の引き落とし額と、前回分の引き落とし額を比較する処理をMPU30aが行うことを、スクレイピングプログラム31は規定している。比較の結果、今回分の引き落とし額が、前回分の引き落とし額より低い場合、ポイントを付与することが判断され、この場合、今回の引き落とし額と、前回分の引き落とし額の差を算出する処理をMPU30aが行うことを、スクレイピングプログラム31は規定している。
金額の差を算出すると、スクレイピングサーバ30の大容量記憶システム30gに記憶されているポイント条件テーブル33を参照して、付与するポイント数を特定する処理をMPU30aが行うことを、スクレイピングプログラム31は規定している。例えば、引き落とし額の差が「89円」であれば、上述した付与条件Cに基づき3ポイント付与することになり、引き落とし額の差が「257円」であれば、付与条件Fに基づき10ポイント付与することになる(図4のポイント条件テーブル23の内容を参照)。
付与するポイント数を算出すると、上述した処理の対象となるユーザのユーザIDに対応付けて、算出した数のポイントをポイントデータベース42のポイントテーブル42a等に記憶する制御処理をMPU30aが行うことを、スクレイピングプログラム31は規定している(図12(a)参照)。例えば、ユーザIDが0002のユーザ金銭データ(引き落としのデータ)の比較処理に基づき、10ポイントを付与することになった場合、ユーザIDが0002のポイントテーブル42bに記憶し、それにより、付与されたポイントはユーザに対応づけてポイントデータベース42のポイントテーブル42bに記憶されたことになる。
なお、このようなポイント記憶処理は、上述した引き落とし(ユーザ金銭データ)の検知処理において、光熱費にかかる引き落としが検知されなかった場合は行われず、また、比較処理の結果、今回分の引き落とし額が前回分の引き落とし額より低くない場合も行われない。
スクレイピングサーバ30に関する説明を終わり、次に、図1に示すユーザU1、U2、U3等が用いる通信端末T1、T2、T3等について説明する。通信端末T1、T2、T3等は、上述したようにパーソナルコンピュータ、タブレット、スマートフォン、通信機能付きPDA、携帯電話等の適用が可能であるが、スマートフォンを用いた場合を例にして以下に説明していく。
図16は、スマートフォン100の主要な内部構成を示しており、このスマートフォン100は、図1に示す通信端末T1、T2、T3等として適用可能なものであり、プログラムに従って各種処理を行う一種のコンピュータ(通信手段及び記憶手段を具備したコンピュータ)に該当する。スマートフォン100は、全体的な制御及び各種処理を行うCPU100a(プロセッサ100a)に、内部接続線100iを介して、通信・通話モジュール100b(通信手段に相当)、RAM100c、ROM100d、入出力インタフェース100e、記憶部(記憶手段に相当)100f等の各種デバイス等を接続したものになっており、また、ユーザが操作可能な操作部100hも内部接続線100iに繋がっている。
スマートフォン100の通信・通話モジュール100bは、ネットワークを介した通信処理に加えて、CPU100aの制御に従って所定の電話番号へ電話をかける機能(発呼機能)及び電話を受ける機能(着呼機能)等を有する。RAM100cは、CPU100aの処理に伴う内容、ファイル等を一時的に記憶するものであり、ROM100dは、CPU100aの基本的な処理内容を規定したプログラム等を記憶すると共に、スマートフォン100cを他の通信端末と識別するための通信端末識別情報(UID:Unique ID)も記憶している。なお、このUIDは、通信・通話モジュール100bがネットワークを通じて通信先へアクセスする場合、ROM100dから読み出され、この読み出されたUIDを含むアクセス要求情報を通信・通話モジュール100bは送信して、通信先へUIDを含むアクセスを行うことになる。
入出力インタフェース100eは、タッチパネル機能を具備したディスプレイ100gを接続しており、CPU100aの制御処理により生成された各種画面(図5〜10等に示す画面参照)をディスプレイ100gに表示出力して、出力した画面内容をディスプレイ100gに表示する処理を行うと共に、ディスプレイ100gの画面をユーザがタッチすることで受け付けた操作内容をCPU100aへ送る処理も行う。なお、ユーザがディスプレイ100gの画面をタッチすることで受け付ける操作内容は、表示している画面内容に応じて適宜、変化し、例えば、図5に示すパスワード入力画面50がディスプレイ100gに表示されていた場合で、ログインボタン50dが表示されている箇所に応じた画面部分がユーザによりタッチされると、ログインボタン50dの選択操作が行われた旨を入出力インタフェース100gは受け付けて、その旨をCPU100aへ送ることになる。
操作部100hは、スマートフォン100の筐体に設けられたハードボタンであり、操作部100hが操作されると、操作された旨がCPU100gに伝えられる。操作部100hの操作による意味合いは、スマートフォン100の処理状況により様々なものになり、例えば、アプリを起動している状況で、操作部100hが操作されると、アプリを終了する動作が行われるので、この場合、操作部100hの操作は、アプリの終了指示をユーザから受け付けることになる。本発明の場合、家計簿サービス用の家計簿アプリ101(記憶部100fにインストールされているもの)を用いるので、家計簿アプリ101を起動している状態で、操作部100hが操作されると、家計簿アプリ101の終了指示をスマートフォン100が受け付けたことになり、それに伴い、家計簿アプリ101のログオフ指示が、アプリケーションサーバ20へ送信されることになる。
記憶部100gは、OSプログラムP100、家計簿アプリ101等のプログラムを記憶(インストール)している。OSプログラムP100は、オペレーティングシステムに相当する基本プログラムであり、スマートフォン100が一種のコンピュータとして機能するためのCPU100aの処理を規定している。
家計簿アプリ101は、本発明に係る家計簿サービス(及びポイント付与サービス)の提供をユーザが受けられるようにするためのアプリケーションプログラム(コンピュータプログラム)であり、上述したアプリケーションサーバ20と通信を行って、家計簿サービスに関する様々な家計簿画面の生成及び表示を行うと共に、家計簿画面の表示に伴って様々な入力をユーザから受け取って、入力内容(ユーザ入力情報)をアプリケーションサーバ20へ送信する等の各種制御をCPU100aが行うようにしたことを規定し、それにより、CPU100aは例えば家計簿画面の生成手段のように、各種手段として機能する。
まず、家計簿アプリ101は、OSプログラムP100に基づくホーム画面(基本画面)において、選択操作の可能な家計簿アプリアイコンを表示できるようにしており、このホーム画面において、家計簿アプリアイコンの選択操作が行われると、アプリケーションサーバ20と通信・通話モジュール100bを用いて通信する制御をCPU100aが行うことを規定する。この通信制御に従って、パスワード入力画面用の画面データを通信・通話モジュール100bで受信すると、図5に示すパスワード入力画面50を生成して、ディスプレイ100gに表示する処理をCPU100aが行うことを、家計簿アプリ101は規定している。
そして、このパスワード入力画面50において、入力キー50cがユーザにより操作されて、ユーザ用のメールアドレス及びパスワードが入力欄50a、50bに入力された状態で、ログインボタン50dが選択される操作が行われると、入力されたメールアドレス及びパスワードを、通信・通話モジュール100bを用いてアプリケーションサーバ20へ送信する制御を行うことを、家計簿アプリ101は規定する。
パスワード等の送信に従って、アプリケーションサーバ20から送信されてくる家計簿情報(画面データ、現在の現金総額、現在の獲得ポイント等を含む家計簿情報)を通信・通話モジュール100bで受信すると、受信した家計簿情報に基づき、現在の現金総額、現在の獲得ポイント等を配置したトップページ画面51(図6に示すトップページ用の家計簿画面)を生成し、生成したトップページ画面51をディスプレイ100gに表示する処理をCPU100aが行うことを、家計簿アプリ101は規定する。なお、図6〜10等に示す家計簿画面において共通する下方に配置されるメニューバー60等の共通部分は、家計簿アプリ101に含まれる表示パーツデータにより生成されるようになっており、それにより、通信量を削減してスムーズに各種家計簿画面が表示されるようにしている。
一旦、家計簿画面(トップページ画面51)を表示すると、その後は、家計簿画面の操作可能箇所に対する操作を受け付けると、受け付けた操作に応じた内容をアプリケーションサーバ20へ送信し、その送信した内容に応じた家計簿に関する家計簿情報を受信し、受信した家計簿情報を用いて各種家計簿画面を生成して表示処理を行うことで、上述した各種家計簿用の画面を適宜、ディスプレイ100gに表示することができる。
一方、ユーザ登録が済んでいない場合は、ユーザID等の設定が完了していないことから、上述したパスワード入力が行えないので、メニューバー60等を適宜操作して、図7(b)に示すアカウント登録画面53を表示することになる。このアカウント登録画面23を表示した状態で、メールアドレス入力欄53a及びパスワード入力欄53bに所定の情報を入力して登録するボタン53cが操作されると、入力された情報を通信・通話モジュール100bを用いてアプリケーションサーバ20へ送信する制御を行うことを、家計簿アプリ101は規定している。なお、ユーザにより入力された情報をアプリケーションサーバ20へ送信することは、他の家計簿画面でも同様である。
例えば、図10(a)(b)に示す現金記録画面58をディスプレイ部100gに表示した状態で、収入ボタン58c又は支出ボタン58dのいずれかが選択された状態で、各入力欄58e〜58jに情報がユーザにより入力されると共に、保存ボタン58bがユーザにより選択されると、各入力欄58e〜58jに入力された情報(支出又は収入に関するユーザ入力情報)を、通信・通話モジュール100bを用いてアプリケーションサーバ20へ送信する制御を行うことを、家計簿アプリ101は規定する。なお、家計簿アプリ101は、パスワード等が入力されて一旦ログインがした状態となれば、その後、ユーザ操作が一定時間行われない、またはアプリの一旦停止などにより、スリープ状態に入っても、ホーム画面(基本画面)の家計簿アプリアイコンが選択されるなどにより、スリープ状態から復帰すれば、この場合はログイン状態が継続しているので、再度のパスワード入力(ログイン操作)は不要である。一方、起動していた家計簿アプリ101を終了させた場合は、ログイン状態からログオフ状態へ切り替わるので、再び家計簿アプリ101を使用するときは、図5に示す画面でのログイン操作が必要となる。
スマートフォン100に関する説明は以上のとおりであるが、通信端末T1、T2、T3等には上述したように、スマートフォン以外のパーソナルコンピュータ、タブレット、通信機能付きPDA、携帯電話等も適用でき、これらのスマートフォン以外の機器の中で、タッチパネル機能を具備しないものでは、図16に示す構成に対して、ディスプレイ部は表示情報が出力される出力インタフェースに接続される点、及びユーザからの操作を受け付けるキー・ボタン・スイッチ等のユーザ操作部が入力インタフェースに接続される点などが異なるが、それ以外の点では図16に示す構成と同等である。それゆえ、基本的に本発明に適用可能な通信端末T1、T2、T3等の構成は、主要な部分において図16に示す内容と共通する。
図17〜21の第1フローチャートから第5フローチャートは、上述した図1に示すポイント付与システム1のクラウドシステム10に含まれるサーバシステム2(アプリケーションサーバ20及びスクレイピングサーバ30)により、通信端末(図1に示す通信端末T1、T2、T3等)に対して行われるポイント付与方法に関する一連の処理手順を示している。以下、各フローチャートに従って、ポイント作成方法に関する処理内容を説明していく。
図17の第1フローチャートは、ユーザが通信端末を用いて家計簿サービスを提供するへサーバシステム2(アプリケーションサーバ20)へログインを行う場合の処理手順を示したものである。まず、通信端末は、ホーム画面上に表示される家計簿アプリアイコンに対するユーザの選択操作を受け付けることで、家計簿アプリ101を起動し、サーバシステム2(アプリケーションサーバ20)へ利用開始のアクセスを行う(S1)。アプリケーションサーバ20は、ユーザがログインを行っていない最初の段階では、通信端末からの利用開始のアクセスの有無を判断する状態となり(S10)、アクセスが無い場合(S10:NO)、アクセス待ちの状態となる。一方、アクセスが有った場合(S10)、ログイン用の画面データ(パスワード入力画面用の画面データ)をアクセス元の通信端末へ送信する(S11)。
通信端末は、ログイン用の画面データを受信すると、図5に示すパスワード入力画面50を表示し(S2)、所定のパスワード等の入力及びログインボタン50dの選択と云ったログインに必要なログイン操作を受け付けたか否かを判断する(S3)。ログイン操作を受け付けない場合(S3:NO)、ログイン操作待ちの状態となり、ログイン操作を受け付けた場合(S3:YES)、通信端末は、ログイン情報(入力されたパスワード、メールアドレス、及びUID等)をアプリケーションサーバ20へ送信する(S3)。
アプリケーションサーバ20は、ログイン用の画面データの送信後、ログイン情報を受信したか否かを判断する段階になっており(S12)、ログイン情報を受信していない場合(S12:NO)、ログイン情報の受信待ちの状態となり、ログイン情報を受信した場合(S12:YES)、受信したログイン情報(パスワード等)が、図3のユーザDB22に格納されたパスワード等に一致するか否かを判断する(S13)。ログイン情報が一致しない場合(S13:NO)、S11の段階へ戻り、ログイン用の画面データを再度、通信端末へ送信することになる。この場合、通信端末もS2の段階へ戻り、パスワード入力画面を表示して、パスワード等を入力できる機会を再度、ユーザに提示する。
一方、ログイン情報が一致した場合(S13:YES)、アプリケーションサーバ20は、一致したログイン情報のパスワード等に応じたユーザIDをユーザDB22から特定し、そのユーザIDに対応付けて記憶されているユーザ情報(現在の総金額を示す情報、今月の収支の金額を示す情報、現在のポイント数を示す情報等)をデータベースシステム40の各データベース41〜43から読み出す(S14)。そして、アプリケーションサーバ20は、読み出したユーザ情報及びトップページ画面51に必要な画面データを含む家計簿のトップ画面情報(家計簿情報)を生成し、その生成した家計簿のトップ画面情報を通信端末へ送信する(S15)。
家計簿のトップ画面情報を受信した通信端末は、受信したトップ画面情報等を用いて、図6に示す家計簿サービスのトップページ画面51(家計簿トップ画面)を生成しディスプレイ100gに表示する(S5)。このトップページ画面51は図6に示すように、直近のユーザの総資産額が示されるので、ユーザは一目で現在の総資産を把握でき、また、その下方には、その月の収支の額が、あわせて収入額及び支出額と共に表示されるので、その月の収支の概要も容易に把握できる。さらに、その下方には、その月のカレンダー内の日付と対応づけて収入又は支出の額が示されるので、日付と対応づけて収支の詳細を確認できる。さらにまた、カレンダーの下方には、現在の獲得ポイント数が示されるので、家計簿サービスへのログイン直後のトップページ画面51で、ユーザはポイントの現状を即座に確認でき、ポイント確認のために表示画面を切り替える必要も無く、容易にポイント数を把握できる。以上のように、本発明で用いる家計簿サービスのトップページ画面51は、ユーザに関する複数の最新の金銭的な情報を一度に提示できるので、ログインを行うだけで、ユーザは自身の各種金銭的な状況を一度に確認できるメリットがある。
図18に示す第2フローチャートは、ある一つの家計簿画面(この第2フローチャートの場合では、トップページ画面51)を表示した状態で、他の家計簿画面へ表示を切り替える処理等の流れを示したものである。通信端末は、トップページ画面51を表示した状態でユーザから画面切替に関する操作を受け付けたか否かを判断する(S20)。画面切替に関する操作の例としては、図6のトップページ画面51における現金記録ボタン51b等又はメニューバー60に含まれる各ボタン60a〜60e等のいずれかがユーザにより選択されることが挙げられる。
画面切替に関する操作を受け付けた場合(S20:YES)、通信端末は、操作した対象の画面を要求する画面要求情報をアプリケーションサーバ20へ送信する(S21)。アプリケーションサーバ20は、画面要求情報を受信したか否かを判断する段階(S30)になっており、画面要求情報を受信しない場合(S30:NO)、受信待ちの状態になる。また、画面要求情報を受信した場合(S30:YES)、受信した画面要求情報に応じた家計簿サービスの画面が、画面内容としてユーザ情報(ユーザの金銭に関する情報)を必要とするものであれば、アプリケーションサーバ20は、データベースシステム40の各データベース41〜43へアクセスして必要な情報の読み出し等を行う一方、画面形成に必要な画面データを準備して、画面生成に必要な内容(画面データ等)を含む画面情報(家計簿情報)を生成し(S31)、その生成した画面情報を通信端末へ送信する(S32)。
通信端末は、画面情報を受信すると、受信した画面情報等を用いて、要求した家計簿サービス用の家計簿画面を生成して表示する(S22)。これにより、上述したトップページ画面51の他に、図7〜10等に示す各種家計簿画面を表示できるようになる。この後は、ユーザが所望した家計簿画面で、各種内容を確認する処理、収支等の入力、各種設定・変更等の家計簿処理が、通信端末及びサーバシステム2(アプリケーションサーバ20及びスクレイピングサーバ30)の間で行われることになる(S100)。
そして通信端末は、家計簿処理の段階(S100)の後、又は、画面切替に関する操作を受け付けなかった場合(S20:NO)、家計簿サービス(家計簿アプリ101)の終了操作を受け付けたか否かを判断する(S23)。終了操作を受け付けていない場合(S23:NO)、最初の画面切替に関する操作を受け付けたか否かを判断する段階(S20)へ戻る。一方、終了操作を受け付けた場合(S23:YES)、通信端末は、起動させていた家計簿アプリ101を終了してログオフ指示をアプリケーションサーバ20へ送信する(S24)。なお、この終了操作を受け付けることで、通信端末における家計簿サービスに関する処理は一旦終了する。
アプリケーションサーバ20は、上記の家計簿処理の段階(S100)の後、ログオフ指示を受信したか否かを判断し(S33)、ログオフ指示を受信していない場合(S33:NO)、最初の画面要求情報を受信したか否かを判断する段階(S30)に戻る。また、ログオフ指示を受信した場合(S33:YES)、アプリケーションサーバ20は、家計簿サービスの提供に伴う処理を一旦終了する。
図19に示す第3フローチャートは、上述した第2フローチャートの中の家計簿処理の段階(S100)の一例として、図10(a)、(b)に示す現金記録画面58を表示した状態で、ユーザの入力操作が行われた場合の主要な処理の流れを示している。まず、通信端末は、収入ボタン58c又は支出ボタン58dのいずれかが選択された状態で、各入力欄58e〜58jに情報が入力されるユーザの入力操作が行われたか否かを判断し(S40)、入力操作が行われていない場合(S40:NO)、入力操作待ちの状態になる。
また、入力操作が行われた場合(S40:YES)、通信端末は次に、現金記録画面58の右側に配置された保存ボタン58bがユーザにより選択操作が行われたか否かを判断する(S41)。保存ボタン58bが選択されていない場合(S41:NO)、選択待ちの状態となり、保存ボタン58bの選択が行われた場合(S41:YES)、通信端末は、各入力欄58e〜58jに入力された収入又は支出の入力情報(ユーザ入力情報)をアプリケーションサーバ20へ送信する(S42)。
アプリケーションサーバ20は、通信端末からの入力情報を受信したか否かを判断する段階(S50)になっており、入力情報を受信しない場合(S50:NO)、受信待ちの状態となる。また、入力情報を受信した場合(S50:YES)、データベースシステム40へアクセスして、現金記録データベース41におけるログイン中のユーザのユーザIDに応じた現金記録テーブル41a等へ受信した入力情報を記憶する処理を行う(S51)。このような図19の第3フローチャートに示す処理を経ることで、図11(b)に示すように、現金記録テーブル41a等には、収入又は支出の入力情報が蓄積されていく。
図20に示す第4フローチャートは、家計簿サービスを利用するユーザにより、上述した図10(a)、(b)の現金記録画面58で、収入又は支出に関する入力操作が行われたことに対して、サーバシステム2(アプリケーションサーバ20)がポイントを付与する処理の流れを示している。このような処理は、上述した第1〜第3フローチャートの家計簿サービスに関する処理等と平行して、サーバシステム2で行われる。本実施形態では、入力操作を行ったか否かの対象となる期間を1日単位にしており、1日に1回以上、ユーザが入力操作を行えば、ポイントを付与することにしている。1日の単位は、0時(午前0時)を開始時期にしており、0時になると、その前日の1日の0時から次の日の0時までの間に、ユーザによって、家計簿の中身に反映されるような入力操作が有ったか否か(ユーザの通信端末から受信したユーザ入力情報が、現金記録データベース41に記憶されている中に有るか否か)を検知することで、ポイント付与の判断を行っている。
すなわち、アプリケーションサーバ20は、MPU20aが具備するタイマー・クロック機能を利用して、0時(所定の時間)に達したか否かを判断し(S60)、0時になっていない場合(S60:NO)、0時になるまで待つ状態となり、0時になった場合(S60:YES)、データベースシステム40の現金記録データベース41(図11(a)参照)の中に、前日の1日の期間(一定の期間)に受信した入力情報(収入又は支出に関するユーザ入力情報)が有るか否かを、全ユーザIDのユーザテーブル41a〜41nに対して検知する(S61)。このような処理を具体的に説明すると、例えば、4月1日の0時になったことを、アプリケーションサーバ20が検知すると、その前日の3月31日の0時から11時59分59秒の期間(一定の期間)に受信した入力情報が、現金記録データベース41のユーザテーブル41a〜41nの記憶されている中に、有るか否かを検知することになる。
検知の結果、入力情報があった場合(S61:YES)、アプリケーションサーバ20は、入力情報があったユーザテーブルのユーザにポイントを付与することを判断し、図4のポイント条件テーブル23を参照して、1ポイント(ポイントの数として「1」)を、入力情報有りを検知したユーザに対応づけて、データベースシステム40のポイントデータベース42に記憶する(S62)。なお、ポイントを、ユーザ(ユーザID)に対応付けて、ポイントデータベース42に記憶する具体的な記憶処理は、対応づけるユーザIDのポイントテーブル(図12(a)に示すポイントテーブル42a〜42nのいずれか)に、ポイントを記憶することを意味する(以下、同様)。
例えば、図11(a)に示す現金記録データベース41に格納されるユーザIDが「0002」のユーザテーブル41bの中に入力情報を検知した場合(S61:YES)、図12(a)に示すポイントデータベース42において、ユーザIDが同じ「0002」のポイントテーブル42bの中に1ポイントが記憶されることになる。
上述したような処理を全ユーザに行うことで、ユーザ入力情報の有ったユーザに対しては、1ポイントが付与されることになり、また、ユーザ入力情報が無い場合には(S61:NO)、ポイント付与を行うことなく処理を終了することになる。なお、本実施形態では、家計簿サービスを利用促進を図る程度と、ポイント付与とのバランスを考慮して、1日に複数回の入力情報があっても、付与するポイント数は同じにしている(1日の入力情報の回数に関係なく、一律に1ポイントを付与)。
図21に示す第5フローチャートは、アカウントアグリゲーションにより収集されるユーザ金銭データの対象を光熱費に係る引き落とし金額にした場合のポイント付与方法の処理を示したものであり、ユーザの銀行の口座データまたはカード利用データから光熱費に係る引き落としを検知し、検知した引き落とし額が、前回分の引き落とし額より低ければ、額の差額に応じてポイントを付与する処理の流れになっている。この処理も、引き落としに係る口座データ(ユーザ金銭データ)またはカード利用データ(ユーザ金銭データ)が、スクレイピングサーバ30により収集されてデータベースシステム40の個人金融データベース43に記憶する処理が完了することに起因して行われるようになっており、具体的には、上述した第1〜第3フローチャートの家計簿サービスに関する処理等と平行して、第5フローチャートに示す処理も、1日単位で0時(午前0時)になると、サーバシステム2が開始するようにしている。
サーバシステム2(スクレイピングサーバ30)は、MPU30aが具備するタイマー・クロック機能を利用して、0時(所定の時間)になったことを判断すると、個人金融データベース43(記憶装置)の中に、その時点で記憶されたユーザの銀行の口座データまたはカード利用データにおいて、その前日の1日に収集された中に、光熱費に係る引き落としが有ったか否かを、全てのユーザに対して検知する(S70)。光熱費にかかる引き落としが、記憶されたユーザの銀行の口座データまたはカード利用データの中に有ったことを検知した場合(S70:YES)、スクレイピングサーバ30は、検知を行ったユーザの口座データまたはカード利用データと同一対象となる前回分の引き落とし額を、個人金融データベース43の中に記憶された過去分のユーザの銀行の口座データまたはカード利用データから特定する(S71)。これらの処理の具体例を説明すると、S70の段階で、光熱費として電気代の引き落としをユーザIDが「0002」の金融テーブル43bで検知すると(図13(a)参照)、S71の段階では、光熱費に関する前回分の引き落とし額を、ユーザIDが「0002」の金融テーブル43bに記憶された中から特定することになる。
それから、サーバシステム2(スクレイピングサーバ30)は、検知した引き落としに係る金額(直近に記憶された今回分の引き落とし金額。金銭的な価値に相当)と、S71の段階で特定した前回分の引き落とし額(前回分の金額。金銭的な価値に相当)とを比較して、今回分の金額が前回分の金額より低いか否かを判断する(S72)。今回分の金額が前回分の金額より低い場合(S72:YES)、サーバシステム2(スクレイピングサーバ30)は、比較を行ったユーザにポイントを付与することを判断し、今回分の金額と、前回分の金額の差を算出して、算出した金額の差に応じたポイント数をポイント条件テーブル33に基づき特定し、その特定したポイント数を付与ポイントとして、比較したユーザ(ユーザID)に対応づけてデータベースシステム40のポイントデータベース42に記憶する(S73)。
本実施形態では上述したように、ポイント条件テーブル33に基づき、付与するポイント数を特定するので、今回分の金額と、前回分の金額との差額が大きいほど、付与されるポイント数を多くしているので(図4参照)、ユーザが光熱費を前月より抑制しようとする意欲を引き出すことに貢献できる。なお、光熱費に係る引き落としが無い場合(S70:NO)、または今回分の金額が前回分の金額より低くない場合(S72:NO)、ポイント付与を行うことなく処理を終了することになる。上述したような処理を、全ユーザに行うことにより、ユーザは特別な操作を行わなくても、日頃から光熱費の抑制に配慮したエコロジカルな生活を送るようにしていれば、自ずとポイントを獲得できる。
以上に説明したように本発明は、支出又は収入の入力に対して家計簿サービスを少なくとも1日に1回使えば、ポイントが付与されるので、オンライン家計簿の利用促進に役立てることができ、また、光熱費(電気、水道、ガス)を無駄遣いしない生活を心がければ、ポイントが付与されるので、無駄遣いの抑制を心がけるユーザをポイント付与により奨励できる。
なお、本発明は上述した実施形態に限定されるものではなく、様々な変形例が考えられる。例えば、図1に示すシステム構成において、サーバシステム2が自前のデータベースを確保できる場合は、サーバシステム2にデータベースシステム40を組み込んでもよく、さらには、サーバシステム2において、現金記録データベース41、ポイントデータベース42、及び個人金融データベース43に格納される各種テーブル(テーブルに記憶された各データ、情報)を、自己の大容量記憶システム(大容量記憶システム20g又は30g)に記憶するようにしてもよい。また、家計簿サービスを大規模で行う場合などには、2台より多くの複数のサーバを用いてサーバシステム2を構築し、各サーバ20、30が行う処理を分散的に行うようにしてもよい。さらにまた、サーバシステム2の中のアプリケーションサーバ20が大容量記憶手段を確保できる場合は、データベースシステム40の中の現金記録データベース41、ポイントデータベース42、及び個人金融データベース43のいずれかの少なくとも一つを、自身の大容量記憶手段に格納するようにしてもよく、このようにすることで、データベースシステム40との間でデータのやり取りをする場合に比べてスムーズにデータを扱うことが可能になる。
さらに、ポイント付与に係る処理は、アプリケーションサーバ20が纏めて全てを行うようにしてもよく、このような変形例では、図21の第5フローチャートに示した処理をアプリケーションサーバ20が行うことになり、アプリケーションサーバ20のアプリケーションプログラム21が、図21に示す第5フローチャートに示した処理内容を規定して、MPU20aに第5フローチャートに係る処理を実行させることになる。この場合、アプリケーションサーバ20は、データベースシステム40の個人金融データベース43の中に、アグリゲーションサーバ30により収集されるユーザ金銭データの対象を光熱費に係る引き落とし金額が記憶される処理が行われることに対して処理を行うことになり、午前0時になると、個人金融データベース43(記憶装置)の中に、その時点で記憶されたユーザの銀行の口座データまたはカード利用データにおいて、その前日の1日に収集された中に、光熱費に係る引き落としが有ったか否かを、全てのユーザに対してアプリケーションサーバ20が検知して処理を開始する(S70)。このようにポイント付与に係る処理をアプリケーションサーバ20が一括して行うようにすると、アグリゲーションサーバ30は、アグリゲーション処理に集中できるメリットが生じる。さらにまた、ポイント付与に係る処理は、データベースシステム40で行うようにすることも可能であり、データベースシステム40が具備する記憶部に、アプリケーションプログラム21(図2参照)に含まれるポイント付与に係る処理内容(第4フローチャートに示す処理内容)及びスクレイピングプログラム31に含まれるポイント付与に係る処理内容(第5フローチャートに示す処理内容)を記憶させて、データベースシステム40の制御部40aが、ポイント付与に係る処理を行う手段として機能することにより、ポイント付与方法に係る各処理を行わせてもよく、この場合、データベースシステム40が自ら具備する各データベース41〜43に対してデータ(ユーザ金銭データ、ポイントデータ等)を扱えるので、よりスムーズに処理を進められるメリットがある。
また、図4のポイント条件テーブル23が規定するポイント付与の条件、及び付与するポイント数は一例にすぎず、他の条件、他のポイント数を規定することも勿論可能である(図14に示すポイント条件テーブル33も同様)。例えば、ポイント付与の条件としては、支出に関するユーザ入力情報だけをポイント付与の対象にしてもよい。さらに、ユーザ入力情報に対するポイント付与の条件を判定する期間(一定期間)は、1日以外に、1日より短い半日(12時間)、更に短い8時間、6時間、4時間等の単位にしてもよい。このように1日より短い期間を設定すれば、ポイント付与を目的にしたユーザが、オンライン家計簿を更に短い周期で利用することが想定され好適である。
一方、1日半、2日、3日、1週間、半月、1ヶ月というように1日より長い期間を設定することも勿論可能であり、このように1日より長い期間を設定した場合は、ポイント付与処理に係るサーバの処理負担を低減できるメリットがある。なお、1日より長い期間を設定した場合などには、受信したユーザ入力情報の数に応じて、付与するポイント数を変更することも想定でき、例えば、条件の判定期間として1週間を設定した場合、ユーザ入力情報の数が7以下であれば、1ポイント付与、8以上20以下であれば、2ポイント付与、21以上30以下であれば、3ポイント付与などのように、ユーザ入力情報の数に応じて、適宜、付与するポイント数を変えることが好ましい。また、ポイント付与の判断時期(所定の時間)も、上述した実施形態のように0時に限定されるものではなく、他の時間に設定することも可能であるが、可能であれば、ユーザの利用頻度が下がる深夜を含む時間帯(0時から5時)のいずれかの時刻に設定することが、システムの処理負担を考慮すれば好ましい。
さらに、ユーザ入力情報に対するポイント付与処理については、上述したように、一定期間の間隔をあけて行う以外に、ユーザ入力情報が行われるごとに、リアルタイム的に行うようにしてもよい。リアルタイム的にポイント付与を行う場合であっても、オンライン家計簿の利用促進と、付与するポイント数とのバランスの観点より、1日に複数回のユーザ入力情報を受信しても、付与するポイント数の程度を考慮する必要があり、以下の説明例では、1日に1回以上のユーザ入力操作があれば、一律に1ポイントを付与する内容で説明を行うものとするが、勿論この内容に限定されるものではない。
リアルタイム的にポイント付与処理を行う場合、アプリケーションサーバ20が、各ユーザT1、T2、T3等の通信端末U1、U2、U3等から送信されてくるユーザ入力情報(ユーザにより入力された収入又は支出に関する入力情報)を受信したことをトリガーにして、ポイント付与処理を開始することになる。
図22は、サーバシステム2のアプリケーションサーバ20が行うリアルタイム的にポイント付与に関する処理の流れを示す第6フローチャートであり、この処理を行う場合、アプリケーションサーバ20のアプリケーションプログラム21(図2参照)に、第6フローチャートに示される処理が規定され、MPU20aが第6フローチャートに示す処理の制御を実行して各種手段として機能することになる。
まず、アプリケーションサーバ20は、ユーザ入力情報を受信したか否かを判断する(S80)。ユーザ入力情報を受信した場合(S80:YES)、受信したユーザ入力情報に付帯するUIDより、図3のユーザDB22を参照してユーザIDを特定し、S80の段階でユーザ入力情報を受信した日の0時(所定のとき)から、S80の段階でユーザ入力情報を受信したときまでの間に受信した他のユーザ入力情報(特定したユーザIDに応じた他のユーザ入力情報)の有無を、現金記録データベース41に含まれる特定したユーザIDに応じたユーザテーブルに対して検知する(S81)。
0時から受信したときの間に、特定したユーザIDの他のユーザ入力情報が無いことを検知した場合(S81:NO)、その日の初めての収支のユーザ入力操作が行われたことになるので、アプリケーションサーバ20は、S80の段階で受信したユーザ入力情報に係るユーザ(特定したユーザIDのユーザ)に、1ポイントを付与することを判断し、ポイントデータベース42の中の特定したユーザIDのポイントテーブルに1ポイントを記憶する処理を行う(S82)。また、アプリケーションサーバ20は、1ポイント獲得を示すポイント情報を生成して、ユーザ入力情報の送信元となる通信端末へ向けて、生成したポイント情報を送信する処理を行う(S83)。なお、このポイント情報は、獲得したポイント数(1ポイントを示す情報)を含むと共に、通信端末で表示されると、表示ディスプレイにおいて現在表示中の画面にオーバレイ表示されるようになっている。
図23は、アプリケーションサーバ20から送信されたポイント情報に基づくポイント獲得ポップアップ61が通信端末で表示された状態を示している。通信端末では、ポイント情報を受信すると、受信したポイント情報に基づき図23に示すポイント獲得ポップアップ61を生成して、ディスプレイ100gに表示する処理を行う。それにより、ユーザは、収支に係るユーザ入力操作を行ってポイントを獲得できれば、ディスプレイ100gに割り込みでオーバレイ表示されるポイント獲得ポップアップ61により、1ポイント獲得できたことを直ちに確認でき、オンライン家計簿を利用しようとするユーザの気持ちを刺激して、オンライン家計簿の利用促進の度合いを更に向上できるメリットがある。
なお、図22の第6フローチャートのS80の段階で、アプリケーションサーバ20がユーザ入力情報を受信しない場合(S80:NO)、受信待ちの状態となり、また、S81の段階で、他のユーザ入力情報を検知した場合は(S81:NO)、すでに、その日において、収支に係るユーザ入力操作をユーザは行っているので、ポイントを付与することなく、第6フローチャートの処理を終了することになる。
このようなリアルタイム的なポイント付与処理においても、上述した一定の期間の間隔をあけてポイント付与処理を行う場合で説明した各種変形例を適用でき、例えば、ポイント付与判断を行う期間は、1日以外に、半日又は6時間等のように1日より短くすること、若しくは1日半又は2日のように1日より長くすることも可能であり、付与するポイント数も適宜、変更可能である。また、図22のS81の段階の処理(既に、収支のユーザ入力操作を行うことで、他のユーザ入力情報の有無を検知する処理)は、現金記録データベース41を検知する以外に、ポイントデータベース42に対して、特定したユーザIDに対応づけて1ポイントが付与されているか否かで行うことも可能であり、また、単純に、特定したユーザIDのユーザ入力情報の受信が、その日の1回目であるか否かを判断することで検知してもよい。
一方、アカウントアグリゲーションの機能を利用した光熱費に係る引き落としによるポイント付与については、処理を簡略化する場合は、付与するポイント数を一律にしてもよい。また、ポイント付与の対象として、電気代、上下水道代、ガス代の全てを対象にするのではなく、これらのいずれか一つをポイント付与の対象にしてもよい。さらに、ポイント条件テーブル23が規定する条件及びポイント数は一定ではなく、時期に応じて適宜、変更するようにしてもよい。
例えば、電力不足の時期であれば、電気使用量の削減を行うことは社会的に意義が大きいので、そのような電力不足の時期には、電気代に対するポイント付与数を、他の上下水道代、又はガス代に比べて多くするようにポイント条件テーブル23の中身を変更してもよく、また、そのような電力不足の時期には、引き落としによるポイント付与の対象を電気代のみに絞ってもよい。同様に、水不足の時期には、上下水道代に対するポイント付与数を、他の電気代、ガス代に比べて多くするようにポイント条件テーブル23の中身を変更してもよく、また、そのような水不足の時期には、引き落としによるポイント付与の対象を上下水道代のみに絞るようにしてもよい。
さらにまた、引き落としによるポイント付与の条件は、今回分の金額が、前回分の金額より低い場合だけでなく、例えば、比較の結果、同額の場合にポイントを付与するようにしてもよく、このようにすれば、ポイント付与についてゲーム的な楽しみをユーザに提供できる。また、引き落としによるポイント付与の対象は、光熱費以外を対象にしてもよく、例えば、クレジットカードの使用に伴うカード利用料金の月ごとの引き落とし額をポイント付与の対象に用いてもよい。
このようにポイント付与の対象として、カード利用利用料金の月ごと引き落とし額を用いた場合、今回分の額が前回分の額より低いときにポイントを付与する条件にすれば、ユーザの無駄遣い防止(節約の薦め)を奨励するサービスを提供することになり、一方、上記とは逆に、今回分の額が前回分の額より高いときにポイントを付与する条件を用いてもよく、このようにすれば、カード会社及び商品・サービスの提供会社等の事業者側が、従来のポイント付与とは異なる観点で新たなポイント付与サービスを展開でき、ユーザの消費を促すことができる点において好適となる。なお、このようにポイント付与の対象として、カード利用料金の引き落とし額を用いる場合等も、金額の差に応じて付与するポイント数を変えることが好適であるが、処理を簡略化する場合は、付与するポイント数を一律にしてもよい。
また、上述した引き落とし額による比較処理の対象は、前回分以外を用いる以外に、過去分全般を適用することも想定でき、例えば、過去分として、2ヶ月前の額又は3ヶ月前の額のように前回分以外の額を用いることも可能であり、さらには、過去分として、過去の所定期間の平均値(例えば、直近の3ヶ月間の平均値または直近の半年間の平均値等)を用いるようにしてもよい。このように比較処理の対象を過去分の様々な内容に設定することにより、一時的な対応ではポイント獲得が困難になるので、ポイント獲得に対する一層の関心をユーザに要求し、ユーザの意識付けを高めるようにしてもよい。
さらに、アカウントアグリゲーションによるポイント付与の対象は、光熱費等の引き落としに限定されるものではなく、アカウントアグリゲーションにより収集される各種ユーザ金銭データ全般を、その対象にすることが可能である。具体的には、図13(b)に示される各種テーブル44a〜44f等に応じて、ユーザの預金口座の金額、外資資金口座の金額、所有する株式に係る金額、所有する株数、投資信託に係る金額、債券に係る金額等のいずれかをユーザ金銭データとして用いて、アカウントアグリゲーションにより、ユーザ金銭データとして取得すると、記憶処理を行うと共に、同一の対象となる過去分を特定して比較処理を行い、比較結果に応じてポイント付与を判断するようにしてもよい。
例えば、ユーザ金銭データとして、ユーザが所有する株式の株数を用いた場合、アカウントアグリゲーションにより収集された株数を表すデータが(ユーザ金銭データに相当)が、個人金融データベース43の中のあるユーザの株式テーブルに記憶されると、その株式テーブルに記憶された同一銘柄の1年前の株数を表すデータ(過去分のユーザ金銭データに相当)を特定して、今回記憶された株数を表すデータと、1年前の株数を表すデータとを比較する。比較の結果、今回記憶された株数(金銭的な価値に相当)が、1年前の株数(金銭的な価値に相当)より多い場合(金銭的な価値が高い場合に相当)は、同一銘柄の株数を増やしたことになるので、このような場合は、その銘柄に応じた会社に貢献することなることから、ポイントを付与すると判断するようにしてもよい。
さらにまた、アカウントアグリゲーションによるポイント付与の処理も、所定の時間(例えば、午前0時)になると開始する以外に、ユーザによる操作が行われた任意の時間に行うこと、または、収集されたユーザ金銭データが個人金融データベース43へ記憶する処理が行われるごとに行うようにしてもよい。たとえば、前者の場合は、家計簿アプリ101が再起動されて、アプリケーションサーバ20が利用開始アクセスを受けたことに基づいて、図21に示す第5フローチャートに応じた処理を開始するようにしてもよく、また、後者の場合は、アカウントアグリゲーションにより収集されたユーザ金銭データが個人金融データベース43へ記憶する処理が行われたことを、スクレイピングサーバ30又はデータベースシステム40がアプリケーションサーバ20へ通知することで、第5フローチャートに応じた処理を開始するようしてもよい。なお、このような場合のポイント付与処理では、ユーザにポイント付与が行われたことを通知するために、ポイント付与処理を行った場合は、アプリケーションサーバ20がポイント情報を、ポイント付与を行ったユーザの端末へ送信して、図23に示すポイント獲得ポップアップ61をユーザの通信端末で表示させるようにすることが好適である。
また、上述したアカウントアグリゲーションによるポイント付与に関する内容は、オンライン家計簿とは別に、独立して行うことも可能であり、この場合は、アカウントアグリゲーションを利用するユーザの増加またはアグリケーション対象の増加等を図るために、ポイント付与を利用することができる。
一方、家計簿サービスにおける各種画面表示に係る処理においては、通信端末側の処理負担と、サーバシステム2側の処理負担のバランスを変更することも可能であり、例えば、図5のパスワード入力画面50の表示に必要な画面データ及び処理は、家計簿アプリ101に含ませて、家計簿アプリ101に基づく通信端末側の処理で、パスワード入力画面までを表示するようにしてもよい。また、家計簿サービスの各種画面の提示においては、家計簿アプリ101を用いないで行うことも可能であり、この場合、家計簿サービス用のウェブサイトをネットワーク上に構築し、このウェブサイトにおいて、上述した図5〜10等に示す各種画面の提示を行うようにして、家計簿サービスのウェブサイトへのアクセスにより、オンライン家計簿をユーザに提供することも好ましい。
また、オンライン家計簿の利用を一段と高めるためには、上述した収支のユーザ入力操作に応じてポイント付与を行うこと以外に、単に家計簿アプリ101を起動するだけで、ユーザにポイントを付与するようにしてもよい。家計簿アプリ101の起動に応じてポイント付与を行う場合であっても、オンライン家計簿の利用促進と、付与するポイント数とのバランスの観点より、1日に複数回、家計簿アプリ101を起動した場合でも、付与するポイント数の程度を一定に抑える必要があり、以下の説明例では、1日に1回以上、家計簿アプリ101を起動しても、付与するポイント数は1ポイントに限定する内容で説明を行うものとするが、勿論この内容に限定されるものではない。
家計簿アプリ101の起動に応じてポイント付与処理を行う場合、リアルタイム的にポイント付与処理を行う場合、アプリケーションサーバ20が、各ユーザT1、T2、T3等の通信端末U1、U2、U3等から、家計簿アプリ101の起動に伴う利用開始アクセスを受けたことに伴って、処理を開始することになる。
図24は、サーバシステム2のアプリケーションサーバ20が行う家計簿アプリ101の起動によりポイントを付与する処理の流れを示す第7フローチャートであり、この処理を行う場合、アプリケーションサーバ20のアプリケーションプログラム21(図2参照)に、第7フローチャートに示される処理が規定され、MPU20aが第7フローチャートに示す処理の制御を実行して各種手段として機能することになる。
まず、アプリケーションサーバ20は、家計簿アプリ101の起動に伴う利用開始アクセスが通信端末から有ったか否かを判断する(S90)。利用開始アクセスが有った場合(S90:YES)、その利用開始アクセスに含まれるUID(通信端末識別情報)より、図3のユーザDB22を参照してユーザIDを特定し、S90の段階の利用開始アクセスが有った日の0時(所定のとき)から、S90の段階の利用開始アクセスが有ったときまでの間に、同一のUIDによる他の利用開始アクセスが有ったか否かを、ポイントデータベース42に記憶されているポイント付与の理由から検知する(S91)。
0時から利用開始アクセスが有ったときまでの間に、特定したユーザIDによる他の利用開始アクセスが無いことを検知した場合(S91:YES)、その日の初めて、家計簿アプリ101が起動されたことになるので、アプリケーションサーバ20は、S90の段階の利用開始アクセスに含まれるUIDのユーザ(特定したユーザIDのユーザ)に、1ポイントを付与することを判断し、ポイントデータベース42の中の特定したユーザIDのポイントテーブルに1ポイントを記憶する処理を行う(S92)。また、アプリケーションサーバ20は、1ポイント獲得を示すポイント情報および家計簿情報を生成して、ユーザ入力情報の送信元となる通信端末へ向けて、生成したポイント情報および家計簿情報を送信する処理を行う(S93)。
ポイント情報および家計簿情報を受信した通信端末では、家計簿画面にオーバレイ表示されたポイント獲得ポップアップが表示されることになり(図23参照)、それにより、家計簿アプリ101の起動により、ポイントを獲得できたことをユーザは一目で確認できる。このような処理を行うことで、家計簿アプリ101を利用しようとするユーザの気持ちを高めることができ、オンライン家計簿の利用促進を一層向上できる。
なお、図24の第7フローチャートのS90の段階で、利用開始アクセスが無い場合(S90:NO)、利用開始アクセスを待つ状態となり、また、S91の段階で、既に利用開始アクセスが有ったことを検知した場合は(S91:NO)、すでに、その日において、ユーザは家計簿アプリ101を起動しているので、ポイントを付与することなく、第7フローチャートの処理を終了することになる。このような家計簿アプリ101の起動に伴うポイント付与処理においても、上述したポイント付与処理について説明した各種変形例を適用でき、例えば、付与するポイント数も適宜、変更可能である。また、図24のS91の段階の処理は、ポイントデータベース42を検知する以外に、利用開始アクセスが有ったか否かをユーザごとにログ情報として記憶しておき、そのログ情報を検知することで、利用開始アクセスの有無を検知判断するようにしてもよい。さらに、上述した様々な各種変形例は、適宜組み合わせることも可能である。