(57)【要約】【課題】少なくとも、商品の実際の使用者からの提供情報を提供可能とする商品情報提供装置を提供する。【解決手段】サーバ１と、サーバ１に接続され、商品情報を格納する商品情報データベース２ａとユーザが提供したユーザ提供情報を格納するコメントデータベース２ｂからなるデータベース２と、ネットワーク５を介してサーバ１と通信可能に接続されたコンピュータ３及び携帯端末４とを備え、携帯端末４が商品１０１に付されＩＣタグ１０２のタグｉｄを非接触通信によって取得可能であり、少なくとも、入力されたユーザ提供情報をコメントデータベース２ｂに書き込む提供情報登録手段と、タグｉｄが取得されたか否かに基づいてその商品をユーザが使用したか否かを判定する使用判定手段と、を備え、提供情報登録手段は、使用判定手段が対象の商品をユーザが使用したと判定した場合に、ユーザ提供情報をコメントデータベース２ｂに書き込む構成を有している。【選択図】図１
2008293362.tif 000002
【特許請求の範囲】
【請求項１】
ユーザを特定可能な装置であって、商品に付され商品を特定するタグｉｄを非接触通信によって取得可能であり、少なくともメーカ名及び所定の仕様を含む商品に関する商品情報を格納する商品情報データベースと商品に関してユーザが提供したユーザ提供情報を格納可能なコメントデータベースとにアクセスして前記商品情報と所定の前記ユーザ提供情報を表示可能な商品情報提供装置において、
ユーザに前記ユーザ提供情報の入力を可能とし、入力された前記ユーザ提供情報を前記コメントデータベースに書き込む提供情報登録手段と、
前記タグｉｄが取得されたか否かに基づいて特定される商品をユーザが使用したか否かを判定する使用判定手段と、を備え、
前記提供情報登録手段は、前記使用判定手段が対象の商品をユーザが使用したと判定した場合に、前記ユーザ提供情報を前記コメントデータベースに書き込むことを特徴とする商品情報提供装置。
【請求項２】
前記提供情報登録手段が、前記ユーザ提供情報を他の装置からアクセス可能な情報としてのレポートと他の装置にアクセスを許容しない情報としてのコメントとに識別してユーザに入力可能とし、前記提供情報登録手段が、前記レポートを他の装置からアクセス可能に前記コメントデータベースに書き込み、前記コメントを他の装置にアクセスを許容しないように前記コメントデータベースに書き込むことを特徴とする請求項１に記載の商品情報提供装置。
【請求項３】
前記タグｉｄが内部と外部から取得可能になっている車両を商品とし、
前記使用判定手段が、取得された前記タグｉｄに基づいてこのタグｉｄで特定される車両にユーザが搭乗したか否かを判定し、
前記提供情報登録手段は、前記使用判定手段が前記タグｉｄで特定される車両にユーザが搭乗したと判定した場合に、前記レポート及び前記コメントのうちのいずれか１つ以上の書き込みを可能にすることを特徴とする請求項２に記載の商品情報提供装置。
【請求項４】
試乗中に所定時間以上の時間間隔で商品に付されたタグｉｄを複数回取得し、前記使用判定手段が、取得したタグｉｄが同一である場合に、同一のユーザが継続して試乗したと判定することを特徴とする請求項３に記載の商品情報提供装置。
【請求項５】
運転中の位置情報を取得して試乗経路に応じた位置情報と時刻の蓄積が可能な手段を備え、
前記使用判定手段が、前記試乗経路に応じて蓄積された位置情報と時刻に基づいて、同一のユーザが継続して試乗したか否かの判定を行うことを特徴とする請求項３に記載の商品情報提供装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、商品に関する各種情報を提供する商品情報提供装置又はシステムであり、特に通信ネットワークを介して、購入商品の決定に有効な情報を提供する商品情報提供装置又はシステムに関するものである。
【背景技術】
【０００２】
近年、消費者の嗜好の多様化に伴って商品の種類も多様化し、消費者が購入商品を選択する際に各種の情報が必要となりつつある。特に、最近は口コミ情報によって商品の売れ行きが左右されるなど、メーカ側からの情報のみでなく消費者側から発信される情報の重要性も高まっている。また、特に高額商品の購入の場合、複数の購入候補に関して購入者本人が独自に各種の情報を収集して蓄積することもしばしば行われている。このような状況から、購入者が商品購入にあたって参照すべき情報は膨大になっている。その結果、オンライン店舗及び実店舗のいずれにおいても、購入商品の選定時に、対応するこれらの各種の情報を即座に参照したいという要望が高まっている。
【０００３】
従来、オンライン店舗の場合、消費者はＷｅｂブラウザで店舗にアクセスし、消費者が画面上で指定した商品についての商品情報を表示する方式が一般化している（例えば、特許文献１参照。）。実店舗の場合には、商品に添付したバーコード、ＩＣタグ等を携帯端末で読み取ることによって、その商品の産地や流通経路などの情報を表示するシステムが実現している。これらの商品情報提供システムとしては、メーカ提供の情報のみでなく、使用後のレポートなどの消費者が発信する情報も提供できるシステムもある。商品購入の判断材料として、このような商品の使用後のレポートなど、消費者からの発信情報の重要性は高い。
【特許文献１】特開２００４−１６４２３７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来の商品情報提供装置又はシステムでは、商品の使用後のレポートが実際にその商品を使用した者によるものか否かを判定する手段がなく、その結果利用者にとってどの程度信頼すべき情報であるかの判断が容易でないという問題を有していた。
また、商品に関するコメントを書込む際、書込んだコメントは他の利用者からも見られてしまうため、「娘がデザインを気に入った」などのプライベートなコメントを書込むのに不都合であった。このため、プライベートなコメントはローカルな端末（例えば、コンピュータ）などに記録せざるを得ず、他の端末（例えば、携帯電話端末）からは参照できないという問題があった。
【０００５】
以上の現状に鑑み、本発明の目的は、少なくとも、商品の実際の使用者からの提供情報を提供可能とする商品情報提供装置又はシステムを提供する。
【課題を解決するための手段】
【０００６】
上記の課題を解決すべく、本発明は以下の構成を提供する。
請求項１に係る発明は、ユーザを特定可能な装置であって、商品に付され商品を特定するタグｉｄを非接触通信によって取得可能であり、少なくともメーカ名及び所定の仕様を含む商品に関する商品情報を格納する商品情報データベースと商品に関してユーザが提供したユーザ提供情報を格納可能なコメントデータベースとにアクセスして前記商品情報と所定の前記ユーザ提供情報を表示可能な商品情報提供装置において、ユーザに前記ユーザ提供情報の入力を可能とし、入力された前記ユーザ提供情報を前記コメントデータベースに書き込む提供情報登録手段と、前記タグｉｄが取得されたか否かに基づいて特定される商品をユーザが使用したか否かを判定する使用判定手段と、を備え、前記提供情報登録手段は、前記使用判定手段が対象の商品をユーザが使用したと判定した場合に、前記ユーザ提供情報を前記コメントデータベースに書き込むことを特徴とすることを特徴とする。
【０００７】
請求項２に係る発明は、請求項１に記載の商品情報提供装置において、前記提供情報登録手段が、前記ユーザ提供情報を他の装置からアクセス可能な情報としてのレポートと他の装置にアクセスを許容しない情報としてのコメントとに識別してユーザに入力可能とし、前記提供情報登録手段が、前記レポートを他の装置からアクセス可能に前記コメントデータベースに書き込み、前記コメントを他の装置にアクセスを許容しないように前記コメントデータベースに書き込むことを特徴とする。
【０００８】
請求項３に係る発明は、請求項２に記載の商品情報提供装置において、前記タグｉｄが内部と外部から取得可能になっている車両を商品とし、前記使用判定手段が、取得された前記タグｉｄに基づいてこのタグｉｄで特定される車両にユーザが搭乗したか否かを判定し、前記提供情報登録手段は、前記使用判定手段が前記タグｉｄで特定される車両にユーザが搭乗したと判定した場合に、前記レポート及び前記コメントのうちのいずれか１つ以上の書き込みを可能にすることを特徴とする。
【０００９】
請求項４に係る発明は、請求項３に記載の商品情報提供装置において、試乗中に所定時間以上の時間間隔で商品に付されたタグｉｄを複数回取得し、前記使用判定手段が、取得したタグｉｄが同一である場合に、同一のユーザが継続して試乗したと判定することを特徴とする。
【００１０】
請求項５に係る発明は、請求項３に記載の商品情報提供装置において、運転中の位置情報を取得して試乗経路に応じた位置情報と時刻の蓄積が可能な手段を備え、前記使用判定手段が、前記試乗経路に応じて蓄積された位置情報と時刻に基づいて、同一のユーザが継続して試乗したか否かの判定を行うことを特徴とする。
【発明の効果】
【００１１】
請求項１に係る発明によれば、ユーザを特定可能な装置であって、商品に付され商品を特定するタグｉｄを非接触通信によって取得可能であり、少なくともメーカ名及び所定の仕様を含む商品に関する商品情報を格納する商品情報データベースと商品に関してユーザが提供したユーザ提供情報を格納可能なコメントデータベースとにアクセスして商品情報と所定のユーザ提供情報を表示可能な商品情報提供装置において、ユーザにユーザ提供情報の入力を可能とし、入力されたユーザ提供情報をコメントデータベースに書き込む提供情報登録手段と、タグｉｄが取得されたか否かに基づいて特定される商品をユーザが使用したか否かを判定する使用判定手段と、を備え、提供情報登録手段は、使用判定手段が対象の商品をユーザが使用したと判定した場合に、ユーザ提供情報をコメントデータベースに書き込むため、商品の実際の使用者からの提供情報を提供可能とする商品情報提供装置を実現することができる。
【００１２】
請求項２に係る発明によれば、上記請求項１の効果に加えて、提供情報登録手段が、ユーザ提供情報を他の装置からアクセス可能な情報としてのレポートと他の装置にアクセスを許容しない情報としてのコメントとに識別してユーザに入力可能とし、提供情報登録手段が、レポートを他の装置からアクセス可能にコメントデータベースに書き込み、コメントを他の装置にアクセスを許容しないようにコメントデータベースに書き込むため、公表するレポートと本人のみが参照可能なプライベートなコメントとを識別して提供することができる。
【００１３】
請求項３に係る発明によれば、上記請求項２の効果に加えて、タグｉｄが内部と外部から取得可能になっている車両を商品とし、使用判定手段が、取得されたタグｉｄに基づいてこのタグｉｄで特定される車両にユーザが搭乗したか否かを判定し、提供情報登録手段は、使用判定手段がタグｉｄで特定される車両にユーザが搭乗したと判定した場合に、レポート及びコメントのうちのいずれか１つ以上の書き込みを可能にするため、簡易に実際の使用者であるか否かを判定することができる。
【００１４】
請求項４に係る発明によれば、上記請求項３の効果に加えて、試乗中に所定時間以上の時間間隔で商品に付されたタグｉｄを複数回取得し、使用判定手段が、取得したタグｉｄが同一である場合に、同一のユーザが継続して試乗したと判定するため、簡易に実際の試乗者であるか否かを判定することができる。
【００１５】
請求項５に係る発明によれば、上記請求項３の効果に加えて、運転中の位置情報を取得して試乗経路に応じた位置情報と時刻の蓄積が可能な手段を備え、使用判定手段が、試乗経路に応じて蓄積された位置情報と時刻に基づいて、同一のユーザが継続して試乗したか否かの判定を行うため、同一のユーザが運転したことを例えば停車がないこと等から判断でき、もって簡易に実際の運転者であるか否かを判定することができる。
【発明を実施するための最良の形態】
【００１６】
以下、実施例を示した図面を参照しつつ本発明の実施の形態について説明する。
図１は、本発明による商品情報提供システムの一実施例を模式的に示すブロック構成図である。商品情報提供システムは、図１に示すように、サーバ１と、サーバ１に接続されサーバ１が提供する情報を格納し、サーバ１から情報が書き込まれるデータベース２と、ネットワーク５を介してサーバ１と通信可能に接続されたコンピュータ３及び携帯端末４とを備える。以下、商品を車として説明する。
【００１７】
ここで、データベース２は、価格、装備品等の販売対象の車１０１に関する商品情報を保持する商品情報データベース２ａと、販売対象の車に関するコメント、試乗後のレポート（以下、試乗レポートという。）等のユーザから提供された各種のユーザ提供情報を保持するコメントデータベース２ｂとを有する。また、携帯端末４は、例えば商品の車１０１に付され車１０１を特定するタグｉｄを格納するＩＣタグ１０２から商品情報を読み取るＲＦＩＤ（Ｒａｄｉｏ  Ｆｒｅｑｕｅｎｃｙ  ＩＤｅｎｔｉｆｉｃａｔｉｏｎ）リーダ（以下、ＩＣタグリーダともいう。）を有すると共に、ＧＰＳ（Ｇｌｏｂａｌ  Ｐｏｓｉｔｉｏｎｉｎｇ  Ｓｙｓｔｅｍ）から位置情報を取得可能になっている。
【００１８】
さらに、取得された位置情報は携帯端末４内に格納可能であり、１つ以上の位置情報が携帯端末４からサーバ１に送信可能になっている。サーバ１側では、受信した位置情報がコメントデータベース２ｂに格納され、格納された位置情報を用いて例えば試乗経路が地図Ｍ上に記載される。ユーザは、コンピュータ３を介して車１０１のオンラインショッピングを行なうとき、その車１０１に関する試乗レポート、コメント等を画面Ｄに表示させて参照する。ユーザは、画面Ｄを通じてその車１０１のコメントを書込むこともできる。
【００１９】
図２は、本発明による商品情報提供システムの各装置に格納されるプログラムの構成を示す図である。
サーバ１において実行されるサーバ側プログラム１０は、サーバ１全体を制御するオペレーティングシステム１１と、商品情報データベース２ａ及びコメントデータベース２ｂを制御するデータベース制御プログラム１２と、コンピュータ３、携帯端末４等との通信を制御する通信制御プログラム１３とを有する。
【００２０】
コンピュータ３において実行されるコンピュータ側プログラム３０は、コンピュータ３全体を制御するオペレーティングシステム３１と、サーバ１との通信を制御する通信制御プログラム３２と、ユーザ操作に応じて画面の遷移を制御する画面遷移制御プログラム３３と、ユーザ操作などのイベントを配送するイベントディスパッチャ３４とを有する。
【００２１】
携帯端末４において実行される端末側プログラム４０は、携帯端末４全体を制御するオペレーティングシステム４１と、サーバ１との通信を制御する通信制御プログラム４２と、ユーザ操作に応じて画面の遷移を制御する画面遷移制御プログラム４３と、ユーザ操作などのイベントを配送するイベントディスパッチャ４４と、ＩＣタグリーダを制御するＩＣタグリーダ制御プログラム４５とを有する。
【００２２】
図３は、コンピュータ、携帯端末等に表示される画面の遷移の一例を示す説明図である。以下、表示される画面は、ログイン時に表示されるユーザ認証画面１１０、表示対象の目次を表示する目次画面１２０、商品情報の１つであるモデルの一覧を表示するモデル一覧画面１３０、個々のモデルの情報を表示するモデル情報画面１４０、中古車の一覧を表示する中古車一覧画面１５０、中古車の情報を表示する中古車情報画面１６０、及び、レポートを入力可能とするレポート入力画面１７０からなるものとして説明する。
【００２３】
図４は、ユーザ認証画面の一表示例を示す模式図である。ユーザ認証画面１１０には、ユーザｉｄ入力欄１１１、パスワード入力欄１１２、及びログインボタン１１３が表示される。以下で説明するように、ユーザ認証画面１１０では、ユーザｉｄとパスワードが入力され、その後にログインボタン１１３が押下されたときにユーザ認証処理が行われるようにプログラムが構成されている。また、この認証処理によって認証された場合、画面が目次画面１２０に遷移するように構成されている。
【００２４】
図５は、目次画面の一表示例を示す模式図である。目次画面１２０には、車種一覧及び中古車価格帯を表示する車種価格表示選択欄１２１、試乗開始時に押下する試乗開始ボタン１２２、試乗終了時に押下する試乗終了ボタン１２３、及び、試乗レポートを作成するときに押下する試乗レポート作成ボタン１２４が表示される。ここで、車種価格表示選択欄１２１内の「車種一覧」（メーカ名等でリストされている一覧）中の１つの車種が選択されたとき、対応する車種のモデル一覧画面１３０へ遷移するようになっている。同様に、車種価格表示選択欄１２１内の「中古車価格帯」中の１つの「価格帯」が選択されたとき、対応する価格帯の中古車一覧画面１５０へ遷移するようになっている。さらに、ユーザが、試乗のときに試乗開始ボタン１２２を押下し、終了時に試乗終了ボタン１２３を押下し、試乗レポート作成ボタン１２４を押下したとき、レポート入力画面１７０へ遷移するようになっている。
【００２５】
図６は、モデル一覧画面の一表示例を示す模式図である。モデル一覧画面１３０は特定の車種のモデルの一覧を表示する画面であり、モデル一覧画面１３０には、対象の車種の車の写真１３１、モデル一覧１３２、及び戻るボタン１３３が表示される。モデル一覧１３２には、各モデルのスペック情報が表示される。モデル一覧１３２から１つのモデルが選択されたとき、選択されたモデルに関する情報を表示するモデル情報画面１４０へ遷移し、戻るボタン１３３が押下されたとき、１つ前の画面へ遷移するようになっている。
【００２６】
図７は、モデル情報画面の一表示例を示す模式図である。モデル情報画面１４０はモデル一覧１３２から選択されたモデルに関する情報を表示する画面であり、モデル情報画面１４０には、対象のモデルの写真１４１、スペック情報１４２、試乗レポート一覧１４３と、コメント１４４、コメント書込ボタン１４５、及び戻るボタン１４６が表示される。コメント１４４にテキストデータが入力され、コメント書込ボタン１４５が押下されたとき、コメントデータベースに入力されたテキストデータが格納され、戻るボタン１４６が押下されたとき、１つ前の画面へ遷移するようになっている。
【００２７】
図８は、中古車一覧画面の一表示例を示す模式図である。中古車一覧画面１５０には、目次画面１２０中で選択された価格帯の中古車一覧１５１、及び戻るボタン１５２が表示される。ここで、中古車一覧１５１には、中古車の写真及びスペック情報が表示される。中古車一覧１５１中の１つの中古車が選択されたとき、選択された中古車情報画面１６０へ遷移し、戻るボタン１５２が押下されたとき、１つ前の画面へ遷移するようになっている。
【００２８】
図９は、中古車情報画面の一表示例を示す模式図である。中古車情報画面１６０は、中古車一覧１５１から選択された中古車に関する情報を表示する画面である。中古車情報画面１６０には、対象の中古車の写真１６１、スペック情報１６２、コメント１６３、コメント書込ボタン１６４、及び戻るボタン１６５が表示される。コメント１６３にデータが入力され、書込ボタン１６４が押下されたとき、コメントデータベースのコメントテーブルに入力データが格納され、戻るボタン１６５が押下されたとき、１つ前の画面へ遷移するようになっている。
【００２９】
図１０は、レポート入力画面の一表示例を示す模式図である。レポート入力画面１７０には、レポート入力欄１７１、及び書込ボタン１７２が表示される。レポート入力欄１７１にテキストデータが入力され、書込ボタン１７２が押下されたとき、コメントデータベースのレポートテーブルに入力データが格納され、目次画面１２０に戻るようになっている。
【００３０】
以下、各画面操作に対応して行われる処理について図面を参照して説明する。図１１は、画面遷移処理についての説明図であり、（ａ）には操作に対応する画面遷移例が、（ｂ）には画面に対応する画面オブジェクトの概念図が、（ｃ）には遷移に伴う画面オブジェクトのスタック状態が、そして、（ｄ）にはグローバル変数の例が、それぞれ示される。
【００３１】
まず、図１１（ａ）において、画面１８１、画面１８２及び画面１８３はそれぞれ、例えば図２に示す画面１１０、画面１２０及び画面１３０に対応し、実線の矢印は、例えば、「ログイン」ボタンの押下、車種の選択等の「戻る」ボタン以外の押下操作による遷移を示す（以下、「前方向遷移」という）。これに対して、点線の矢印は、「戻る」ボタンの押下による遷移を示す（以下、「後方向遷移」という）。
【００３２】
本実施例においては、図１１（ｂ）に示すように、画面１８１〜１８３毎に画面オブジェクト１９１〜１９３が対応付けられている。画面オブジェクト１９１〜１９３は、画面の作成、遷移等の処理に必要な情報としてのログイン時に入力されたユーザｉｄ、ユーザが指定した車種のデータ等を表す変数を保持する。各画面オブジェクトの変数の詳細は、図１４に示されている。
【００３３】
各画面オブジェクト１９１〜１９３は、また、以下に説明する関数を伴う。まず、ｄｒａｗ（）関数は、例えば、ユーザが指定した車種のモデルの一覧を表示するなど、画面及び保持する変数の内容に応じて画面を描画する。つぎに、ｈａｎｄｌｅ（ｅ）関数は、画面へのユーザ操作等の、引数のイベントｅに応じた処理を実行する。イベントｅは、例えば、「ログイン」ボタンのマウス等によるクリック（以下、単にマウスクリックという。）であり、この場合の処理はユーザ認証処理である。
【００３４】
これらの画面オブジェクト１９１〜１９３は、図１１（ｃ）に示すように、画面遷移に対応して所謂スタック（所謂、Ｆｉｒｓｔ  Ｉｎ  Ｌａｓｔ  Ｏｕｔ）が概念形成される。即ち、最後に積まれた画面オブジェクト１９３がトップに位置し、最初の取り出し対象となり、この画面オブジェクト１９３に対応する画面１８３が表示される。図１１（ｃ）に示すスタックは、「戻る」ボタンによる後方向遷移時の戻り先画面を特定する用途等に役立つ。
【００３５】
例えば、図１１（ａ）において、画面１８１、画面１８２、画面１８３の順に実線矢印に従って前方向遷移する場合、画面遷移毎に遷移先画面に対応する画面オブジェクト１９１、画面オブジェクト１９２、画面オブジェクト１９３がスタックに積まれる。次に、「戻る」ボタンの押下によって画面１８３、画面１８２、画面１８１の順に後方向遷移する場合、後方向遷移毎に、スタックのトップの画面オブジェクトが順にスタックから捨てられる。このように、スタックの概念を利用することによって、後方向遷移時の戻り先画面の特定が容易となる。
【００３６】
また、スタックに伴う操作として、以下の関数が使用される。即ち、画面オブジェクトｘをスタックの先頭に積むｐｕｓｈ（ｘ）関数、先頭の画面オブジェクトｘを捨てるｐｏｐ（）関数、そして、先頭の画面オブジェクトを取得しｘに代入するｔｏｐ（）関数である。ここで、ｔｏｐ（）関数は、ｘ  =  ｔｏｐ（）の形式で使用される。
【００３７】
本実施例におけるグローバル変数として、ログインユーザのユーザｉｄを表すｇ＿ｕｓｅｒ＿ｉｄ（ＧＶ１）、ユーザが試乗中の車両のタグｉｄを表すｇ＿ｔａｇ＿ｉｄ（ＧＶ２）、ユーザが試乗中の車両に対応するモデルテーブル（後述）のレコードｉｄを表すｇ＿ｒｅｃ＿ｉｄ（ＧＶ３）、及び、試乗経路を表すｇ＿ｐａｔｈ（ＧＶ４）があげられる。
【００３８】
図１２は、画面遷移処理について説明するフローチャートであり、（ａ）は前方向遷移のためのｆｏｒｗａｒｄ（ｔｙｐｅ，ｖ１，ｖ２，…，ｖｎ）関数に関し、（ｂ）は後方向遷移を実行するためのｂａｃｋ（）関数に関する。以下、上記の画面オブジェクトのスタックの概念に基づいて、画面遷移の処理手順について説明する。ｆｏｒｗａｒｄ関数の引数は、それぞれ、画面種別ｔｙｐｅ、生成される画面オブジェクトｘが保持する変数の初期値ｖ１，ｖ２，…，ｖｎである。
【００３９】
ｆｏｒｗａｒｄ（ｔｙｐｅ，ｖ１，ｖ２，…，ｖｎ）関数に関しては、まず、画面種別ｔｙｐｅに応じて画面オブジェクトｘが生成され（Ｓ０１１）、対応する引数ｖ１，ｖ２，…，ｖｎが変数として設定される（Ｓ０１２）。次に、画面オブジェクトｘがｐｕｓｈ関数によってスタックのトップに積まれ（Ｓ０１３）、画面オブジェクトｘのｄｒａｗ（）関数、ｘ．ｄｒａｗ（）によって画面が描画され（Ｓ０１４）、処理は終了する。
【００４０】
ｂａｃｋ（）関数に関しては、まず、ｐｏｐ関数によってスタックのトップのオブジェクトが破棄され（Ｓ０２１）、新たにトップに位置する画面オブジェクトがｘに代入される（Ｓ０２２）。ここで、ステップＳ０２２でｘに代入された画面オブジェクトが戻り先の画面に対応する。次に、この画面オブジェクトｘのｄｒａｗ関数、ｘ．ｄｒａｗ（）によって画面が描画され（Ｓ０２３）、処理は終了する。
【００４１】
図１３は、画面オブジェクトに関連して発生したイベントを画面オブジェクトに配送するｄｉｓｐａｔｃｈ（ｅ）関数の処理について説明するフローチャートである。引数ｅは、上記と同様に発生したイベントを表す。ｄｉｓｐａｔｃｈ（ｅ）関数で表される処理は、イベント発生毎にオペレーティングシステムによって実行される。以下、説明の都合上、イベントｅが、タイマ、タグリーダ、及び画面オブジェクトに関連するイベントからなるものとする。また、この画面オブジェクトに関連するイベントは、キー入力又はマウスクリックのイベント（以下、入力クリックイベントという。）であるものとする。
【００４２】
ｄｉｓｐａｔｃｈ（ｅ）関数については、まず、例えば、イベントｅがタイマイベントであるか否かが判定され（Ｓ０３１）、タイマイベントであると判定されたとき、ｈａｎｄｌｅ＿ｔｉｍｅｒ（ｅ）関数によって対応する処理がなされる（Ｓ０３２）。ここで、タイマイベントは、例えば、周期的な時刻の通知であり、ユーザが試乗車を運転していることを確認する目的等で発生する。
【００４３】
ステップＳ０３２でタイマイベントでないと判定されたとき、イベントｅがタグリーダイベントかであるか否かが判定され（Ｓ０３３）、タグリーダイベントであると判定されたとき、ｈａｎｄｌｅ＿ｒｅａｄｅｒ（ｅ）関数によって対応する処理がなされる（Ｓ０３４）。なお、タグリーダイベントは、例えばユーザの携帯端末４が試乗車１０１のＩＣタグ１０２からタグｉｄを読み取った際に発生する。
【００４４】
ステップＳ０３４でイベントｅがタグリーダイベントでない、即ち入力クリックイベントであると判定されたとき、表示中の画面に対応する画面オブジェクトである、スタックのトップの画面オブジェクトｘが取得され（Ｓ０３５）、この画面オブジェクトｘのｈａｎｄｌｅ関数、ｘ．ｈａｎｄｌｅ（ｅ）によって画面オブジェクトｘにイベントｅが配送される（Ｓ０３６）。
【００４５】
図１４は、図２に示す個々の画面に対応する画面オブジェクトが保持する変数を示す。具体的には、例えば画面１６０（中古車情報画面）に対応して、ユーザｉｄを表す変数＿ｕｓｅｒ＿ｉｄ、メーカを表す変数＿ｍａｋｅｒ、車種を表す変数＿ｆａｍｉｌｙ、モデルを表す変数＿ｍｏｄｅｌ、及び、製造番号を表す変数ｓｅｒｉａｌ＿ｎｏを変数として画面オブジェクトが保持する。
【００４６】
図１５は、商品情報データベースを構成する各テーブルの内容を示す図であり、（ａ）はタグｉｄテーブルを、（ｂ）は車種テーブルを、（ｃ）はモデルテーブルを、そして（ｄ）は中古車テーブルを示す。また、図１６は、コメントデータベースを構成する各テーブルの内容を示す図であり、（ａ）はユーザテーブルを、（ｂ）はコメントテーブルを、そして（ｃ）はレポートテーブルを示す。
【００４７】
タグｉｄテーブルには、図１５（ａ）に示すように、タグｉｄ毎にレコードｉｄで表されるレコードが設定され、商品種別、商品ｉｄ等が対応付けられて登録される。ここで、タグｉｄは登録されている新車（試乗車）、中古車等の商品に取り付けられたＩＣタグのタグｉｄを表し、商品種別は新車、中古車の別を表す。
【００４８】
また、商品ｉｄとしては、商品種別が新車の場合、図１５（ｃ）に示すモデルテーブル内の対応するレコードｉｄが登録され、商品種別が中古車の場合、図１５（ｄ）に示す中古車テーブル内の対応するレコードｉｄが登録される。これらのレコードｉｄで特定されるレコードは、タグが貼付された車（新車又は中古車）に対応する情報を保持する。
【００４９】
車種テーブルには、図１５（ｂ）に示すように、車種毎にレコードｉｄで表されるレコードが設定され、メーカ等が対応付けられて登録される。
【００５０】
モデルテーブルには、図１５（ｃ）に示すように、モデル毎にレコードｉｄで表されるレコードが設定され、メーカ、車種、スペック情報、車両の写真等が対応付けられて登録される。ここで、スペック情報は、ドア、色、燃費、価格等の、対象のモデルの仕様を特定する情報である。
【００５１】
中古車テーブルには、図１５（ｄ）に示すように、中古車毎にレコードｉｄで表されるレコードが設定され、メーカ、車種、モデル、製造番号、スペック情報、写真等が対応付けられて登録される。ここで、スペック情報は、モデルテーブルに示すものと同様に、対象の中古車の仕様を特定する情報である。
【００５２】
ユーザテーブルには、図１６（ａ）に示すように、ユーザ毎にレコードｉｄで表されるレコードが設定され、氏名、ユーザｉｄ、パスワード、レポートｉｄ等が対応付けられて登録される。ここで、レポートｉｄには、図１６（ｃ）に示すレポートテーブル内の対応するレコードｉｄが登録されている。また、ユーザの試乗レポートは、そのユーザのレポートｉｄで特定されるレポートテーブルのレコードに書き込まれる。
【００５３】
コメントテーブルには、図１６（ｂ）に示すように、コメント毎にレコードｉｄで表されるレコードが設定され、コメント先商品種別、コメント先商品ｉｄ、作成者、日付、内容等が対応付けられて登録される。ここで、コメント先商品種別にはコメントする対象が新車又は中古車のいずれの種別であるかが登録され、コメント先商品ｉｄにはコメント先商品種別が中古車（新車）の場合は中古車（モデル）テーブル内のレコードｉｄが登録され、作成者にはユーザｉｄが登録され、日付にはコメント作成日が登録され、内容にはコメントの内容が登録される。
【００５４】
レポートテーブルには、図１６（ｃ）に示すように、レポート毎にレコードｉｄで表されるレコードが設定され、レポート先商品ｉｄ、作成者、日付、内容、試乗経路図等が対応付けられて登録される。ここで、レポート先商品ｉｄにはモデルテーブル内のレコードｉｄが登録され、作成者、日付、内容については上記と同様であり、試乗経路図には試乗の経路図Ｍが登録される。
【００５５】
以下、各画面オブジェクトのｄｒａｗ関数、ｈａｎｄｌｅ関数等の処理内容について、図１７〜２５を参照して説明する。画面オブジェクトのｄｒａｗ関数、ｈａｎｄｌｅ関数等の処理内容は、画面種別によって異なる。図１７は、ユーザ認証画面オブジェクトに関しての処理の説明図であり、（ａ）はｄｒａｗ（）関数についての処理の流れに関し、（ｂ）はｈａｎｄｌｅ（ｅ）関数についての処理の流れに関する。
【００５６】
まず、ユーザ認証画面オブジェクトのｄｒａｗ（）関数によって、ユーザ認証画面が描画される（Ｓ１１１）。
【００５７】
また、ユーザ認証画面オブジェクトのｈａｎｄｌｅ（ｅ）関数によって、イベントｅがキー入力のイベント（以下、キー入力イベントという。）であるか否かが判定され（Ｓ１２１）、キー入力イベントであると判定されたとき、ユーザｉｄフィールド又はパスワードフィールドのうちのキーボードフォーカスの位置する方に入力文字が追加され（Ｓ１２２）、処理は終了する。ステップＳ１２２でイベントｅがキー入力イベントでないと判定されたとき、「ログイン」ボタンのマウスクリックのイベント（以下、マウスクリックイベントという。）であるか否かが判定され（Ｓ１２３）、「ログイン」ボタンのマウスクリックイベントでないと判定されたとき、処理は終了する。
【００５８】
ステップＳ１２３で「ログイン」ボタンのマウスクリックイベントであると判定されたとき、変数ｕｓｅｒ＿ｉｄにユーザｉｄフィールドの内容が、変数ｐａｓｓｗｏｒｄにパスワードフィールドの値が代入され（Ｓ１２４）、ユーザテーブル内に同一のユーザｉｄとパスワードが登録されているか否かが判定される（Ｓ１２５）。ステップＳ１２５で登録されていると判定されたとき、ｆｏｒｗａｒｄ（目次画面，ｕｓｅｒ＿ｉｄ）関数によって目次画面への遷移処理が実行され（Ｓ１２６）、処理は終了する。ステップＳ１２５登録されていないと判定されたとき、例えば”ユーザ登録されていません”とメッセージを表示し（Ｓ１２７）、処理は終了する。
【００５９】
図１８及び図１９は、目次画面オブジェクトに関して行われる処理の説明図である。
まず、目次画面オブジェクトのｄｒａｗ（）関数に関しては、図１８（ａ）に示すように、目次画面が描画される（Ｓ２１１）。
【００６０】
また、目次画面オブジェクトのｈａｎｄｌｅ（ｅ）関数に関しては、図１８（ｂ）に示すように、まず、イベントｅが車種のマウスクリックイベントであるか否かが判定され（Ｓ２２１）、車種のマウスクリックイベントであると判定されたとき、指定された車種のメーカが変数ｍａｋｅｒに、指定された車種が変数ｆａｍｉｌｙにそれぞれ代入され（Ｓ２２２）、ｆｏｒｗａｒｄ（モデル一覧画面，＿ｕｓｅｒ＿ｉｄ，ｍａｋｅｒ，ｆａｍｉｌｙ）関数によってモデル一覧画面への遷移処理が実行され（Ｓ２２３）、ステップＳ２２３でモデル一覧画面が表示されたとき、処理は終了する。
【００６１】
ステップＳ２２１でイベントｅが車種のマウスクリックイベントでないと判定されたとき、イベントｅが中古車価格帯のマウスクリックイベントであるか否かが判定される（Ｓ２２４）。イベントｅが中古車価格帯のマウスクリックイベントであると判定されたとき、指定された価格帯が変数ｐｒｉｃｅに代入され（Ｓ２２５）、ｆｏｒｗａｒｄ（中古車一覧画面，＿ｕｓｅｒ＿ｉｄ，ｐｒｉｃｅ）関数によって中古車一覧画面への遷移処理が実行され（Ｓ２２６）、ステップＳ２２６で中古車一覧画面が表示されたとき、処理は終了する。
【００６２】
ステップＳ２２４でイベントｅが中古車価格帯のマウスクリックイベントでないと判定されたとき、図１９に示すように、まず、イベントｅが試乗開始ボタンのマウスクリックイベントであるか否かが判定される（Ｓ２２７）。次に、試乗開始ボタンのマウスクリックイベントであると判定されたとき、ｓｔａｒｔ＿ｒｉｄｅ（＿ｕｓｅｒ＿ｉｄ）関数によって試乗開始の処理が実行され（Ｓ２２８）、処理は終了する。
【００６３】
ステップＳ２２７でイベントｅが試乗開始ボタンのマウスクリックイベントでないと判定されたとき、イベントｅが試乗終了ボタンのマウスクリックイベントであるか否かが判定される（Ｓ２２９）。試乗終了ボタンのマウスクリックイベントであると判定されたとき、ｅｎｄ＿ｒｉｄｅ（＿ｕｓｅｒ＿ｉｄ）関数によって試乗終了の処理が実行され（Ｓ２３０）、処理は終了する。
【００６４】
ステップＳ２２９でイベントｅが試乗終了ボタンのマウスクリックイベントでないと判定されたとき、イベントｅがレポート作成ボタンのマウスクリックイベントであるか否かが判定される（Ｓ２３１）。レポート作成ボタンのマウスクリックイベントであると判定されたとき、<ユーザｉｄ：＿ｕｓｅｒ＿ｉｄ>をキーとして、ユーザテーブルからレポートｉｄを検索する（Ｓ２３２）。ここで、「<ユーザｉｄ：＿ｕｓｅｒ＿ｉｄ>をキーとして検索する」とは、「ユーザｉｄ」の値が＿ｕｓｅｒ＿ｉｄの設定値に一致するレコードを検索して、そのレコード内の目的とするデータを取得することをいい、この場合は、ユーザテーブルから対応するレコードｉｄを検索することをいう。次に、ステップＳ２３２での検索結果が空白であるか否かが判定され（Ｓ２３３）、空白でないと判定されたとき、ｆｏｒｗａｒｄ（レポート入力画面，＿ｕｅｓｒ＿ｉｄ）関数によってレポート入力画面への遷移処理が実行され（Ｓ２３４）、レポート入力画面が表示されたとき、処理は終了する。
【００６５】
ステップＳ２３３で空白であると判定されたとき、”試乗が確認できませんでした”とメッセージが表示され（Ｓ２３５）、処理は終了する。ここで、ステップＳ２３１で、レポート作成ボタンのマウスクリックイベントでないと判定されたとき、この画面での処理対象のイベントでないため、処理は終了する。
【００６６】
ここで、本実施例においては、ユーザが実際に試乗した場合は、ユーザテーブルにおけるそのユーザのレポートｉｄにレポートテーブルのレコードｉｄが書き込まれるため、ステップ２３３でレポートｉｄが空白であるときは、そのユーザは試乗していないことを意味する。
【００６７】
図２０は、モデル一覧画面オブジェクトに関して行われる処理の説明図である。
まず、モデル一覧画面オブジェクトのｄｒａｗ（）関数に関しては、図２０（ａ）に示すように、まず、<メーカ：＿ｍａｋｅｒ，車種：＿ｆａｍｉｌｙ>（＿ｍａｋｅｒ及び＿ｆａｍｉｌｙは、目次画面１２０中で選択されたメーカ及び車種を特定する。）をキーとして、モデルテーブルから指定されたメーカと車種のレコードｉｄが検索される（Ｓ３１１）。ここで、「<メーカ：＿ｍａｋｅｒ，車種：＿ｆａｍｉｌｙ>をキーとして検索する」とは、「メーカ」の値が＿ｍａｋｅｒの設定値に一致しかつ「車種」の値が
＿ｆａｍｉｌｙの設定値に一致するレコードを検索して、そのレコード内の目的と
するデータを取得することをいい、この場合は、モデルテーブルから対応する
レコードｉｄを取得することをいう。以下、メーカ、車種等の項目数が３つ以上の場合に関しても同様とする。次に、検索されたレコードｉｄ内の例えば筆頭の写真等のいずれかの写真が表示され（Ｓ３１２）、検索結果の一覧が表示され（Ｓ３１３）、処理は終了する。
【００６８】
また、モデル一覧画面オブジェクトのｈａｎｄｌｅ（ｅ）関数に関しては、図２０（ｂ）に示すように、まず、イベントｅがモデル指定のマウスクリックイベントであるか否かが判定され（Ｓ３２１）、モデル指定のマウスクリックイベントであると判定されたとき、指定されたモデルが変数ｍｏｄｅｌに代入され（Ｓ３２２）、ｆｏｒｗａｒｄ（モデル情報画面，＿ｕｓｅｒ＿ｉｄ，＿ｍａｋｅｒ，＿ｆａｍｉｌｙ，ｍｏｄｅｌ）関数によってモデル情報画面への遷移処理が実行され（Ｓ３２３）、ステップＳ３２３でモデル情報画面が表示されたとき、処理は終了する。
【００６９】
ステップＳ３２１でイベントｅがモデル指定のマウスクリックイベントでないと判定されたとき、イベントｅが「戻る」ボタンのマウスクリックイベントであるか否かが判定される（Ｓ３２４）。イベントｅが「戻る」ボタンのマウスクリックイベントであると判定されたとき、ｂａｃｋ（）関数によって１つ前の画面への後方向遷移処理が実行され（Ｓ３２５）、処理は終了する。
【００７０】
図２１及び図２２は、モデル情報画面オブジェクトに関して行われる処理の説明図である。
まず、モデル情報画面オブジェクトのｄｒａｗ（）関数に関しては、図２１（ａ）に示すように、<メーカ：＿ｍａｋｅｒ，車種：＿ｆａｍｉｌｙ，モデル：＿ｍｏｄｅｌ>（＿ｍａｋｅｒ、＿ｆａｍｉｌｙ及び＿ｍｏｄｅｌは、上記のメーカ及び車種、並びにモデル一覧画面１３０中で押下されたモデルを特定する。）をキーとして、モデルテーブル中からレコードｉｄが検索される（Ｓ４１１）。次に、検索されたレコードｉｄが変数ｒｅｃ＿ｉｄに代入され（Ｓ４１２）、対応するレコードｒ１から写真及びスペック情報が取得され表示される（Ｓ４１３）。
【００７１】
次に、<レポート先商品ｉｄ：ｒｅｃ＿ｉｄ>（ｒｅｃ＿ｉｄは、ステップＳ４１２で代入されたレコードｉｄである。）をキーとして、レポートテーブル中からレコードｉｄが検索される（Ｓ４１４）。次に、ステップＳ４１４で検索されたレコードｉｄのレコードｒ２からレポート本文（内容）及び試乗経路図が取得され表示される（Ｓ４１５）。
【００７２】
次に、<作成者：＿ｕｓｅｒ＿ｉｄ，コメント先商品ｉｄ：ｒｅｃ＿ｉｄ，コメント先商品種別：”モデル”>（ｒｅｃ＿ｉｄはステップＳ４１１で検索されたレコードｉｄであり、＿ｕｓｅｒ＿ｉｄは、ユーザ認証画面１１０に入力されたユーザｉｄである。）をキーとして、コメントテーブル中からレコードｉｄが検索される（Ｓ４１６）。次に、ステップＳ４１６で検索されたレコードｉｄのレコードｒ３からコメントが取得され表示される（Ｓ４１７）。
【００７３】
また、モデル情報画面オブジェクトのｈａｎｄｌｅ（ｅ）関数に関しては、図２１（ｂ）に示すように、イベントｅがコメントをなす文字入力のイベントであるか否かが判定され（Ｓ４２１）、コメントをなす文字入力のイベントであると判定されたとき、図２２に示すようにコメント欄１４４に入力された文字が表示される（Ｓ４２２）。ステップＳ４２２でコメントをなす文字入力のイベントでないと判定されたとき、「書込み」ボタンへのマウスクリックイベントであるか否かが判定される（Ｓ４２３）。
【００７４】
ステップＳ４２３で「書込み」ボタンへのマウスクリックイベントであると判定されたとき、<メーカ：＿ｍａｋｅｒ，車種：＿ｆａｍｉｌｙ，モデル：＿ｍｏｄｅｌ>をキーとして、モデルテーブル中からレコードｉｄが検索される（Ｓ４２４）。次に、ステップＳ４２４で検索されたレコードｉｄが変数ｒｅｃ＿ｉｄに代入され（Ｓ４２５）、コメントテーブルの対応するレコードからに、作成者として＿ｕｓｅｒ＿ｉｄが、コメント先商品ｉｄとしてｒｅｃ＿ｉｄが、コメント先商品種別として”モデル”が、日付として日付が、コメントとしてコメント欄内の内容が（<作成者：＿ｕｓｅｒ＿ｉｄ，コメント先商品ｉｄ：ｒｅｃ＿ｉｄ，コメント先商品種別：”モデル”，日付：日付，コメント：コメント欄内の内容>）、それぞれ記載される（Ｓ４２６）。
【００７５】
ステップＳ４２３でイベントｅが「書込み」ボタンのマウスクリックイベントでないと判定されたとき、図２２に示すようにイベントｅが「戻る」ボタンのマウスクリックイベントであるか否かが判定される（Ｓ４２７）。イベントｅが「戻る」ボタンのマウスクリックイベントであると判定されたとき、ｂａｃｋ（）関数によって１つ前の画面への後方向遷移処理が実行され（Ｓ４２８）、１つ前の画面が表示されたとき、処理は終了する。ステップＳ４２７で「戻る」ボタンのマウスクリックイベントでないと判定されたとき、この画面での処理対象のイベントでないため、処理は終了する。
【００７６】
図２３は、図１７に対応する、中古車一覧画面オブジェクトに関して行われる処理の説明図である。
まず、中古車一覧画面のｄｒａｗ（）関数に関しては、図２３（ａ）に示すように、まず、<価格帯：＿ｐｒｉｃｅ>（＿ｐｒｉｃｅは、中古車一覧画面１４０中で選択された価格帯を特定する。）をキーとして、中古車テーブルからレコードｉｄが検索される（Ｓ５１１）。次に、ステップＳ５１１で検索されたレコードｉｄのレコード内の内容に基づいて検索結果が生成されて一覧として表示され（Ｓ５１２）、処理は終了する。
【００７７】
また、中古車一覧画面のｈａｎｄｌｅ（ｅ）関数に関しては、図２３（ｂ）に示すように、まず、イベントｅが中古車一覧内の中古車のマウスクリックイベントであるか否かが判定され（Ｓ５２１）、中古車一覧内の中古車のマウスクリックイベントであると判定されたとき、変数ｍａｋｅｒ，変数ｆａｍｉｌｙ，変数ｍｏｄｅｌ，変数ｓｅｒｉａｌ＿ｎｏに、それぞれ、ユーザが選択した中古車のメーカ，車種，モデル，製造番号が代入され（Ｓ５２２）、ｆｏｒｗａｒｄ（中古車情報画面，＿ｕｓｅｒ＿ｉｄ，ｍａｋｅｒ，ｆａｍｉｌｙ，ｍｏｄｅｌ，ｓｅｒｉａｌ＿ｎｏ）関数によって中古車情報画面への遷移処理が実行され（Ｓ５２３）、ステップＳ５２３で中古車情報画面が表示されたとき、処理は終了する。
【００７８】
ステップＳ５２１でイベントｅが中古車一覧内の中古車のマウスクリックイベントでないと判定されたとき、イベントｅが「戻る」ボタンのマウスクリックイベントであるか否かが判定される（Ｓ５２４）。イベントｅが「戻る」ボタンのマウスクリックイベントであると判定されたとき、ｂａｃｋ（）関数によって１つ前の画面への後方向遷移処理が実行され（Ｓ５２５）、１つ前の画面が表示されたとき、処理は終了する。ステップＳ５２４で「戻る」ボタンのマウスクリックイベントでないと判定されたとき、この画面での処理対象のイベントでないため、処理は終了する。
【００７９】
図２４は、中古車情報画面オブジェクトに関して行われる処理の説明図である。
まず、中古車情報画面オブジェクトのｄｒａｗ（）関数に関しては、図２４（ａ）に示すように、<メーカ：＿ｍａｋｅｒ，車種：＿ｆａｍｉｌｙ，モデル：＿ｍｏｄｅｌ，製造番号：＿ｓｅｒ＿ｎｏ>をキーとして、中古車テーブルからレコードｉｄが検索される（Ｓ６１１）。次に、検索されたレコードｉｄが変数ｒｅｃ＿ｉｄに代入され（Ｓ６１２）、対応するレコードｒ１から写真及びスペック情報が取得され表示される（Ｓ６１３）。
【００８０】
次に、<作成者：＿ｕｓｅｒ＿ｉｄ，コメント先商品ｉｄ：＿ｒｅｃ＿ｉｄ，コメント先商品種別：“中古車”>をキーとして、コメントテーブルからレコードｉｄが検索される（Ｓ６１４）。次に、検索されたレコードｉｄに基づいてコメントが取得され表示され（Ｓ６１５）、処理は終了する。
【００８１】
また、中古車情報画面オブジェクトのｈａｎｄｌｅ（ｅ）関数に関しては、図２４（ｂ）に示すように、まず、イベントｅがコメントをなす文字入力のイベントであるか否かが判定され（Ｓ６２１）、コメントをなす文字入力のイベントであると判定されたとき、コメント表示欄に入力した文字が表示され（Ｓ６２２）、その後、処理は終了する。
【００８２】
ステップＳ６２１でコメントをなす文字入力のイベントでないと判定されたとき、「書込み」ボタンへのマウスクリックイベントであるか否かが判定される（Ｓ６２３）。ステップＳ６２３で「書込み」ボタンへのマウスクリックイベントであると判定されたとき、<メーカ：＿ｍａｋｅｒ，車種：＿ｆａｍｉｌｙ，モデル：＿ｍｏｄｅｌ，製造番号：＿ｓｅｒ＿ｎｏ>をキーとして、中古車テーブル中からレコードｉｄが検索される（Ｓ６２４）。
【００８３】
次に、ステップＳ６２４で検索されたレコードｉｄが変数ｒｅｃ＿ｉｄに代入され（Ｓ６２５）、コメントテーブルに、作成者として＿ｕｓｅｒ＿ｉｄが、コメント先商品ｉｄとしてｒｅｃ＿ｉｄが、コメント先商品種別として“中古車”が、日付として日付が、コメントとしてコメント欄内の内容が（以下、検索の場合と同様に<作成者：＿ｕｓｅｒ＿ｉｄ，コメント先商品ｉｄ：ｒｅｃ＿ｉｄ，コメント先商品種別：“中古車”，日付：日付，コメント：コメント欄内の内容>と記載する。）、それぞれ記載される（Ｓ６２６）。
【００８４】
ステップＳ６２３で「書込み」ボタンへのマウスクリックイベントでないと判定されたとき、イベントｅが「戻る」ボタンのマウスクリックイベントであるか否かが判定される（Ｓ６２７）。イベントｅが「戻る」ボタンのマウスクリックイベントであると判定されたとき、ｂａｃｋ（）関数によって１つ前の画面への後方向遷移処理が実行され（Ｓ６２８）、１つ前の画面が表示されたとき、処理は終了する。ステップＳ６２７で「戻る」ボタンのマウスクリックイベントでないと判定されたとき、この画面での処理対象のイベントでないため、処理は終了する。
【００８５】
図２５は、レポート入力画面オブジェクトに関して行われる処理の説明図である。
まず、レポート入力画面オブジェクトのｄｒａｗ（）関数に関しては、図２５（ａ）に示すように、レポート入力画面が描画される（Ｓ７１１）。
【００８６】
また、レポート入力画面オブジェクトのｈａｎｄｌｅ（ｅ）関数に関しては、図２５（ｂ）に示すように、まず、イベントｅがレポートへの文字入力のイベントであるか否かが判定され（Ｓ７２１）、レポートへの文字入力のイベントであると判定されたとき、レポート入力画面１７０のレポート入力欄１７１に入力された文字が表示され（Ｓ７２２）、処理は終了する。
【００８７】
ステップＳ７２１で文字入力のイベントでないと判定されたとき、「書込み」ボタンへのマウスクリックイベントであるか否かが判定される（Ｓ７２３）。ステップＳ７２３で「書込み」ボタンへのマウスクリックイベントでないと判定されたとき、この画面での処理対象のイベントでないため、処理は終了する。
【００８８】
ステップＳ７２３で「書込み」ボタンへのマウスクリックイベントであると判定されたとき、<ユーザｉｄ：＿ｕｓｅｒ＿ｉｄ>をキーとして、ユーザテーブル中からレコードｉｄが検索される（Ｓ７２４）。次に、ステップＳ７２４で検索されたレコードのレポートｉｄが変数ｒｅｃ＿ｉｄに代入され（Ｓ７２５）、検索されたレコードのレポートｉｄのデータが消去される（Ｓ７２６）。
【００８９】
次に、<レコードｉｄ：ｒｅｃ＿ｉｄ>をキーとして、レポートテーブル中からレコードｉｄが検索される（Ｓ７２７）。次に、ステップＳ７２７で検索されたレコードｉｄのレコードに<作成者：＿ｕｓｅｒ＿ｉｄ，日付：今日の日付，内容：レポート入力欄の内容>が記載される（Ｓ７２８）。次に、ｂａｃｋ（）関数によって１つ前の画面への後方向遷移処理が実行され（Ｓ７２９）、１つ前の画面が表示されたとき、処理は終了する。
【００９０】
図２６は、試乗に関して行われる処理の説明図であり、（ａ）は試乗開始に係る処理を行うｓｔａｒｔ＿ｒｉｄｅ（）関数に関し、（ｂ）は試乗中に係る処理を行うｈａｎｄｌｅ＿ｔｉｍｅｒ（ｅ）関数に関し、（ｃ）は試乗終了に係る処理を行うｅｎｄ＿ｒｉｄｅ（）関数に関する。
【００９１】
図２６（ａ）に示すｓｔａｒｔ＿ｒｉｄｅ（）関数は、試乗開始時等に試乗開始ボタン１２２を押下することによって処理を開始する。ｓｔａｒｔ＿ｒｉｄｅ（）関数に関しては、まず、ｒｅａｄ＿ｔａｇ（）関数によって試乗車１０１のＩＣタグ１０２からタグｉｄが読み取られて、グローバル変数ｇ＿ｔａｇ＿ｉｄ（ＧＶ２）に代入される（Ｓ８１１）。ここで、ｒｅａｄ＿ｔａｇ（）関数は、携帯端末４のＩＣタグリーダに対してタグｉｄの読取りを指示する関数であり、通常使用されている従来技術によって実現できる。
【００９２】
次に、<タグｉｄ：ｇ＿ｔａｇ＿ｉｄ>をキーとして、タグｉｄテーブルより中からレコードｉｄが検索され（Ｓ８１２）、検索によってレコードｉｄが検出されかつ対応するレコードの商品種別が新車であるか否かが判定される（Ｓ８１３）。ステップＳ８１３でレコードｉｄが検出されかつ対応するレコードの商品種別が新車であると判定されたとき、グローバル変数ｇ＿ｒｅｃ＿ｉｄ（ＧＶ３）にこのレコードの商品ｉｄが代入され（Ｓ８１４）、ｓｔａｒｔ＿ｔｉｍｅｒ（）関数の処理が開始され（Ｓ８１５）、ｓｔａｒｔ＿ｒｉｄｅ（）関数の処理は終了する（Ｓ８１７）。ここで、ｓｔａｒｔ＿ｔｉｍｅｒ関数は、オペレーティングシステムに対してタイマイベントの発生を周期的に要求する関数であり、通常使用されている従来技術によって実現できる。
【００９３】
ステップＳ８１３で、検索によってレコードｉｄが検出されず、又は、対応するレコードの商品種別が新車でないと判定されたとき、例えば”試乗レポート対象外の車です”とメッセージが表示され（Ｓ８１６）、処理は終了する。
【００９４】
図２６（ｂ）に示すｈａｎｄｌｅ＿ｔｉｍｅｒ（ｅ）関数はタイマイベントに応答して処理を行う関数であり、このタイマイベントは運転者が試乗中に周期的に発生される。ｈａｎｄｌｅ＿ｔｉｍｅｒ（ｅ）関数に関しては、まず、上記のｒｅａｄ＿ｔａｇ（）関数によって試乗車１０１のＩＣタグ１０２からタグｉｄが読み取られて、変数ｔａｇ＿ｉｄに代入される（Ｓ８２１）。
【００９５】
次に、タグｉｄが読み取られかつ変数ｔａｇ＿ｉｄとグローバル変数ｇ＿ｔａｇ＿ｉｄとが等しいか（ｔａｇ＿ｉｄ  =  ｇ＿ｔａｇ＿ｉｄ）否かが判定される（Ｓ８２２）。ステップＳ８２２でタグｉｄが読み取られかつ変数ｔａｇ＿ｉｄとグローバル変数ｇ＿ｔａｇ＿ｉｄとが等しいと判定されたとき、同一のユーザの携帯端末４が試乗車１０１のＩＣタグ１０２の近くにあることを示すため、同一のユーザが試乗車１０１の運転を継続しているものとみなし、現在位置がグローバル変数ｇ＿ｐａｔｈ（ＧＶ４）に追記され（Ｓ８２３）、処理は終了する。ステップＳ８２２でタグｉｄが読み取られず、又は、変数ｔａｇ＿ｉｄとグローバル変数ｇ＿ｔａｇ＿ｉｄとが等しくないと判定されたとき、運転者であるユーザが試乗を中断したとみなし、エラーの発生がログに記録される（Ｓ８２４）。
【００９６】
図２６（ｃ）に示すｅｎｄ＿ｒｉｄｅ（）関数は、試乗終了時等に試乗終了ボタン１２３を押下することによって処理を開始する。ｅｎｄ＿ｒｉｄｅ（）関数に関しては、まず、ログにエラーの発生が記録されているか否かが判定され（Ｓ８３１）、エラーの発生が記録されていると判定されたとき、”試乗が確認できませんでした”とメッセージが表示され（Ｓ８３７）、処理は終了する。
【００９７】
ステップＳ８３１でエラーの発生が記録されていないと判定されたとき、グローバル変数ｇ＿ｐａｔｈ（ＧＶ４）として記録された位置情報からなる経路情報に基づいて、試乗経路を表示する例えばビットマップ形式の地図データが生成され（Ｓ８３２）、レポートテーブルにレコードが追加され、<レポート先商品ｉｄ：ｇ＿ｒｅｃ＿ｉｄ，試乗経路図：生成したビットマップ>がこのレコードに書き込まれる（Ｓ８３３）。
【００９８】
次に、ステップＳ８３３で追加されたレコードのレコードｉｄが変数ｒｅｃ＿ｉｄに代入され（Ｓ８３４）、<ユーザｉｄ：＿ｕｓｅｒ＿ｉｄ>をキーとしてユーザテーブルからレコードｉｄが検索される（Ｓ８３５）。次に、ステップＳ８３５で検索されたレコードｉｄのレコードに、レポートｉｄの値としてステップＳ８３４で得られたｒｅｃ＿ｉｄが書き込まれ（Ｓ８３６）、処理は終了する。
【００９９】
図２７は、ＩＣタグを利用して商品情報を表示する処理の説明図であり、（ａ）はＩＣタグから情報を読み取る処理を開始するｓｔａｒｔ＿ｒｅａｄｅｒ（）関数に関し、（ｂ）はＩＣタグから情報を読み取る処理を終了するｅｎｄ＿ｒｅａｄｅｒ（）関数に関し、（ｃ）はＩＣタグから情報を読み取るイベントに応じて処理を行うｈａｎｄｌｅ＿ｒｅａｄｅｒ（ｅ）関数に関する。
【０１００】
ｓｔａｒｔ＿ｒｅａｄｅｒ（）関数に関しては、図２７（ａ）に示すように、携帯端末４のＩＣタグリーダにＩＣタグ１０２からの情報の読取開始が指示される（Ｓ９１１）。この指示に応じて、ＩＣタグリーダは、ＩＣタグ１０２からの読み取り処理を開始し、情報の読み取った契機で、タグリーダイベントを発生させる。
【０１０１】
ｅｎｄ＿ｒｅａｄｅｒ（）関数に関しては、図２７（ｂ）に示すように、携帯端末４のＩＣタグリーダにＩＣタグ１０２からの情報の読取終了が指示される（Ｓ９２１）。この指示に応じて、ＩＣタグリーダは、ＩＣタグ１０２からの情報の読み取りを終了する。
【０１０２】
図２７（ｃ）に示すｈａｎｄｌｅ＿ｒｅａｄｅｒ（ｅ）関数は、上記のステップＳ０３３でタグリーダイベントであると判定されたときにステップＳ０３４で処理を開始し、タグリーダイベントは、携帯端末４のＩＣタグリーダがＩＣタグ１０２を読み取る毎に発生する。また、ＩＣタグリーダが読み取ったタグｉｄは、リーダイベントの一部の情報をなす。
【０１０３】
ｈａｎｄｌｅ＿ｒｅａｄｅｒ（ｅ）関数に関しては、まず、リーダイベントをなすタグｉｄが変数ｔａｇ＿ｉｄに代入され（Ｓ９３１）、このタグｉｄが既に読み込まれたタグｉｄと一致するか否かが判定される（Ｓ９３２）。ステップＳ９３２で一致すると判定されたとき、このタグｉｄで特定される商品の商品情報は既に読み取られているため、処理は終了する。
【０１０４】
ステップＳ９３２で一致しないと判定されたとき、商品情報が未だ読み取られていない商品を対象とするものであり、<タグｉｄ：ｔａｇ＿ｉｄ>をキーとして、タグｉｄテーブル中からレコードｉｄが検索され（Ｓ９３３）、検索されたレコードｉｄのレコードの商品種別が新車であるか否かが判定される（Ｓ９３４）。
【０１０５】
ステップＳ９３４で商品種別が新車であると判定されたとき、このレコードの商品ｉｄをモデルテーブルのレコードｒを示すレコードｉｄとして抽出する（Ｓ９３８）。次に、モデルテーブルのレコードｒのメーカ、車種及びモデルがそれぞれ変数ｍａｋｅｒ、変数ｆａｍｉｌｙ、変数ｍｏｄｅｌに代入され（Ｓ９３９）、ｆｏｒｗａｒｄ（モデル情報画面，ｍａｋｅｒ，ｆａｍｉｌｙ，ｍｏｄｅｌ）によってモデル情報画面への遷移処理が実行され（Ｓ９４０）、処理は終了する。
【０１０６】
ステップＳ９３４で商品種別が新車でないと判定されたとき、ステップＳ９３３で検索されたレコードｉｄのレコードの商品ｉｄを中古車テーブルのレコードｒを示すレコードｉｄとして抽出する（Ｓ９３５）。次に、中古車テーブルのレコードｒのメーカ、車種、モデル及び製造番号がそれぞれ変数ｍａｋｅｒ、変数ｆａｍｉｌｙ、変数ｍｏｄｅｌ、変数ｓｅｒ＿ｎｏに代入され（Ｓ９３６）、ｆｏｒｗａｒｄ（中古車情報画面，ｍａｋｅｒ，ｆａｍｉｌｙ，ｍｏｄｅｌ，ｓｅｒ＿ｎｏ）によって中古車情報画面への遷移処理が実行され（Ｓ９３７）、処理は終了する。
【図面の簡単な説明】
【０１０７】
【図１】本発明による商品情報提供システムの一実施例を模式的に示すブロック構成図である。
【図２】本発明による商品情報提供システムの各装置に格納されるプログラムの構成を示す図である。
【図３】コンピュータ、携帯端末等に表示される画面の遷移の一例を示す説明図である。
【図４】ユーザ認証画面の一表示例を示す模式図である。
【図５】目次画面の一表示例を示す模式図である。
【図６】モデル一覧画面の一表示例を示す模式図である。
【図７】モデル情報画面の一表示例を示す模式図である。
【図８】中古車一覧画面の一表示例を示す模式図である。
【図９】中古車情報画面の一表示例を示す模式図である。
【図１０】レポート入力画面の一表示例を示す模式図である。
【図１１】画面遷移処理についての説明図であり、（ａ）には操作に対応する画面遷移例が、（ｂ）には画面に対応する画面オブジェクトの概念図が、（ｃ）には遷移に伴う画面オブジェクトのスタック状態が、そして、（ｄ）にはグローバル変数の例が、それぞれ示される。
【図１２】画面遷移処理について説明するフローチャートであり、（ａ）は前方向遷移のためのｆｏｒｗａｒｄ（ｔｙｐｅ，ｖ１，ｖ２，…，ｖｎ）関数に関し、（ｂ）は後方向遷移を実行するためのｂａｃｋ（）関数に関する。
【図１３】画面オブジェクトに関連して発生したイベントを画面オブジェクトに配送するｄｉｓｐａｔｃｈ（ｅ）関数の処理について説明するフローチャートである。
【図１４】図２に示す個々の画面に対応する画面オブジェクトに伴う変数の例を示す。
【図１５】商品情報データベースを構成する各テーブルの内容を示す図であり、（ａ）はタグｉｄテーブルを、（ｂ）は車種テーブルを、（ｃ）はモデルテーブルを、そして（ｄ）は中古車テーブルを示す。
【図１６】コメントデータベースを構成する各テーブルの内容を示す図であり、（ａ）はユーザテーブルを、（ｂ）はコメントテーブルを、そして（ｃ）はレポートテーブルを示す。
【図１７】ユーザ認証画面オブジェクトに関しての処理の説明図であり、（ａ）はｄｒａｗ（）関数についての処理の流れに関し、（ｂ）はｈａｎｄｌｅ（ｅ）関数についての処理の流れに関する。
【図１８】目次画面オブジェクトに関して行われる処理の説明図である。
【図１９】目次画面オブジェクトに関して行われる処理の説明図である。
【図２０】モデル一覧画面オブジェクトに関して行われる処理の説明図である。
【図２１】モデル情報画面オブジェクトに関して行われる処理の説明図である。
【図２２】モデル情報画面オブジェクトに関して行われる処理の説明図である。
【図２３】中古車一覧画面オブジェクトに関して行われる処理の説明図である。
【図２４】中古車情報画面オブジェクトに関して行われる処理の説明図である。
【図２５】レポート入力画面オブジェクトに関して行われる処理の説明図である。
【図２６】試乗に関して行われる処理の説明図であり、（ａ）は試乗開始に係る処理を行うｓｔａｒｔ＿ｒｉｄｅ（）関数に関し、（ｂ）は試乗中に係る処理を行うｈａｎｄｌｅ＿ｔｉｍｅｒ（ｅ）関数に関し、（ｃ）は試乗終了に係る処理を行うｅｎｄ＿ｒｉｄｅ（）関数に関する。
【図２７】ＩＣタグを利用して商品情報を表示する処理の説明図であり、（ａ）はＩＣタグから情報を読み取る処理を開始するｓｔａｒｔ＿ｒｅａｄｅｒ（）関数に関し、（ｂ）はＩＣタグから情報を読み取る処理を終了するｅｎｄ＿ｒｅａｄｅｒ（）関数に関し、（ｃ）はＩＣタグから情報を読み取るイベントに応じて処理を行うｈａｎｄｌｅ＿ｒｅａｄｅｒ（ｅ）関数に関する。
【符号の説明】
【０１０８】
１  サーバ
２  データベース
２ａ  商品情報データベース
２ｂ  コメントデータベース
３  コンピュータ
４  携帯端末
５  ネットワーク
１０  サーバ側プログラム
１１  オペレーティングシステム
１２  データベース制御プログラム
１３  通信制御プログラム
３０  コンピュータ側プログラム
３１  オペレーティングシステム
３２  通信制御プログラム
３３  画面遷移制御プログラム
３４  イベントディスパッチャ
４０  端末側プログラム
４１  オペレーティングシステム
４２  通信制御プログラム
４３  画面遷移制御プログラム
４４  イベントディスパッチャ
４５  ＩＣタグリーダ制御プログラム
１０１  車
１０２  ＩＣタグ
１０３  ＧＰＳ衛星
１１０  ユーザ認証画面
１１１  ユーザｉｄ入力欄
１１２  パスワード入力欄
１１３  ログインボタン
１２０  目次画面
１２１  車種価格表示選択欄
１２２  試乗開始ボタン
１２３  試乗終了ボタン
１２４  試乗レポート作成ボタン
１３０  モデル一覧画面
１３１  モデル代表写真
１３２  モデル一覧
１３３  戻るボタン
１４０  モデル情報画面
１４１  モデルの写真
１４２  スペック情報
１４３  試乗レポート一覧
１４４  コメント欄
１４５  コメント書込ボタン
１４６  戻るボタン
１５０  中古車一覧画面
１５１  中古車一覧
１５２  戻るボタン
１６０  中古車情報画面
１６１  中古車の写真
１６２  スペック情報表示領域
１６３  コメント欄
１６４  コメント書込ボタン
１６５  戻るボタン
１７０  レポート入力画面
１７１  レポート入力欄
１７２  書込ボタン
１８１〜１８３  画面
１９１〜１９３  画面オブジェクト
Ｄ  画面
ＧＶ１、ＧＶ２、ＧＶ３  グローバル変数
Ｍ  地図
【図１】
2008293362.tif 000003
【図２】
2008293362.tif 000004
【図３】
2008293362.tif 000005
【図４】
2008293362.tif 000006
【図５】
2008293362.tif 000007
【図６】
2008293362.tif 000008
【図７】
2008293362.tif 000009
【図８】
2008293362.tif 000010
【図９】
2008293362.tif 000011
【図１０】
2008293362.tif 000012
【図１１】
2008293362.tif 000013
【図１２】
2008293362.tif 000014
【図１３】
2008293362.tif 000015
【図１４】
2008293362.tif 000016
【図１５】
2008293362.tif 000017
【図１６】
2008293362.tif 000018
【図１７】
2008293362.tif 000019
【図１８】
2008293362.tif 000020
【図１９】
2008293362.tif 000021
【図２０】
2008293362.tif 000022
【図２１】
2008293362.tif 000023
【図２２】
2008293362.tif 000024
【図２３】
2008293362.tif 000025
【図２４】
2008293362.tif 000026
【図２５】
2008293362.tif 000027
【図２６】
2008293362.tif 000028
【図２７】
2008293362.tif 000029