以下、本発明を実施するための形態としての共同購入の電子商取引システム(以下、単に「本システム」とも表記する)について具体例を挙げて説明する。以下に挙げる実施形態は例示であり、本発明は以下の実施形態の構成に限定されない。
§1システム構成
図1は、実施形態における電子商取引システムの全体構成を示す図である。本実施形態における電子商取引システムは、データサーバ1、ワークサーバ2、WEBサーバ5、ユーザ端末9等から構成される。データサーバ1、ワークサーバ2、WEBサーバ5はそれぞれシステム内ネットワーク7により相互に通信可能に接続される。これにより、複数のユーザ端末9の各々は、ネットワーク6を介してWEBサーバ5へアクセスすることができ、電子商取引サービスの提供を受けることができる。例えば、ユーザ端末9とWEBサーバ5との間のインタフェースとしてWEBシステムが利用される。
ネットワーク6及びシステム内ネットワーク7は、インターネット等の公衆ネットワークであってもよいし、LAN(Local Area Network)やWAN(Wide Area Network)等の社内
ネットワークであってもよい。本発明は、このようなネットワーク6及びシステム内ネットワーク7を限定するものではなく、ネットワーク6及びシステム内ネットワーク7上に規定されるプロトコル等を限定するものでもない。図1では、ネットワーク6とシステムネットワーク7とを区別したが、同一のネットワークであってもよい。
§2 装置構成
以下、本システムを構成する各ノードの構成についてそれぞれ説明する。
§2−1 データサーバ1
図2は、本実施形態におけるデータサーバ1の構成を示す概念図である。
データサーバ1は、ハードウェア構成として、図2に示されるように、バス13で接続される、制御部11、記憶部12、通信部14等既存のハードウェアを有する。記憶部12は、例えばハードディスクであり、制御部11で実行される処理で利用される各種情報を記憶する。制御部11は、CPU(Central Processing Unit)等の1又は複数のプロセッサであり、このプロセッサの処理に利用される周辺回路(ROM(Read Only Memory)、RAM(Random Access Memory)、インタフェース回路等)を有する。通信部14は、システム内ネットワーク7に接続され、ワークサーバ2とWEBサーバ5等とIP(Internet Protocol)パケット等の送受信を行う。
データサーバ1は、PC(Personal Computer)等のような汎用コンピュータで構成され
てもよいし、ネットワーク接続ストレージ(NAS)のような専用コンピュータで構築され
てもよい。本発明は、データサーバ1のハードウェア構成を限定するものではない。
図2では、データサーバ1は、電子商取引における情報の格納を行うために注文情報テーブル16、割引ランクテーブル17、商品情報テーブル18を記憶部12に有し、それらの情報を管理するための処理部としてデータ管理部15を制御部11に有している。
§2−1−1 注文情報テーブル16
注文情報テーブル16には、ユーザの注文情報が格納される。以降、注文情報テーブル16の行データのことを特に「注文情報」と表記する。図3は、本実施形態における注文情報テーブル16である。本実施形態の注文情報テーブル16は、注文IDフィールド、商品IDフィールド、ユーザIDフィールド、確定注文又はエントリー数フィールド、確定注文又はエントリー日時フィールド、レコメンド日時フィールド、状態フィールドを有する。
注文IDフィールドには、注文を識別するための識別子(注文ID)が格納される。商品IDフィールドには、商品を識別するための識別子(商品ID)が格納される。ユーザIDフィールドには、注文を行ったユーザを識別するための識別子(ユーザID)が格納される。確定注文又はエントリー数フィールドには、ユーザが確定注文又はエントリーを行った商品の注文数の数値が格納される。
本実施形態では、商品の注文方法として、2つの注文方法が設けられている。1つは、「確定注文」であり、もう1つは「エントリー」である。「確定注文」とは、その商品を購入することを確定し、変更やキャンセル等できない状態になる注文方法である。「エントリー」とは、注文する意思を示すが注文を確定させていない状態になる注文方法である。
このエントリー状態では、ユーザは、商品の販売が終了するまで他の商品に乗り換えることができる。乗り換えとは、ある商品の注文をキャンセルし、別の商品を注文することである。以降、キャンセルした方の商品を「乗り換え前の商品」と、乗り換えた方の商品を「乗り換え先の商品」と表記する。
確定注文又はエントリー日時フィールドには、ユーザが確定注文又はエントリーを行った日時が格納される。レコメンド日時フィールドには、ワークサーバ2がユーザにレコメンドを行った日時が格納される。状態フィールドには、ユーザが行った注文が確定注文であるか又はエントリーであるかを示す識別子が格納される。
なお、図3には、各フィールドの具体的なデータが表現されているが、本発明はデータ表現を限定するものではない。注文情報テーブル16の更新については、以下の§2−1−4で説明する。
§2−1−2 割引ランクテーブル17
割引ランクテーブル17には、商品の割引情報が格納される。図4は、本実施形態における割引ランクテーブル17である。本実施形態の割引ランクテーブル17は、ランクフィールド、割引率フィールド、割引条件フィールドを有する。
ランクフィールドには、商品の割引のランクを示す識別子が格納される。割引率フィールドには、商品の割引のランクに応じた割引率が格納される。割引条件フィールドには、商品の割引のランクを定めるための条件が格納される。
なお、本発明は、割引ランクテーブル17のデータ形式を限定するものではない。
§2−1−3 商品情報テーブル18
商品情報テーブル18には、商品の商品情報が格納される。以降、商品情報テーブル18の行データのことを特に「商品情報」と表記する。図5は、本実施形態における商品情報テーブル18である。本実施形態の商品情報テーブル18は、商品IDフィールド、商品名フィールド、定価フィールド、賞味期限フィールド、販売期間フィールド、賞味期限の割引ランクフィールド、商品タグフィールド、販売数フィールド、現在の確定注文数フィールド、現在のエントリー数フィールド、確定注文可能数フィールド、エントリー可能数フィールド、残りの販売数フィールド、確定注文数による割引ランクフィールド、エントリー数を含む割引ランクフィールド、割引確定価格フィールド、割引見込み価格フィールド、最大割引価格フィールドを有する。
商品IDフィールドには、注文情報テーブル16の商品IDフィールドと同様、商品IDが格納される。商品名フィールドには、商品の名前が格納される。定価フィールドには、商品の定価が格納される。賞味期限フィールドには、商品の賞味期限が格納される。販売期間フィールドには、商品の販売数による販売終了条件の日時(販売終了日時)が格納される。
賞味期限の割引ランクフィールドには、商品の賞味期限による割引ランクが格納される。本実施形態では、商品の賞味期限による割引ランクは、販売期間フィールドに格納されている販売終了日時が割引ランクテーブル17のどの割引ランクの割引条件を満たすか否かで決定されている。なお、本発明は賞味期限による割引ランクの定め方を限定するものではない。
商品タグフィールドには、その商品の類似商品・推奨商品を検索するためのデータ(以下、単に「商品タグ」と表記)が格納される。類似商品・推奨商品を検索するためのデータとは、例えば文字列データ等の検索キーワードである。図5では、商品Aの類似商品・推奨商品を検索するためのデータとして、商品Aのタグフィールドには「飲料、コーラ、炭酸」という3つの検索キーワードが格納されている。本実施形態では、この検索キーワードを使って、この検索キーワードと同一の検索キーワードをもつ他の商品が検索される。例えば、商品Aの場合、商品Bと商品Cが類似商品・推奨商品に該当する。なお、本発明は商品の類似商品・推奨商品を検索するためのデータを限定するものではない。
販売数フィールドには、販売を予定している商品数量が格納される。現在の確定注文数フィールドには、商品の確定注文数が格納される。確定注文数とは、当該商品に対する確定注文による注文数の総量のことである。現在のエントリー数フィールドには、商品のエントリー数が格納される。エントリー数とは、当該商品に対するエントリーによる注文数の総量のことである。確定注文可能数フィールドには、ユーザが商品を確定注文することができる注文数の最大値が格納される。エントリー可能数フィールドには、ユーザが商品にエントリーすることができる注文数の最大値が格納される。残りの販売数フィールドには、ユーザが商品を注文することができる注文数の最大値が格納される。
これら確定注文可能数フィールド、エントリー可能数フィールド、残りの販売数フィールドは、販売数による販売終了条件やその他の条件によって格納される値が異なる。本実施形態では、販売数による販売終了条件は「確定注文数+エントリー数=販売数」とする。また、その他の条件は考慮しないことにする。その他の条件とは、例えば、販売数の8割については確定注文を可能とし、残り2割についてはエントリーの対象商品とする等である。これらを考慮すると、確定注文可能数フィールドには、「販売数−確定注文数」が入る。エントリー可能数フィールドには、「販売数−確定注文数−エントリー数」が入る。残りの販売数フィールドには、「販売数−確定注文数−エントリー数」が入る。なお、
販売数による販売終了条件は本実施形態以外にも考えることができる。その例は§4変形例で示す。
確定注文数による割引ランクフィールドには、確定注文数が満たす割引ランクテーブル17内の割引条件の割引ランクが格納される。
エントリー数を含む割引ランクフィールドには、確定注文数とエントリー数の合計が満たす割引ランクテーブル17内の割引条件の割引ランクが格納される。割引確定価格フィールドには、確定した割引価格(以降、「割引確定価格」と表記)が格納される。確定した割引価格とは、購入総量が現在の確定注文数である場合の商品価格である。本実施形態において、割引確定価格は「定価×(1−賞味期限の割引ランクの割引率−確定注文数による割引ランクの割引率)」で計算される。図5において、例えば、商品Bの割引確定価格は、「200×(1−0.3−0.2)=100」として計算されている。なお、本発明は割引確定価格の計算方法を限定するものではない。その他、どのような計算方法を用いてもよい。
割引見込み価格フィールドには、エントリー数を含んだ場合の割引価格(以降、「割引見込み価格」と表記)が格納される。割引見込み価格とは、購入総量が確定注文数とエントリー数の合計である場合の商品価格である。割引見込み価格の計算については、割引確定価格と同様である。割引見込み価格は、割引確定価格を求める計算式内の「確定注文数による割引ランクの割引率」を「エントリー数を含む割引ランクの割引率」に置き換えた計算式によって計算される。
最大割引価格フィールドには、その商品の最大割引価格が格納される。つまり、購入総量が販売数である場合の商品価格が格納される。
§2−1−4 各テーブルの更新について
本実施形態において、ユーザがWEBページ上で商品を確定注文した時、商品にエントリーした時、商品にエントリーした状態から他の商品に乗り換えを行った時、商品にエントリーした状態から確定注文に切り換えた時、注文情報テーブル16と商品情報テーブル18は、データ管理部15によって更新される。
本実施形態において、ユーザがWEBページ上で上記注文を行うと、ワークサーバ2からデータサーバ1に注文情報テーブル16と商品情報テーブル18を更新するためのデータ(以降、「更新用データ」と表記)が送信される。更新用データは、ユーザが注文した商品の商品ID、ユーザID、注文数、注文の日時等が含まれている。データ管理部15は、更新用データに基づいて注文情報テーブル16と商品情報テーブル18の更新を行う。
(1)注文情報テーブル16の更新
データ管理部15は、注文情報テーブル16の更新を行う。ユーザが商品を確定注文又はエントリーした時、データ管理部15は、新たな注文情報を生成する。新たな注文情報は、更新用データに含まれる商品ID、ユーザID、注文数、注文の日時等によって生成される。ユーザが商品の乗り換え又は注文の切り替えを行った時、データ管理部15は、その注文の注文情報により元の注文情報を更新する。この場合、データ管理部15は、更新用データに含まれている注文IDを用いて、注文情報テーブル16を検索し、該当する注文情報を更新用データに含まれる商品ID、注文の日時等によって更新する。
(2)商品情報テーブル18の更新
データ管理部15は、注文情報テーブル16を更新した場合には、商品情報テーブル1
8の更新を行う。データ管理部15は、更新用データに含まれる商品IDを用いて、商品情報テーブル18を検索し、該当する商品情報を更新用データに含まれる注文数等によって更新する。以下、ユーザが商品を確定注文した場合を例示する。
ユーザが商品を確定注文した場合、データ管理部15は、該当する商品の商品情報内の現在の確定注文数に、更新用データに含まれる注文数を加算して、上書きする。データ管理部15は、該当する商品の商品情報内の確定注文可能数から、更新用データに含まれる注文数を減算して、上書きする。データ管理部15は、同様の減算処理を該当する商品の商品情報内のエントリー可能数、残りの販売数についても行う。
これらの更新後、確定注文数が更新されたので、データ管理部15は、該当する商品の商品情報内の確定注文数による割引ランク、エントリー数を含む割引ランクの更新を行う。この更新は、割引ランクテーブル17を用いて行われる。また、該当する商品の商品情報内の確定注文数による割引ランク、エントリー数を含む割引ランクのどちらか一方でも更新された場合、データ管理部15は、割引確定価格、割引見込み価格の更新を行う。割引確定価格、割引見込み価格は§2−1−3で説明したとおりである。データ管理部15は、これらの計算を行い、上書きする。
上述のような更新処理の後、データ管理部15は、更新後の商品情報及び更新後の注文情報を含む更新結果(以降、「更新結果データ」と表記)をワークサーバ2に返信する。
ユーザがエントリーによる注文を行った場合等も、上記確定注文した場合と同様に商品情報テーブル18の更新が行われる。
§2−1−5 時間経過監視時について
本実施形態において、一定期間が経過すると、ワークサーバ2からデータサーバ1へ、データ送信時の日時を含むデータ(以下、「時間監視データ」と表記)が送信される。詳細は§2−3−3で説明する。
データサーバ1が時間監視データを受信すると、データ管理部15は、販売期間の過ぎた商品情報及びその商品を対象とした注文情報の収集と、販売期間の過ぎていない商品を対象とした注文情報の中でレコメンドを行う対象の注文情報の収集を行う。
まず、データ管理部15は、販売期間の過ぎた商品情報及びその商品を対象とした注文情報の収集を行う。具体的には、データ管理部15は、商品情報テーブル18から、時間監視データ内のデータ送信時の日時より小さい販売期間を有する商品情報を収集し、収集した商品情報を商品情報テーブル18から削除する。
更に、データ管理部15は、注文情報テーブル16から、販売期間を過ぎた商品の商品情報内の商品IDと同一の商品IDを持つ注文情報(以降、「販売期間を過ぎた商品の注文情報」と表記)を収集する。データ管理部15は、収集した注文情報を注文情報テーブル16から削除する。なお、販売期間を過ぎた商品の商品情報及び販売期間を過ぎた商品の注文情報は販売中の商品情報及び注文情報と区別できればよいため、削除しなくてもよいが、本実施形態においては削除することにする。
次に、データ管理部15は、販売期間の過ぎていない商品を対象とした注文情報の中でレコメンドを行う対象の注文情報の収集を行う。具体的には、データ管理部15は、注文情報テーブル16から状態フィールドに「エントリー」が格納されている注文情報のうちでレコメンド日時がデータ送信時の日時よりも所定期間以上前となっている注文情報(以降、「レコメンド対象の注文の注文情報」)を収集する。例えば、データ管理部15は、
レコメンド日時が送信時の日時よりも1日以前である注文情報を収集する。以下、§3−2において、上記所定期間は1日であるとして説明するが、本発明はこの上記所定期間を限定するものではない。この所定期間は、ユーザによって定められてもよい。
更に、データ管理部15は、商品情報テーブル18から、レコメンド対象の注文情報内の商品IDと同一の商品IDを持つ商品情報(以降、「レコメンド対象の注文の商品情報」と表記)を収集する。
その後、データ管理部15は、収集した注文情報と収集した商品情報を含むデータ(以下、「時間監視検索データ」と表記)を返信する。そして、データ管理部15は、レコメンド対象の注文の注文情報のレコメンド日時をデータ送信時の日時に上書きして、注文情報テーブル16を更新する。
§2−1−6 ユーザの注文による販売終了時
本実施形態において、ユーザの注文により商品の販売が終了すると、ワークサーバ2からデータサーバ1へ、販売終了処理のためのデータ(以降、「販売終了用データ」と表記する)が送信される。詳細は、§2−3−2(2)で説明する。
販売終了用データには、販売が終了した商品の商品情報が含まれている。データサーバ1は、販売が終了した商品の商品情報及び販売が終了した商品に対する注文情報を検索し、検索結果をワークサーバ2へ返信した後に削除する。なお、販売が終了した商品の商品情報及び販売が終了した商品に対する注文情報は、販売中の商品情報及び注文情報と区別できればよいため、削除しなくてもよいが、本実施形態においては削除することにする。
まず、データ管理部15は、商品情報テーブル18から、販売終了用データ内の販売が終了した商品の商品IDと同一の商品IDを持つ商品情報を収集し、収集した商品情報を商品情報テーブル18から削除する。
次に、データ管理部15は、注文情報テーブル16から、販売が終了した商品の商品IDと同一の商品IDを持つ注文情報を収集し、収集した注文情報を注文情報テーブル16から削除する。この際、状態フィールドに格納されている識別子は考慮しない。
そして、データ管理部15は、販売が終了した商品の商品情報と、販売が終了した商品の商品IDと同一の商品IDを持つ注文情報を含む処理結果をワークサーバ2へ返信する。
§2−1−7 その他
本実施形態において、データサーバ1の記憶部12に格納されている注文情報テーブル16、割引ランクテーブル17、商品情報テーブル18はテーブルの形式で表現されているが、本発明は情報の実現形式を限定するものではない。たとえば、XML(eXtensible Markup Language)で実現されていても良いし、SQL(Structured Query Language)で実現
されていても良い。
また、本実施形態において、データサーバ1の記憶部12に格納されている注文情報テーブル16、割引ランクテーブル17、商品情報テーブル18は別々のテーブルとして説明したが、本発明はテーブル数を限定するものではない。一つのテーブルであってもよいし、複数のテーブルであってもよい。
また、本実施形態において、データ管理部15が各フィールドの更新を行う際の処理を説明したが、本発明はデータの更新処理を限定するものではない。例えば、全てのフィー
ルドの値や識別子をメモリ上で計算・判定してから一度に更新してもよい。
また、本実施形態においては、データ管理部15は注文情報テーブル16を更新した後に商品情報テーブル18を更新しているが、本発明はデータの更新順を限定するものではない。
§2−2 WEBサーバ5
図6は、本実施形態におけるWEBサーバ5の構成を示す概念図である。
WEBサーバ5は、ハードウェア構成として、図6に示されるように、バス53で接続される、制御部51、記憶部52、通信部54等既存のハードウェアを有する。なお、本発明は、WEBサーバ5のハードウェア構成を限定するものではない。
本実施形態における電子商取引は、WEBサーバ5から送られてくるWEBページをユーザがユーザ端末9上で操作することによって行われる。WEBページは例えばHTML(HyperText Markup Language)文書等であり、ユーザがユーザ端末9上で行える操作はキー
ボードによる文字入力や、マウスによるクリック操作等である。
ユーザがWEBページ上で行うことのできる操作は、商品を検索すること(商品検索操作)、商品を確定注文すること(確定注文操作)、商品にエントリーすること(エントリー操作)、ある商品にエントリーしている時に他の商品に乗り換えを行うこと(商品乗り換え操作)、ある商品にエントリーしている時に注文を確定注文に切り換えを行うこと(注文切り換え操作)等である。
WEBサーバ5は、ユーザのWEBページ上での操作の情報(以降、単に「ユーザの操作情報」と表記する)を受け取って、そのユーザの操作情報に基づくリクエスト情報を後述のワークサーバ2へ送信する。図6では、WEBサーバ5をユーザ端末9と本システムとの間のインタフェースとして動作させるための処理部として操作処理部55、リクエスト制御部56、WEBページ処理部57が示されている。
§2−2−1 操作処理部55
操作処理部55は、ユーザの操作情報の判定を行う。電子商取引は、ユーザがWEBページをユーザ端末9上で商品検索操作等の操作をすることによって行われるが、実際の操作は、例えば、マウスによるクリック操作やキーボードによる文字入力等である。これらの操作からユーザの操作情報は何であるかの判定を操作処理部55は行う。
§2−2−2 リクエスト制御部56
リクエスト制御部56は、操作処理部55の判定により明らかとなったユーザの操作情報に基づいてリクエスト情報を生成し、電子商取引の処理を行う後述のワークサーバ2へそのリクエスト情報を送信する。リクエスト情報は以下に示されるデータである。
ユーザの操作情報が商品検索操作による情報であるならば、リクエスト情報はユーザが入力した商品の検索条件を含むデータである。ユーザが入力した商品の検索条件とは、例えば商品名等の文字列データである。
ユーザの操作情報が確定注文操作による情報であるならば、リクエスト情報は、ユーザ端末9でWEBページを操作しているユーザのユーザID、ユーザがWEBページ上で商品を確定注文した日時、ユーザが確定注文した商品の商品情報及び確定注文した注文数を含むデータである。
ユーザの操作情報がエントリー操作による情報であるならば、リクエスト情報は、ユーザ端末9でWEBページを操作しているユーザのユーザID、ユーザがWEBページ上で商品にエントリーした日時、ユーザがエントリーした商品の商品情報及びエントリーした注文数を含むデータである。
ユーザの操作情報が商品乗り換え操作による情報であるならば、リクエスト情報は、ユーザ端末9でWEBページを操作しているユーザのユーザID、ユーザがWEBページ上で商品の乗り換えをした日時、乗り換え前の商品情報と乗り換え先の商品情報、乗り換え前の商品に対するユーザの注文情報及び乗り換え先の商品の注文数を含むデータである。
ユーザの操作情報が注文切り換え操作による情報であるならば、リクエスト情報は、ユーザ端末9でWEBページを操作しているユーザのユーザID及びユーザがエントリーから確定注文に切り換えた商品の商品情報と注文情報を含むデータである。
§2−2−3 WEBページ処理部57
WEBページ処理部57は、ユーザの操作情報、ワークサーバ2から返信されるWEBサーバ5のリクエストに対する結果(以降、「リクエスト結果情報」と表記)、記憶部52に格納されているWEBページデータ58等を基にして、ユーザ端末9に表示するためのWEBページを生成し、ユーザ端末9に送信する。生成されるWEBページは、商品の検索結果を表示するWEBページ(商品検索結果ページ)、商品の情報を表示するWEBページ(商品詳細ページ)、注文が完了したことを表示するWEBページ(注文完了ページ)である。
なお、以下のWEBページは、本実施形態におけるWEBページ処理部57が生成するWEBページであり、本発明のWEBページのデザインを限定するものではない。例えば、フレーム等の画面効果を用いたWEBページであってもよい。
(1) 商品検索結果ページ
図7は、本実施形態における商品検索結果ページである。商品検索結果ページは、ユーザが商品検索操作を行った時にユーザ端末9上に表示されるWEBページである。
WEBページ処理部57は、ワークサーバ2から受け取ったリクエスト結果情報を基に、WEBページを作成する。リクエスト結果情報には、それぞれ該当する商品情報がデータサーバ1に存在すれば、ユーザが入力した商品の検索条件に合致する商品名の商品情報及び、類似商品・推奨商品の商品情報が含まれている。WEBページ処理部57は、それぞれの商品情報を記載したWEBページを作成する。
WEBページ処理部57は、WEBページデータ58を利用して、それぞれのデータを埋め込むことでWEBページを生成してもよい。WEBページデータ58は、例えば、CGI(Common Gateway Interface)、JAVASCRIPT(登録商標)を含むHTML文書、
スタイルシートなど周知技術のデータである。生成された商品検索結果ページは、WEBページ処理部57からユーザ端末9に送信され、ユーザ端末9に表示される。
図7では、商品検索操作を行う部分(131)において、ユーザは商品Aを商品の検索条件として入力し、商品検索操作を行っている。また、ユーザの商品検索操作の結果、商品の検索条件に該当する商品Aの商品情報が表示されている(132)。そして、商品Aの類似商品・推奨商品である商品Bと商品Cの商品情報も表示されている(133)(図5も合わせて参照)。
データサーバ1に該当商品の商品情報がない場合については不図示だが、商品の検索条
件に該当する商品情報を表示する部分(132)や検索条件に該当する商品の類似商品・推奨商品の商品情報を表示する部分(133)に、“該当商品なし”などと表示される。
(2) 商品詳細ページ
図8は、本実施形態における商品Aの商品詳細ページである。商品詳細ページは、ユーザが確定注文操作やエントリー操作を行うためのWEBページである。図7において、商品の検索条件に該当する商品情報を表示する部分(132)内や検索条件に該当する商品の類似商品・推奨商品の商品情報を表示する部分(133)内にある「商品詳細ページへ」を、ユーザ端末9上でクリック操作等をユーザが行うことで、WEBページ処理部57は、商品詳細ページを生成する。
生成される商品詳細ページは、§2−2−3(1)で説明したワークサーバ2からのリクエスト結果情報を基にして生成される。リクエスト結果情報には、ユーザが入力した商品の検索条件に合致する商品名の商品情報及び、類似商品・推奨商品の商品情報が含まれている。
なお、ユーザは、商品検索結果ページから商品詳細ページにアクセスしているが、URL
(Uniform Resource Locator)を指定する等して商品詳細ページに直接アクセスしてもよい。また、WEBページ処理部57が生成した商品詳細ページを記憶部52に格納しておき、ユーザ端末9からのアクセスに応じて、WEBページ処理部57は記憶部52に格納している商品詳細ページをユーザ端末9へ送信してもよい。
本実施形態において、商品詳細ページは、当該商品の商品情報を表示する部分(141)、当該商品に対してユーザが確定注文操作又はエントリー操作を行う部分(142)、ユーザが類似商品・推奨商品を並び替える操作を行う部分(143)、当該商品の類似商品・推奨商品の商品情報を表示する表示する部分(144)を有する。
当該商品の商品情報を表示する部分(141)には、「エントリー期間」「現在の購入確定数」「現在のエントリー数」「現在の割引確定価格」「現在の割引見込み価格」「最大割引価格」が表示される。「エントリー期間」は、商品情報内の販売期間であり、その商品の販売終了日時を示す。「現在の購入確定数」は、商品情報内の現在の確定注文数であり、その商品の確定注文されている注文数を示す。「現在のエントリー数」は、商品情報内の現在のエントリー数であり、その商品のエントリーされている注文数を示す。「現在の割引確定価格」は、商品情報内の割引確定価格であり、その商品の購入総量が現在の購入確定数であった場合の商品価格を示す。「現在の割引見込み価格」は、商品情報内の割引見込み価格であり、その商品の購入総量が現在の購入確定数と現在のエントリー数との合計であった場合の商品価格を示す。「最大割引価格」は、商品情報内の最大割引価格であり、その商品の購入総量が予定販売数である場合の商品価格を示す。
当該商品に対してユーザが確定注文操作又はエントリー操作を行う部分(142)は、ユーザがエントリー又は確定注文を行うための操作部分である。本実施形態では、注文数を記入する欄と、「確定注文」ボタン及び「エントリー」ボタンがある。
ユーザがユーザ端末9を操作し、記入欄に注文数を入力した上で、「確定注文」ボタンを押すと、操作処理部55はユーザの操作情報が確定注文操作による情報であると判定する。その判定に従って、リクエスト制御部56は、当該商品の商品情報を表示する部分(141)に表示している商品情報、記入欄に入力した値から上述したリクエスト情報を生成する。ここで、ユーザが記入欄に入力した値が、当該商品の商品情報を表示する部分(141)に表示している商品情報の残りの販売数を超えている場合、リクエスト制御部56は、リクエスト情報を生成せず、WEBページ処理部57にエラーを送る。エラー処理
については、周知の技術である。
また、ユーザがユーザ端末9を操作し、記入欄に注文数を入力した上で、「エントリー」ボタンを押すと、操作処理部55はユーザの操作情報がエントリー操作による情報であると判定する。その判定に従って、リクエスト制御部56は、当該商品の商品情報を表示する部分(141)に表示している商品情報、記入欄に入力した値からリクエスト情報を生成する。ここで、ユーザが記入欄に入力した値が、当該商品の商品情報を表示する部分(141)に表示している商品情報内の残りの販売数を超えている場合は、上記と同様、リクエスト制御部56は、エラー処理を行う。
当該商品に対してユーザが確定注文操作又はエントリー操作を行う部分(142)は他の形態であってもよい。例えば、HTMLのチェックボックスやセレクト部品のようなフォーム形式が考えられる。
ユーザが類似商品・推奨商品を並び替える操作を行う部分(143)は、当該商品の類似商品・推奨商品の商品情報を表示する表示する部分(144)に表示されている当該商品の類似商品・推奨商品を、ユーザ操作によって並び替えるための操作部分である。この機能はWEBサーバ5の機能として周知の機能である。
当該商品の類似商品・推奨商品の商品情報を表示する表示する部分(144)には、当該商品詳細ページの商品に関する類似商品・推奨商品が表示される。各部分の値は、当該商品の商品情報を表示する部分(141)で説明したものと同様である。
(3) 注文完了ページ
注文完了ページは、ユーザが確定注文操作、エントリー操作、商品乗り換え操作、注文切り換え操作を行った際、その際に必要な本システムの処理が完了したことを表示するWEBページである。
注文完了ページには、次の3つの種類がある。1つ目は、ユーザが商品を確定注文した際の本システムの処理が完了したことを表示するWEBページ(以降、単に「確定注文完了ページ」と表記)である。2つ目は、ユーザが商品にエントリーした際の本システムの処理が完了したことを表示するWEBページ(以降、単に「エントリー完了ページ」と表記)である。3つ目は、ユーザが商品を確定注文又は商品にエントリーした際に本システムの処理が完了した結果、その商品が販売終了になったことを表示するWEBページ(以降、単に「販売終了ページ」と表記)である。
(3−1)確定注文完了ページ
図9は、本実施形態における商品Aの確定注文完了ページである。確定注文完了ページは、ユーザが確定注文操作を行った時、乗り換え先の商品を確定注文した商品乗り換え操作を行った時、注文切り換え操作を行った時にWEBページ処理部57によって生成される。以下、ユーザが確定注文操作を行った場合を例にして、WEBページ処理部57の処理を説明する。
ユーザはユーザ端末9に表示される商品詳細ページ(図8)上で確定注文操作を行う。ユーザが確定注文操作を行うと、WEBサーバ5からワークサーバ2へリクエスト情報が送信される。WEBサーバ5は、ワークサーバ2からリクエスト結果情報を受信する。WEBページ処理部57は、このリクエスト結果情報に基づいて確定注文完了ページを生成する。リクエスト結果情報には、ユーザが確定注文した商品の更新後の商品情報が含まれており、WEBページ処理部57は、この商品情報と、ユーザが商品を確定注文した注文数を用いて確定注文完了ページを生成する。
WEBページ処理部57は、図9の確定注文完了ページを生成する。図9の確定注文完了ページには、ユーザが確定注文した商品の更新後の商品情報と、ユーザが商品を確定注文した注文数が表示されている。ユーザが乗り換え先の商品を確定注文した商品乗り換え操作を行った時、注文切り換え操作を行った時も同様にして、確定注文完了ページが生成される。
(3−2)エントリー完了ページ
図10は、本実施形態における商品Aのエントリー完了ページである。エントリー完了ページは、ユーザがエントリー操作を行った時、乗り換え先の商品にエントリーした商品乗り換え操作を行った時にWEBページ処理部57によって生成される。以下、ユーザがエントリー操作を行った場合を例にして、WEBページ処理部57の処理を説明する。
ユーザはユーザ端末9に表示される商品詳細ページ(図8)上でエントリー操作を行う。ユーザがエントリー操作を行うと、WEBサーバ5からワークサーバ2へリクエスト情報が送信される。その後、WEBサーバ5は、ワークサーバ2からリクエスト結果情報を受信する。WEBページ処理部57は、このリクエスト結果情報に基づいてエントリー完了ページを生成する。リクエスト結果情報には、ユーザがエントリーした商品の更新後の商品情報が含まれており、WEBページ処理部57は、この商品情報と、ユーザが商品をエントリーした注文数を用いてエントリー完了ページを生成する。
WEBページ処理部57は、図10のエントリー完了ページを生成する。図10のエントリー完了ページには、ユーザがエントリーした商品の更新後の商品情報と、ユーザが商品を確定注文した注文数が表示されている。ユーザが乗り換え先の商品をエントリーした商品乗り換え操作を行った時、注文切り換え操作を行った時も同様にして、エントリー完了ページが生成される。
図10のエントリー完了ページには、その他に、当該商品に対してユーザが注文切り換え操作を行う部分(151)、当該商品に対してユーザが商品乗り換え操作を行う部分(152、153)が表示されている。
ユーザは、エントリー完了ページ上の当該商品に対してユーザが注文切り換え操作を行う部分(151)の「注文を確定する」ボタンをマウスによるクリック操作等の操作を行うことで、注文切り換え操作を行うことができる。なお、注文切り換え操作を行う際に注文数を変更できるようにしてもよい。
また、本実施形態において、ユーザはエントリー完了ページ上の当該商品に対してユーザが商品乗り換え操作を行う部分(152、153)を操作することで商品乗り換え操作を行うことができる。ユーザは、「この商品に乗り換える」ボタン(152)をマウスによるクリック操作等の操作を行う。そして、ユーザは、その操作により表示された乗り換え先の商品の注文数と注文方法をユーザに操作させる部分(153)の記入欄に値を記入し、「確定注文」ボタン又は「エントリー」ボタンをマウスによるクリック操作等の操作を行うことで、商品乗り換え操作を行うことができる。
(3−3)販売終了ページ
図11は、本実施形態における商品Aの販売終了ページである。販売終了ページは、ユーザが確定注文操作、エントリー操作、商品乗り換え操作を行った際に必要な本システムの処理が完了した結果、ユーザが確定注文又はエントリーした商品が販売終了となったことを表示するWEBページである。以下、ユーザが確定注文操作を行った場合を例にして、WEBページ処理部57の処理を説明する。
ユーザが確定注文操作を行った際、WEBサーバ5はワークサーバ2へリクエスト情報を送信する。その後、WEBサーバ5は、ワークサーバ2からリクエスト結果情報を受信する。WEBページ処理部57は、ユーザの注文した商品が販売終了となったとワークサーバ2が判定した場合、このリクエスト結果情報に基づいて販売終了ページを生成する。リクエスト結果情報には、ユーザが確定注文した商品の更新後の商品情報が含まれており、WEBページ処理部57は、この商品情報と、ユーザが商品を確定注文した注文数を用いて販売終了ページを生成する。
以上の処理の結果、図11の販売終了ページが生成される。図11の販売終了ページには、ユーザが確定注文した商品の更新後の商品情報と、ユーザが商品を確定注文した注文数表示されている。ユーザがその他の操作を行った時も同様にして、販売終了ページが生成される。
§2−3 ワークサーバ2
図12は、本実施形態におけるワークサーバ2の構成を示す概念図である。
ワークサーバ2は、ハードウェア構成として、図3に示されるように、バス23で接続される、制御部21、記憶部22、通信部24等既存のハードウェアを有する。なお、本発明は、ワークサーバ2のハードウェア構成を限定するものではない。
ワークサーバ2は、記憶部22に格納されるOS等のプログラムが制御部21において実行されることにより、電子商取引における情報の処理を行うワークサーバとして動作する。図12では、ワークサーバ2をワークサーバとして動作させるための処理部としてリクエスト振分部25、リクエスト処理部26、時間経過監視部27、レコメンド処理部28が示されている。
§2−3−1 リクエスト振分部25
リクエスト振分部25は、WEBサーバ5から送信されてくるリクエスト情報をユーザの操作情報に応じてリクエスト処理部26内の各処理部に振り分ける。
§2−3−2 リクエスト処理部26
リクエスト処理部26は、WEBサーバ5から送信されてくるリクエスト情報の処理を行うため、商品検索処理部31、確定注文操作処理部32、エントリー操作処理部33、商品乗り換え操作処理部34、注文切り換え操作処理部35を有する。
(1) 商品検索処理部31
商品検索処理部31は、ユーザの商品検索操作の処理を行う。検索処理自体は既存の技術を用いる。
商品検索処理部31は、WEBサーバ5からリクエスト情報が送信されてくると、ユーザが入力した商品の検索条件を含む商品検索用のデータを作成し、データサーバ1へ送信する。その後、ワークサーバ2は、上記商品検索用のデータの返信として、データサーバ1から検索結果を受信する。
検索結果にユーザが入力した商品の検索条件に合致する商品名の商品情報が含まれている場合、商品検索処理部31は、更にその商品の類似商品・推奨商品の問い合わせをデータサーバ1に行う。具体的には、商品検索処理部31は、検索結果に含まれている商品情報の商品タグを用い、類似商品・推奨商品検索用のデータを生成し、データサーバ1へ送信する。その後、ワークサーバ2は、上記類似商品・推奨商品検索用のデータの返信とし
て、データサーバ1から類似商品・推奨商品についての検索結果を受信する。
そして、商品検索処理部31は、それぞれ該当する商品の商品情報がデータサーバ1に存在すれば、ユーザが入力した商品の検索条件に合致する商品名の商品情報と類似商品・推奨商品の商品情報とを含むリクエスト結果情報を作成し、WEBサーバ5へ返信する。
(2) 確定注文操作処理部32
確定注文操作処理部32は、ユーザの確定注文操作の処理を行う。確定注文操作処理部32は、理ウエスト振分部25によって振り分けられたリクエスト情報から更新用データを作る。確定注文操作処理部32に振り分けられるリクエスト情報には、ユーザ端末9でWEBページを操作しているユーザのユーザID、ユーザがWEBページ上で商品を確定注文した日時、ユーザが確定注文した商品の商品情報及び確定注文した注文数が含まれている。確定注文操作処理部32は、このリクエスト情報から、更新用データを生成し、データサーバ1へ送信する。
ワークサーバ2は、データサーバ1での処理が完了すると、更新後の商品情報と、更新後の注文情報を含む更新結果データを受信する。確定注文操作処理部32は、ユーザが確定注文した商品が販売終了したかどうかを判定するため、受信した更新結果データに含まれる更新後の商品情報内の残りの販売数が0か否か判定する。残りの販売数が0でなければ、確定注文操作処理部32は、更新後の商品情報を含むリクエスト結果情報をWEBサーバ5へ返信する。残りの販売数が0であれば、確定注文操作処理部32は、ユーザが確定注文した商品の販売が終了したと判定した上で、更新後の商品情報を含むリクエスト結果情報をWEBサーバ5へ返信する。
なお、残りの販売数が0であれば、当該商品の販売が終了しているため、確定注文操作処理部32は、当該商品に対するエントリー注文及び確定注文に対して販売終了処理を行う。販売終了処理は、共同購入の注文を確定する処理であり、例えば、発注処理や決済処理等が含まれる。この販売終了処理を行う対象となる注文情報の検索は、データサーバ1に依頼される。すなわち、当該商品の販売が終了した時点において、当該商品に対するエントリーは、確定注文と同等に扱われる。
確定注文操作処理部32は、販売終了処理として、当該商品の商品情報及び注文情報をデータサーバ1から検索および削除するため、データサーバ1に対して販売が終了した商品の商品情報を含む販売終了用データを送信する。販売終了用データに対する返信として、販売が終了した商品の商品情報と、販売が終了した商品の商品IDと同一の商品IDを持つ注文情報を含む処理結果がデータサーバ1からワークサーバ2へ返信される。確定注文操作処理部32は、販売が終了した当該商品の発注処理、決済処理、当該商品の販売者等への通知処理等を行う。このような発注処理、決済処理等は周知の手法で行われればよい。
(3) エントリー操作処理部33
エントリー操作処理部33は、ユーザのエントリー操作の処理を行う。
エントリー操作処理部33は、リクエスト振分部25によって振り分けられたリクエスト情報から更新用データを作る。エントリー操作処理部33に振り分けられるリクエスト情報には、ユーザ端末9でWEBページを操作しているユーザのユーザID、ユーザがWEBページ上で商品にエントリーした日時、ユーザがエントリーした商品の商品情報及びエントリーした注文数が含まれている。エントリー操作処理部33は、このリクエスト情報から、更新用データを生成し、データサーバ1へ送信する。
ワークサーバ2は、データサーバ1での処理が完了すると、更新後の商品情報と、更新後の注文情報を含む更新結果データを受信する。エントリー操作処理部33は、上記と同様に、更新結果データに含まれる更新後の商品情報内の残りの販売数が0か否か判定する。残りの販売数が0の場合、確定注文操作処理部32と同様の処理が実行される。つまり、エントリー操作処理部33は、ユーザがエントリーした商品は販売が終了したと判定した上で、当該商品の商品情報を含むリクエスト結果情報をWEBサーバ5へ返信する。また、エントリー操作処理部33は、販売が終了した商品に対して販売終了処理を行う。残りの販売数が0でなければ、エントリー操作処理部33は、更新後の商品情報内の商品タグを利用して、類似商品・推奨商品検索用のデータを生成し、データサーバ1へ送信する。この処理については、商品検索処理部31における類似商品・推奨商品の検索処理と同様である。
ワークサーバ2がデータサーバ1より類似商品・推奨商品の検索結果を受信すると、エントリー操作処理部33はリクエスト結果情報をWEBサーバ5へ返信する。リクエスト結果情報には、ユーザがエントリーした商品の更新後の商品情報及び注文情報と、類似商品・推奨商品の検索結果が含まれている。
(4) 商品乗り換え操作処理部34
商品乗り換え操作処理部34は、ユーザの商品乗り換え操作の処理を行う。商品乗り換え操作処理部34は、リクエスト振分部25によって振り分けられたリクエスト情報から更新用データを作る。商品乗り換え操作処理部34に振り分けられたリクエスト情報には、ユーザ端末9でWEBページを操作しているユーザのユーザID、ユーザがWEBページ上で商品の乗り換えをした日時、乗り換え前の商品情報と乗り換え先の商品情報、乗り換え前の商品に対するユーザの注文情報及び乗り換え先の商品の注文数が含まれている。商品乗り換え操作処理部34は、このリクエスト情報から、更新用データを生成し、データサーバ1へ送信する。
ワークサーバ2は、データサーバ1での処理が完了すると、更新後の商品情報と、更新後の注文情報を含む更新結果データを受信する。商品乗り換え操作処理部34は、更新結果データ内の乗り換え後の商品についてのリクエスト結果情報をWEBサーバ5へ返信する。この処理は、処理対象の商品情報が乗り換え先の商品の商品情報であるだけで、乗り換え先の注文の注文方法が確定注文であるならば、確定注文操作処理部32の処理と、乗り換え先の注文の注文方法がエントリーであるならば、エントリー操作処理部33と同様の処理である。
(5) 注文切り換え操作処理部35
注文切り換え操作処理部35は、ユーザの注文切り換え操作の処理を行う。注文切り換え操作処理部35は、リクエスト振分部25によって振り分けられたリクエスト情報から更新用データを作る。注文切り換え操作処理部35に振り分けられたリクエスト情報には、ユーザ端末9でWEBページを操作しているユーザのユーザID、ユーザがエントリーから確定注文に切り換えた商品の商品情報と注文情報、ユーザがエントリーから確定注文に切り換えた注文の注文数が含まれている。注文切り換え操作処理部35は、このリクエスト情報から、更新用データを生成し、データサーバ1へ送信する。
ワークサーバ2は、データサーバ1での処理が完了すると、更新後の商品情報と、更新後の注文情報を含む更新結果データを受信する。注文切り換え操作処理部35は、更新結果データ内の更新後の商品情報についてのリクエスト結果情報をWEBサーバ5へ返信する。この処理は、確定注文操作処理部32の処理と同様である。
§2−3−3 時間経過監視部27
時間経過処理部27は、データサーバ1において販売期間の過ぎた商品情報及びその商品を対象とした注文情報の収集と、販売期間の過ぎていない商品を対象とした注文情報の中でレコメンドを行う対象の注文情報の収集を行うために、時間監視データをデータサーバ1に送信する。時間経過監視部27は、一定期間毎例えば1分おきに、データサーバ1に対して、データ送信時の日時を含む時間監視データを送信する。なお、以下、§3−2において、一定期間毎は1分おきであるとするが、本発明はこの一定期間を限定するものではない。
ワークサーバ2がデータサーバ1から時間監視検索データを受信すると、時間経過監視部27は、時間監視検索データ内の販売期間を過ぎた商品の商品情報と販売期間を過ぎた商品の注文情報を当該商品の販売者等に通知する。この処理は、販売終了の処理として行われる処理で、§2−3−2(2)で説明した処理と同様である。
また、時間経過監視部27は、時間監視検索データ内のレコメンド対象の注文の注文情報及びレコメンド対象の注文の注文情報に対応づけられたレコメンド対象の注文の商品情報をレコメンド処理部28へ引き渡す。
§2−3−4 レコメンド処理部28
レコメンド処理部28は、時間経過監視部27から引き受けた時間監視検索データ内のレコメンド対象の注文の注文情報内のユーザIDを持つユーザに対してレコメンド情報を提供する。なお、レコメンド情報の提供方法は、本実施形態では、メールによってユーザ端末9に直接送信する方法を採用するが、本発明は、レコメンド情報の提供方法を限定するものではない。レコメンド情報の提供方法は、周知のWEBシステムによって提供される。そして、レコメンド情報を送信する先であるユーザ端末9のメールアドレス等は、データサーバ1内の記憶部12から取得するようにしてもよい。
レコメンド処理部28は、時間監視検索データ内のレコメンド対象の注文の商品情報の商品に対する類似商品・推奨商品をデータサーバ1に問い合わせる。類似商品・推奨商品の検索については、商品検索処理部31と同様、商品情報内の商品タグを用いて行われる。
レコメンド処理部28は、レコメンド対象の注文の商品情報の商品に対する類似商品・推奨商品が見つかった場合、レコメンド対象の注文の商品情報と類似商品・推奨商品の商品情報とを比較してレコメンド情報を生成する。例えば、割引確定価格で比較し、レコメンド対象の注文の商品情報よりも割引確定価格の安い類似商品・推奨商品の商品情報を収集して、レコメンド情報を生成する。
図13は、本実施形態における商品Aに対するメールによるレコメンド情報である。図13において、商品Aの商品情報と、商品Aの類似商品・推奨商品の商品情報とを、比較した結果、商品B及び商品Cの商品情報を含むレコメンド情報が生成されている。なお、商品情報については、図5に示す。
また、レコメンド処理部28は、参照した商品情報の商品の類似商品・推奨商品が見つからなかった場合、参照した商品情報の商品についてのレコメンド情報を生成しない。
なお、本実施形態のレコメンド処理部28は時間経過処理部27から時間監視検索データを引き渡されることによってレコメンド情報の生成を始めているが、本発明のレコメンド情報の生成開始手段を制限するものではない。例えば、ワークサーバ2内の記憶部22にユーザの注文方法がエントリーである注文情報をキューとして格納し、FIFO(First In
First Out)で処理することでレコメンド処理部28はレコメンド情報の生成を始めても
よい。
§2−4 ユーザ端末9
ユーザ端末9は、例えば、PC、携帯電話等である。ユーザ端末9は、WEBサーバ5にアクセスしデータを受け得る一般的な通信機能、提供されたデータに基づく画面を表示及び操作することができる一般的なユーザインタフェース機能等を有するものであればよい。本発明はこのユーザ端末9のハードウェア構成及び機能構成を限定するものではない。
本実施形態では、ユーザ端末9とWEBサーバ5との間のインタフェースとしてWEBシステムが利用される例を挙げているため、ユーザ端末9を利用するユーザ(消費者)は、電子商取引サービスを受けるにあたり、WEBブラウザを用いてWEBサーバ5にアクセスする。当該ユーザは、WEBサーバ5から提供される店舗情報(販売商品等)をWEBブラウザにより閲覧する。ユーザは、当該WEBブラウザ上に表示される画面をユーザ端末9に接続されるユーザインタフェースを用いて操作することにより、所望の商品を検索し、商品を選択し、その選んだ商品を確定注文又はエントリーする。既知のシステムのとおりに、選んだ商品をカートに入れ、最終的に、カート内の商品について確定注文又はエントリーする方式であっても良い。その場合、当然、購入を取り止める商品を当該カートから出す操作を行うことも可能である。ユーザ端末9上での電子商取引に関する各操作に応じた内容がユーザ端末9からWEBサーバ5へそれぞれ送られる。
§2−5 その他
上記装置構成はあくまで例示であり、その他の実施形態を妨げるものではない。
例えば、本システムの構成はWEBサーバ5、ワークサーバ2、データサーバ1の3つのサーバからなっているが、1つのサーバで実現しても良いし、2つ以上の複数のサーバで実現しても良い。
§3 動作例
§3−1 注文時
図14は、本実施形態における注文時の本システムの動作例を示すフローチャートである。ユーザが本システムのWEBページ上で「商品A」を注文した場合を例として、図14のフローチャートを説明する。注文情報の前提として、図3を用いる。また、商品情報の前提として、図5を用いる。
最初に、ユーザの操作が確定注文操作である場合の例として、商品Aを注文数1個で確定注文した場合を説明する。また、商品Aを確定注文した際に販売が終了となる場合についても、説明する。次に、ユーザの操作がエントリー操作である場合の例として、商品Aを注文数1個でエントリーした場合について説明する。そして、ユーザの操作が商品乗り換え操作である場合の例として、商品Aを注文数1個でエントリーしている状態から同じ注文数で商品Bに乗り換えた場合について説明する。ユーザは、乗り換え先の商品である商品Bを確定注文したとする。最後に、ユーザの操作が注文切り換え操作の場合の例として、商品Aを注文数1個でエントリーしている状態から確定注文に注文を切り換えた場合について説明する。
§3−1−1 確定注文操作時
本動作例において、ユーザは、ユーザ端末9に表示された商品Aの商品詳細ページ(図8)の当該商品に対してユーザが確定注文操作又はエントリー操作を行う部分(142)の注文数を記入する欄に「1」と記入し、「確定注文」ボタンをカーソルでクリック操作等行うことで、商品Aを注文数1個で確定注文操作を行う(S201)。
ユーザが上記確定注文操作を行うと、操作処理部55は、ユーザの操作が上記確定注文操作であると判定し、その判定に基づいてリクエスト制御部56はWEBページを操作しているユーザのユーザID、上記確定注文操作をした日時、商品Aの商品情報、注文数「1」を含むリクエスト情報を生成し、ワークサーバ2に送信する(S202)。
ワークサーバ2がWEBサーバ5からリクエスト情報を受信すると、リクエスト振分部25は、当該リクエスト情報を確定注文操作処理部32に振り分ける(S203)。
確定注文操作処理部32は、当該リクエスト情報から、商品Aの商品ID「1001」、ユーザID、注文数「1」、上記確定注文操作を行った日時を含む更新用データを生成し、データサーバ1へ送信する(S204)。
データサーバ1が上記更新用データをワークサーバ2から受信すると、データ管理部15は、注文情報テーブル16及び商品情報テーブル18の更新を行う(S205)。
データ管理部15は、更新用データに含まれているデータから注文情報を生成し、注文情報テーブル16に追加する。例えば、「注文ID:004、商品ID:1001、ユーザID:user004、エントリー/確定注文数:1本、エントリー/確定注文日時:201
0/02/03/ 15:16:32、レコメンド日時:2010/02/03/ 15:16:32、状態:確定」という注文情報を生成し、注文情報テーブル16に追加する。
また、データ管理部15は、商品Aの商品情報を更新する。データ管理部15は、商品Aの商品情報内の変更が必要なフィールドについて「現在の確定注文数:50、確定注文可能数:190、エントリー可能数:180、残りの販売数:180」から「現在の確定注文数:51、確定注文可能数:189、エントリー可能数:179、残りの販売数:179」へと更新する。
更新が終了すると、データ管理部15は、更新後の商品Aの商品情報と生成された注文情報を含む更新結果データをワークサーバ2に返信する。
ワークサーバ2がデータサーバ1から更新結果データを受信すると、確定注文操作処理部32は、更新後の商品Aの商品情報内の残りの販売数が0かどうか判定する(S206)。本動作例では、更新後の商品Aの商品情報内の残りの販売数は「179」であるため、確定注文操作処理部32は、商品Aは販売終了していないと判定する。
次に、確定注文操作処理部32は、更新後の商品Aの商品情報を含むリクエスト結果情報をWEBサーバ5へ返信する(S209)。
WEBサーバ5がワークサーバ2からリクエスト結果情報を受信すると、WEBページ処理部57は、図9の確定注文完了ページを生成する(S210)。そして、確定注文完了ページはユーザ端末9に送信され、ユーザ端末9上に表示される(S211)。
また、S201において、ユーザが、当該商品に対してユーザが確定注文操作又はエントリー操作を行う部分(142)の注文数を記入する欄に「180」と記入し、「確定注文」ボタンをカーソルでクリック操作等行ったとする。そうすると、S206において、確定注文操作処理部32は、更新後の商品Aの商品情報内の残りの販売数は0であると判定する。したがって、確定注文操作処理部32は、商品Aの販売が終了したと判定し、更新後の商品Aの商品情報を含むリクエスト結果情報をWEBサーバ5へ返信する。また、
確定注文操作処理部32は、§2−3−2(2)で述べたとおり、販売終了処理を行う。なお、この際、S202〜S205までの処理については、注文数が「1」から「180」に替わっただけで、上記と同様である。
WEBサーバ5が上記リクエスト結果情報を受信すると、WEBページ処理部57は、図11の販売終了ページを生成する(S207)。そして、販売終了ページはユーザ端末9に送信され、ユーザ端末9上に表示される(S208)。
§3−1−2 エントリー操作時
本動作例において、ユーザ端末9に表示された商品Aの商品詳細ページ(図8)の当該商品に対してユーザが確定注文操作又はエントリー操作を行う部分(142)の注文数を記入する欄に「1」と記入し、「エントリー」ボタンをカーソルでクリック操作等行うことで、ユーザは商品Aを注文数1個でエントリー操作を行う(S201)。
ユーザが上記エントリー操作を行うと、操作処理部55は、ユーザの操作が上記エントリー操作であると判定し、その判定に基づいてリクエスト制御部56はリクエスト情報を生成し、ワークサーバ2に送信する(S202)。以降、エントリー操作処理部33がデータサーバ1に更新用データを送信するまで、ワークサーバ2内の処理主体が異なるだけで、確定注文操作時と同様の処理である(S203〜S204)。
データサーバ1が更新用データをワークサーバ2から受信すると、データ管理部15は、注文情報テーブル16及び商品情報テーブル18の更新を行う(S205)。
本動作例では、データ管理部15は、更新用データに含まれているデータから注文情報を生成し、注文情報テーブル16に追加する。例えば、データ管理部15は、「注文ID:004、商品ID:1001、ユーザID:user004、エントリー/確定注文数:1本
、エントリー/確定注文日時:2010/02/03/ 15:16:32、レコメンド日時:2010/02/03/ 15:16:32、状態:エントリー」という注文情報を生成し、注文情報テーブル16に追加する。
また、データ管理部15は、商品Aの商品情報を更新する。本動作例では、データ管理部15は、商品Aの商品情報内の変更が必要なフィールドについて「現在のエントリー数:10、エントリー可能数:180、残りの販売数:180」から「現在のエントリー数:11、エントリー可能数:179、残りの販売数:179」へと更新する。
更新が終了すると、データ管理部15は、更新後の商品Aの商品情報と生成された注文情報を含む更新結果データをワークサーバ2に返信する。
ワークサーバ2がデータサーバ1から更新結果データを受信すると、エントリー操作処理部33は、更新後の商品Aの商品情報内の残りの販売数が0かどうか判定する(S206)。本動作例では、更新後の商品Aの商品情報内の残りの販売数は「179」であるため、エントリー操作処理部33は、商品Aは販売終了していないと判定する。
エントリー操作処理部33は、エントリーした商品Aの商品タグ「飲料、コーラ、炭酸」を用いて、類似商品・推奨商品をデータサーバ1に問い合わせる(S209、S212)。データサーバ1は商品情報テーブル18から、商品Aの商品タグと同一の商品タグを持つ商品Bと商品Cの商品情報を収集する(S213)。データサーバ1は、商品Bと商品Cの商品情報を含む検索結果をワークサーバ2に返信する。
ワークサーバ2は商品Bと商品Cの商品情報を受信すると、エントリー操作処理部33
は、WEBサーバ5にリクエスト結果情報を返信する(S214)。本動作例において、リクエスト結果情報には、更新した商品Aの商品情報と、商品Aの類似商品・推奨商品である商品B及び商品Cの商品情報と、本エントリー操作によって生成された注文情報が含まれている。
WEBサーバ5が上記リクエスト結果情報を受信すると、WEBページ処理部57は、図10のエントリー完了ページを生成する(S215)。そして、エントリー完了ページはユーザ端末9に送信され、ユーザ端末9上に表示される(S216)。
§3−1−3 商品乗り換え操作時
ユーザは、上記エントリー操作の後、ユーザ端末9に表示された商品Aのエントリー完了ページ(図10)を操作することで商品乗り換え操作を行ったとする。本動作例では、ユーザは、エントリー完了ページ内の当該商品に対してユーザが商品乗り換え操作を行う部分(152、153)の注文数を記入する欄に「1」と記入し、「確定注文」ボタンをクリック操作等行ったとする。つまり、ユーザは、商品Aから商品Bに注文数1個の確定注文で商品乗り換え操作を行ったとする(S201)。
ユーザが上記商品乗り換え操作を行うと、操作処理部55は、ユーザの操作が上記商品乗り換え操作であると判定し、その判定に基づいてリクエスト制御部56はWEBページを操作しているユーザのユーザID、上記確定注文操作をした日時、商品Aの商品情報、商品Aに対する注文情報、注文数「1」、商品Bの商品情報を含むリクエスト情報を生成し、ワークサーバ2に送信する(S202)。
ワークサーバ2がWEBサーバ5からリクエスト情報を受信すると、リクエスト振分部25は、当該リクエスト情報を商品乗り換え操作処理部34に振り分ける(S203)。
商品乗り換え操作処理部34は、当該リクエスト情報から、商品Aに対する注文ID「004」、商品Aの商品ID「1001」、商品Bの商品ID「1002」、ユーザID、商品Aに対する注文数「1」、商品Bに対する注文数「1」、上記商品乗り換え操作を行った日時を含む更新用データを生成し、データサーバ1へ送信する(S204)。
データサーバ1が更新用データをワークサーバ2から受信すると、データ管理部15は、注文情報テーブル16及び商品情報テーブル18の更新を行う(S205)。
本動作例では、データ管理部15は、注文情報テーブル16から更新用データに含まれている商品Aに対する注文ID「004」の注文情報を検索し、該当する注文情報を更新する。例えば、データ管理部15は、注文ID「004」の注文情報内の変更が必要なフィールドについて、「商品ID:1001、エントリー/確定注文日時:2010/02/03/ 15:16:32、レコメンド日時:2010/02/03/ 15:16:32、状態:エントリー」から「商品ID:1002、エントリー/確定注文日時:2010/02/04/ 12:31:41、レコメンド日時:2010/02/04/ 12:31:41、状態:確定」へと注文情報を更新し、注文情報テーブル16に上書きする。
また、データ管理部15は、商品Aの商品情報を更新する。本動作例では、データ管理部15は、商品Aの商品情報内の変更が必要なフィールドについて「現在のエントリー数:11、エントリー可能数:179、残りの販売数:179」から「現在のエントリー数:10、エントリー可能数:180、残りの販売数:180」へと更新する。そして、商品Bの商品情報内の変更が必要なフィールドについて「現在の確定注文数:100、確定注文可能数:20、エントリー可能数:5、残りの販売数:5、エントリー数を含む割引
ランク:B、割引見込み価格:90」から「現在の確定注文数:101、確定注文可能数:19、エントリー可能数:4、残りの販売数:4、エントリー数を含む割引ランク:A、割引見込み価格:80」へと更新する。
更新が終了すると、データ管理部15は、更新後の商品Bの商品情報と生成された注文情報を含む更新結果データをワークサーバ2に返信する。
S206以降の処理については、確定注文操作時と同様である。つまり、商品乗り換え操作処理部34からWEBサーバ5へリクエスト結果情報が返信され、確定注文完了ページがユーザ端末9上に表示される(S206〜S211)。
§3−1−4 注文切り換え操作時
ユーザは、上記エントリー操作の後、ユーザ端末9に表示された商品Aのエントリー完了ページ(図10)を操作することで注文切り換え操作を行ったとする。本動作例では、ユーザは、エントリー完了ページ内の当該商品に対してユーザが注文切り換え操作を行う部分(151)の「注文を確定する」ボタンをクリック操作等行ったとする(S201)。
ユーザが上記注文切り換え操作を行うと、操作処理部55は、ユーザの操作が上記注文切り換え操作であると判定する。そして、その判定に基づいてリクエスト制御部56はWEBページを操作しているユーザのユーザID、商品Aの商品情報、商品Aに対する注文情報、注文数「1」を含むリクエスト情報を生成し、ワークサーバ2に送信する(S202)。
ワークサーバ2がWEBサーバ5からリクエスト情報を受信すると、リクエスト振分部25は、当該リクエスト情報を注文切り換え操作処理部35に振り分ける(S203)。注文切り換え操作処理部35は、当該リクエスト情報から、商品Aに対する注文ID「004」、商品Aの商品ID「1001」、商品Aに対する注文数「1」を含む更新用データを生成し、データサーバ1へ送信する(S204)。
データサーバ1が更新用データをワークサーバ2から受信すると、データ管理部15は、注文情報テーブル16及び商品情報テーブル18の更新を行う(S205)。データ管理部15は、上記更新用データに含まれている商品Aに対する注文ID「004」をもつ注文情報を注文情報テーブル16から検索する。そして、データ管理部15は、注文ID「004」の注文情報内の状態フィールドに格納されている識別子を「エントリー」から「確定」に更新し、注文情報テーブル16に上書きする。
また、データ管理部15は、商品Aの商品情報を更新する。データ管理部15は、商品Aの商品情報内の変更が必要なフィールドについて「現在の確定注文数:50、現在のエントリー数:11、確定注文可能数:180」から「現在の確定注文数:51、現在のエントリー数:10、確定注文可能数:179」と更新する。
更新終了後、データ管理部15は、更新後の商品A及び商品Bの商品情報と、更新後の注文情報を含む更新結果データをワークサーバ2に返信する。
S206以降の処理については、ワークサーバ2内の処理主体が確定注文操作処理部32ではなく注文切り換え操作処理部35であることを除いて、確定注文操作時と同様である(S206〜S211)。したがって、説明は省略する。
§3−2 レコメンド時
図15は、本実施形態におけるメールによるレコメンド時の本システムの動作例を示すフローチャートである。ユーザが本システムのWEBページ上で「商品A」にエントリーした場合を例として、図15のフローチャートを説明する。
まず、ワークサーバ2のレコメンド処理部27は、一定期間経過毎にデータサーバ2に対して時間監視データを送信する(S301)。本動作例においては、一定期間は1分おきであるとし、時間監視データは2010年2月3日13時16分に送信されたものとする。
データサーバ1が時間監視データを受信すると、データ管理部15は、データ送信時の日時を用いて、販売期間を過ぎた商品の商品情報及び販売期間を過ぎた商品の注文情報の検索を行う。そして、注文情報テーブル16から販売期間を過ぎた商品の注文情報を除いた上で、データ管理部15は、レコメンド対象の注文の注文情報及びレコメンド対象の注文の商品情報の収集を行う(S302)。
本動作例では、まず、データ管理部15は、商品情報テーブル18から、販売期間が2010年2月3日13時16分より前の日時をもつ商品情報を検索する。該当する商品情報は見つからないので、次に、データ管理部15は、注文情報テーブル16から、2010年2月2日13時16分より前のレコメンド日時をもつ注文情報を検索する。図3において、データ管理部15は、レコメンド対象の注文の注文情報として「注文ID:002、商品ID:1001、・・・」の注文情報を収集する。なお、本動作例では、§2−1−5で説明したとおり、レコメンド日時がデータ送信時の日時より1日前の場合にその注文情報をレコメンド対象とするとした。
最後に、データ管理部15は、商品ID「1001」の商品情報「注文ID:002、商品ID:1001、・・・」を注文情報に対応づけて商品情報テーブル18から収集する。
その後、データ管理部15は、商品Aの商品情報、「注文ID:002、商品ID:1001、・・・」の注文情報を含む時間監視検索データを返信する。そして、データ管理部15は、「注文ID:002、商品ID:1001、・・・」の注文情報内のレコメンド日時を、「2010/02/02 13:15:46」から「2010/02/03 13:16:00」へ上書きする。
ワークサーバ2がデータサーバ1から時間の経過を監視する処理に対する応答であることを示す識別子を含む時間監視検索データを受信すると、時間経過監視部27は、時間監視検索データ内の販売期間を過ぎた商品の商品情報を参照し、販売終了の処理を行う。本動作例の場合、該当する商品情報はない。
時間経過監視部27は、時間監視検索データ内の「注文ID:002、商品ID:1001、・・・」の注文情報及び商品Aの商品情報をレコメンド処理部28へ引き渡す。
レコメンド処理部28は、「注文ID:002、商品ID:1001、・・・」の注文情報内の「ユーザID:user002」のユーザ情報をデータサーバ1に問い合わせる(S3
03)。データサーバ1は、記憶部12を検索し、メールアドレスを含むユーザ情報を検索結果としてワークサーバ2へ返信する(S304)。
次に、レコメンド処理部28は、商品Aの商品情報内の商品タグ「飲料、コーラ、炭酸」を用いて、データサーバ1に商品Aの類似商品・推奨商品を問い合わせる(S305)。このS305及びS306については、S212及びS213と同様である。データサーバ1では、S213と同様、商品B及び商品Cが商品Aの類似商品・推奨商品として検
索される(S306)。
データサーバ1から商品Aの類似商品・推奨商品の検索結果を受信すると、レコメンド処理部28は、商品Aの類似商品・推奨商品が見つかったかどうか確認する(S307)。
データサーバ1から受信した検索結果に類似商品・推奨商品が含まれていなければ、動作は終了となる(S311)。本動作例の場合、商品Aの類似商品・推奨商品として商品B及び商品Cが見つかる。商品Aの類似商品・推奨商品が見つかったので、レコメンド処理部28は、商品Aの商品情報と商品B及び商品Cの商品情報とを比較してレコメンド情報を生成する(S308)。
レコメンド処理部28は、生成したレコメンド情報とユーザ情報からメールを生成し(図13参照)、ユーザ端末9へ送信する(S309)。送信されたメールは、ユーザ端末9上に表示される(S310)。
§3−3 作用及び効果
上述したように、本実施形態における電子商取引システムでは、データサーバ1の商品情報テーブル18内に、共同購入対象となる各商品について、共同購入の注文の受付を許可する販売期間、共同購入の注文の受付を締め切る販売数等と共に、現在の確定注文数、現在のエントリー数等が格納される。このように格納される商品情報に基づいて、WEBサーバ5のWEBページ処理部57により、ユーザからの共同購入の受け付けを行うための商品詳細ページ(例えば、図8参照)が生成され、ユーザ端末9へ送られる。この商品詳細ページには、共同購入の注文方法として、確定注文かエントリー注文かの選択操作を可能とする表示部が表示される。
これにより、本実施形態によれば、ユーザは、共同購入をするにあたり確定注文かエントリー注文かを選ぶことができる。
ユーザにより共同購入の注文が行なわれると、注文数、注文方法(注文IDフィールド)等を含む注文情報がデータサーバ1の注文情報テーブル16に格納される。
ワークサーバ2では、確定注文操作処理部32、エントリー操作処理部33、商品乗り換え操作処理部34、注文切り替え操作処理部35により各共同購入商品について販売終了条件のうちの1つであるエントリー数及び確定注文数の合計が所定の販売数に到達しているか否か(残りの販売数が0となっているか否か)が判定される。この判定により、その商品について販売終了条件を未だ満たしていないと判定された場合には、WEBサーバ5のWEBページ処理部57によりエントリー注文を行ったユーザのためのエントリー完了ページ(図10参照)が生成され、そのユーザのユーザ端末9へ送られる。このエントリー完了ページには、注文切り換え操作を行うための表示部、商品乗り換え操作を行うための表示部が含まれる。
これにより、エントリー注文を行なっているユーザは、他の商品への乗り換え、共同購入注文をエントリー注文から確定注文への変更を行うことができる。
更に、ワークサーバ2では、時間経過監視部27により各共同購入商品について販売終了条件のうちのもう1つである販売期間が経過しているか否かが判定される。この判定により販売終了条件を未だ満たしてない商品に対してその商品に関連する商品、即ち、類似商品や推奨商品に関するデータが検索され、抽出されたデータがレコメンド処理部28によりその商品についてエントリー注文を行なっているユーザに対して送信される。
これにより、エントリー注文を行なっているユーザは、対象商品についての関連商品の情報が提供されるため、その情報を他の商品への乗り換えのために参考にすることができる。
また、上記各販売終了条件が満たされた、即ち、その商品について販売終了したと判定されると、その商品に対するエントリー注文及び確定注文を対象に発注処理及び決済処理等を含む販売終了処理が実行される。つまり、商品の販売が終了した時点において、当該商品に対するエントリーは確定注文と同等に扱われる。
このように本実施形態によれば、共同購入を望むユーザは、エントリー注文を選択すれば、販売終了条件となるまで他の商品へ乗り替えることができるため、従来のように一度注文してしまうと変更できない形態に比較して共同購入に参加し易くなる。また、エントリー注文を選択したユーザには、関連商品情報がリコメンドされ、他の商品への乗り換えが促されるため、ユーザにとって利便性が向上する。結果、本実施形態によれば、消費者の共同購入への参加意欲を高めることができる。
§4 変形例
以上の実施形態(以下、「実施形態1」と表記)では、販売数による販売終了条件を「確定注文数+エントリー数=販売数」とし、販売終了時には、エントリーも確定注文も同等であるとして処理する例について説明した。しかし、販売終了条件及び販売終了時の処理はこのような形態のみに限定されない。以下、他の形態として、販売数による販売終了条件を「確定注文数=販売数」とする場合について説明する。
販売数による販売終了条件が「確定注文数=販売数」であるならば、確定注文数とエントリー数の合計が販売数を超える場合がある。時間による販売終了時点において、確定注文数とエントリー数の合計が販売数を超えている場合、販売数を超えた分について当該商品の販売者等は当該商品を用意し、発注処理や決済処理等を行うようにしてもよい。また、販売数を超えている分について当該商品の販売者等は、販売数を超えている分の確定していない注文についてキャンセルするようにしてもよい。以下、後者の形態、すなわち、キャンセルする形態を変形例として実施形態1とは異なる内容を中心に説明する。
なお、注文のキャンセルとは、注文が無効とされること、言い換えれば当該商品についての契約が解除されることを意味し、当該商品の販売者等は注文のキャンセル処理を行う。キャンセル処理では、例えば、当該商品を注文しているユーザにそのキャンセルの旨が通知される。
本変形例では、エントリーによる注文を対象に注文のキャンセルが行われる。そのため、エントリーによる注文方法を採用したユーザにとって、その注文を変更できるメリットがあると共に、その注文がキャンセルされるデメリットもある。注文をキャンセルされたくないユーザは、注文がキャンセルされる前に、エントリーによる注文から確定注文による注文に切り替える必要がある。そこで、本変形例では、販売期間を過ぎていない商品の確定注文数とエントリー数の合計が販売数を超えた時点で、当該商品についてエントリーによる注文をしているユーザに対して、通知を行う。
更に、本変形例では、販売期間を過ぎていない商品の確定注文数とエントリー数の合計が販売数を超えた場合であっても、確定注文数が販売数に到達しない限り、当該商品の販売が終了しない。そのため、本来ならば注文確定とできる状態であるにもかかわらず、確定注文しているユーザにとっては、その商品を早く受け取れないというデメリットもある。そこで、本変形例では、商品の確定注文数とエントリー数の合計が販売数を超えた時点
で、販売終了まで所定期間以上ある場合、販売期間を短縮する。例えば、その所定期間は1日と設定される。また、販売期間の短縮は残り1日とすることである。以下、所定期間は1日、販売期間の短縮は残り1日とすることとして説明するが、本発明はこれらを限定するものではない。
なお、以下に挙げる変形例は例示であり、本発明は以下の変形例の構成に限定されない。
§4−1 データサーバ1
§4−1−1 注文情報テーブル16
本変形例では、時間による販売終了時点において、確定注文数とエントリー数の合計が販売数を超えている場合、販売数を超えた分の注文についてエントリーによる注文がキャンセルされる。本変形例では、どのエントリーによる注文をキャンセルするかを決定するため、各エントリーによる注文に優先度が設けられる。
この優先度は、時間による販売終了時点において、確定注文数とエントリー数の合計が販売数を超えている場合、「販売数−確定注文数」分を各エントリーによる注文にどのように振り分けるか定めるために用いられる。本変形例では、「販売数−確定注文数」分を各エントリーによる注文に振り分ける方法として、エントリーによる注文が早い者順に振り分ける方法を例に挙げる。なお、この「販売数−確定注文数」分を各エントリーによる注文に振り分ける方法は、各エントリーによる注文の注文数に比例して「販売数−確定注文数」分を相対的に振り分ける方法や、各エントリーによる注文の注文数の多い注文順に順次振り分ける方法等が採用されてもよい。
エントリーによる注文が早い者順に「販売数−確定注文数」分を振り分けるため、具体的には、注文情報テーブル16に格納される注文情報に新たに注文順番フィールドを設ける。注文順番フィールドには、各エントリーによる注文の注文順番が格納される。
ユーザが確定注文操作を行った場合、本変形例では確定注文の注文順番は意味を持たないので、データ管理部15は、適当に注文順番を定め、注文情報を生成する。また、ユーザがエントリー操作を行った場合、データ管理部15は、更新用データ内のユーザが注文した商品IDと同一の商品IDをもち、状態フィールドに「エントリー」が格納されている注文情報を注文情報テーブル16から収集する。データ管理部15は、収集した注文情報から、本操作による注文の注文順番を計算し、注文情報を生成する。具体的には、該当する注文情報がなければ「1」を、該当する注文情報があれば、その注文情報内の注文順番の最大値に「1」を加算した値を注文順番として、データ管理部15は注文情報を生成する。
§4−1−2 商品情報テーブル18
本変形例では、販売数による販売終了条件が「確定注文数=販売数」であるため、実施形態1とは、エントリー可能数フィールド、残りの販売数フィールドが異なる。エントリー可能数フィールドは、ユーザが商品にエントリーすることができる商品数量の最大値が格納されるため、エントリー数に制限のない本変形例においては、不要である。残りの販売数フィールドには、販売数による販売終了条件が「確定注文数=販売数」であるため、「販売数−確定注文数−エントリー数」ではなく、「販売数−確定注文数」が格納される。
また、本変形例では、販売期間を過ぎていない商品の確定注文数とエントリー数の合計が販売数を超えた時点で、販売終了までの期間が1日以上ある場合、販売期間を残り1日に短縮する。この場合、データサーバ1は、ワークサーバ2から販売期間を変更するため
のデータ(以降、「販売期間変更データ」と表記)を受信する。販売期間変更データには、商品ID、販売期間が含まれている。データ管理部15は、販売期間変更データに含まれる商品IDと同一の商品IDをもつ商品情報を商品情報テーブル18から検索し、該当する商品情報内の販売期間を販売期間変更データに含まれる販売期間に上書きする。
§4−1−3 ワークサーバ2への返信について
実施形態1では、データ管理部15は、ユーザの操作に応じて各データベースを更新した際、ワークサーバ2に更新した商品情報と、更新した注文情報を含む更新結果データを返信する。本変形例では、データ管理部15は、更に、注文情報を更新する際に収集した、更新した注文情報と同一の商品IDを持つ注文情報を含む更新結果データを返信する。
また、実施形態1では、データ管理部15は、ワークサーバ2から時間監視データを受信した際、レコメンド対象の注文の注文情報を含む時間監視検索データをワークサーバ2に返信する。本変形例では、更に、レコメンド対象の注文の注文情報と同一の商品IDを持つ注文情報を含む時間監視検索データをワークサーバ2に返信する。
§4−2 WEBサーバ5
実施形態1では、WEBページ処理部57は、ワークサーバ2から返信されるリクエスト結果情報に基づいてユーザ端末9に表示するためのWEBページを生成する。本変形例では、ユーザがエントリーによる注文をすると、その商品の注文順番が決定される。したがって、本変形例では、この際に生成されるエントリー完了ページにおいて、この注文順番に関する情報を更に表示する。
ユーザがWEBページ上でエントリーした場合又は商品乗り換え操作において乗り換え先の商品の注文方法としてエントリーを選択した場合、実施形態1とは異なり、ワークサーバ2からWEBサーバ5へ注文順番に関する情報を含むリクエスト結果情報が返信される。注文順番に関する情報とは、キャンセルまでの注文数又はキャンセルされることの情報を含む情報である。
キャンセルまでの注文数とは、ユーザが行ったエントリーによる注文について一部キャンセルが生じるまでの確定注文による注文数を示す。例えば、あるユーザが商品Aに注文数「10」でエントリーしたとする(図5参照)。当該ユーザが商品Aについての注文順番は2番目で、エントリー数は「20」となる。この状態で、誰かが商品Aに「171」以上の注文数で確定注文したとすると、確定注文数とエントリー注文数の合計は「241」以上となり、販売数「240」を超える。この場合、当該ユーザの商品Aについての注文からキャンセルが行われる。つまり、この場合におけるキャンセルまでの注文数とは、「171」である。
本変形例では、WEBページ処理部57は、キャンセルまでの注文数又はキャンセルされること等を記載したエントリー完了ページを生成する。エントリーによる注文がキャンセルされるか否かはワークサーバ2において判定される。
なお、実施形態1において、ユーザが商品にエントリーする際、当該商品の残りの販売数を超える注文数で注文を行った場合、リクエスト制御部56はリクエスト情報を生成せず、エラーをWEBページ処理部57に送ることを説明した。本変形例の場合、エントリーについては制限を設けていないため、ユーザが商品をエントリーする際、当該商品の残りの販売数を超える注文数でエントリーしたとしても、リクエスト制御部56はエラーをWEBページ処理部57に送らず、リクエスト情報を生成してワークサーバ2へ送信する。
§4−3 ワークサーバ2
§4−3−1 確定注文操作処理部32
本変形例では、実施形態1とは異なり、販売期間を過ぎていない商品の確定注文数とエントリー数の合計が販売数を超えた時点で、当該商品についてエントリーによる注文をしているユーザに対して通知が行われる。以下、この点における、確定注文操作処理部32の変更点を説明する。なお、販売終了時の処理については、後述する。
確定注文操作処理部32は、データサーバ1からの更新結果データを受信後、更新後の商品情報の確定注文数とエントリー数の合計が販売数を超えたか否かの判定を行う。判定は、「確定注文数+エントリー数≧販売数」を計算することで行われる。「確定注文数+エントリー数≧販売数」でなければ、その後の処理は実施形態1と同様である。確定注文操作処理部32は、リクエスト結果情報をWEBサーバ5へ返信する。
他方、「確定注文数+エントリー数≧販売数」であれば、確定注文操作処理部32は、更新結果データに含まれる各注文情報に対してキャンセルまでの注文数を計算する。更新結果データには、ユーザが注文した商品に対するエントリーによる注文の注文情報がすべて含まれている。確定注文操作処理部32は、各注文情報を注文順番の早い順に並び替える。そして、1番目の注文情報から順にキャンセルまでの注文数を計算していく。
1番目の注文情報のキャンセルまでの注文数は「販売数−確定注文数−注文数+1」と計算され、それ以降、N番目の注文情報のキャンセルまでの注文数は「(N−1番目のキャンセルまでの注文数)−注文数」で計算される。キャンセルまでの注文数が初めて1以下となった時点で計算を終了し、その時点の注文情報の注文順番を超える注文情報にはキャンセルされることの情報を対応づける。
なお、キャンセルまでの注文数が初めて1以下となった時点における注文情報についての注文は、一部キャンセルが生じる可能性がある。具体的には、キャンセルまでの注文数が負の値になっている可能性を考慮して、「1−キャンセルまでの注文数」分について一部キャンセルが生じる。この「1−キャンセルまでの注文数」も注文順番に関する情報に含まれる。
その後、確定注文操作処理部32は、それぞれの注文情報にキャンセルまでの注文数やキャンセルされることの情報を対応づけた上で、商品情報とともにレコメンド処理部28に引き渡す。各ユーザへの通知はレコメンド処理部28が行う。その他の処理は実施形態1と同様である。つまり、確定注文操作処理部32は、リクエスト結果情報をWEBサーバ5へ返信する。
また、本変形例では、実施形態1とは異なり、商品の確定注文数とエントリー数の合計が販売数を超えた時点で、販売終了までの期間が1日以上ある場合、販売期間を残り1日に短縮する。以下、この点における、確定注文操作処理部32の変更点を説明する。
上記のとおり、確定注文操作処理部32は、販売期間を過ぎていない商品の確定注文数とエントリー数の合計が予定販売数を超えたか否かを「確定注文数+エントリー数≧販売数」によって判定する。「確定注文数+エントリー数≧販売数」でなければ、販売期間は変更しないので、その後の処理は実施形態1と同様である。つまり、確定注文操作処理部32は、リクエスト結果情報をWEBサーバ5へ返信する。
「確定注文数+エントリー数≧販売数」であれば、確定注文操作処理部32は、更新後の商品情報内の販売期間フィールドに格納されている日時とWEBサーバ5から受信したリクエスト情報に含まれているユーザがWEBページ上で商品を確定注文した日時を比較
する。更新後の商品情報内の販売期間フィールドに格納されている日時がリクエスト情報に含まれているユーザがWEBページ上で商品を確定注文した日時よりも1日以上大きい場合、確定注文操作処理部32は、販売期間変更データを生成する。確定注文操作処理部32は、リクエスト情報に含まれているユーザがWEBページ上で商品を確定注文した日時に1日加算した日時を含む販売期間変更データを生成し、その販売期間変更データをデータサーバ1へ送信する。その後の処理が実施形態1と同様であることは上記のとおりである。確定注文操作処理部32は、リクエスト結果情報をWEBサーバ5へ返信する。
更新後の商品情報内の販売期間とリクエスト情報に含まれているユーザがWEBページ上で商品を確定注文した日時との間が1日以上開いていなければ、販売期間変更データに関する上記の処理は行われない。その後の処理が実施形態1と同様であることは上記のとおりである。確定注文操作処理部32は、リクエスト結果情報をWEBサーバ5へ返信する。
なお、販売終了処理については、実施形態1と同様に、確定注文操作処理部32は販売終了用データをデータサーバ1へ送信する。そして、ワークサーバ2はその返信をデータサーバ1から受信する。データサーバ1からの返信には、販売が終了した商品の商品情報と、その商品に対する注文情報が含まれている。実施形態1とは異なり、本変形例では、確定注文とエントリーは同等の注文とは取り扱われない。そのため、確定注文操作処理部32は、確定注文の注文情報とエントリーの注文情報を区別して取り扱う。
本変形例では、ユーザの注文によって販売が終了する場合、残りの販売数は「販売数−確定注文数」であることから、エントリーによる注文はすべてキャンセルされる。したがって、確定注文操作処理部32は、販売が終了した当該商品の確定注文による注文について、発注処理、決済処理、当該商品の販売者への通知処理等を行う。そして、確定注文操作処理部32は、販売が終了した当該商品のエントリーによる注文について、キャンセル処理、当該商品の販売者への通知処理、当該注文のユーザへの通知処理等を行う。このような発注処理、決済処理、キャンセル処理等は周知の手法で行われればよい。
§4−3−2 エントリー操作処理部33
販売期間を過ぎていない商品の確定注文数とエントリー数の合計が販売数を超えた時点で、当該商品についてエントリーによる注文をしているユーザに対して通知が行われる点、及び、その時点で販売終了までの期間が1日以上ある場合、販売期間を残り1日に短縮する点についての変更点は、確定注文操作処理部32と同様である。なお、残りの販売数は「販売数−確定注文数」であることから、エントリーによる注文によって販売が終了することはない。この点も、実施形態1とは異なる。
本変形例では、ユーザがWEBページ上でエントリーによる注文を行った場合にユーザ端末9に表示されるエントリー完了ページにキャンセルまでの注文数等が含まれる点で実施形態1とは異なる。以下、この点における、エントリー操作処理部33の変更点を説明する。
エントリー操作処理部33は、データサーバ1から更新結果データを受信後、このエントリーによる注文がキャンセルされるかどうかについての判定を行う。エントリー操作処理部33は、更新後の商品情報及び注文情報内のそれぞれの値から「販売数−確定注文数−エントリー数≧0」の判定を行う。
「販売数−確定注文数−エントリー数≧0」ならば、エントリー操作処理部33は、「販売数−確定注文数−エントリー数+1」をキャンセルまでの注文数として、このキャンセルまでの注文数を含むリクエスト結果情報をWEBサーバ5へ返信する。「販売数−確
定注文数−エントリー数≧0」でなければ、エントリー操作処理部33は、このエントリーによる注文がキャンセルされると判定し、注文がキャンセルされることの情報を含むリクエスト結果情報をWEBサーバ5へ返信する。
§4−3−3 商品乗り換え操作処理部34
本変形例では、実施形態1と3つの点で異なる。1つ目は、販売期間を過ぎていない商品の確定注文数とエントリー数の合計が販売数を超えた時点で、当該商品についてエントリーによる注文をしているユーザに対して通知が行われる点である。2つ目は、販売期間を過ぎていない商品の確定注文数とエントリー数の合計が販売数を超えた時点で販売終了までの期間が1日以上ある場合、販売期間を残り1日に短縮する点である。3つ目は、ユーザがWEBページ上でエントリーによる注文を行った場合にユーザ端末9に表示されるエントリー完了ページにキャンセルまでの注文数等が含まれる点である。
乗り換え先の商品についてユーザが確定注文を選択して注文した場合、上記1つ目と2つ目の点で実施形態1とは異なる。この処理に関しては、処理の対象が乗り換え先の商品について行われるだけで、確定注文操作処理部32と同様の処理である。乗り換え先の商品についてユーザがエントリーを選択して注文した場合、上記1つ目〜3つ目の点で実施形態1とは異なる。この処理に関しては、処理の対象が乗り換え先の商品について行われるだけで、エントリー操作処理部33と同様の処理である。
§4−3−4 注文切り換え操作処理部35
本変形例において、注文をエントリーから確定注文に切り換えたとしても確定注文数とエントリー数の合計は変化しないため、この処理自体では、販売期間を過ぎていない商品の確定注文数とエントリー数の合計が販売数を超えることはない。既に、販売期間を過ぎていない商品の確定注文数とエントリー数の合計が予定販売数を超えていた場合にのみ、確定注文操作処理部32と同様、注文切り換え操作処理部35は、当該商品の商品情報と注文情報をレコメンド処理部28に引き渡す。既に、販売期間を過ぎていない商品の確定注文数とエントリー数の合計が予定販売数を超えているため、販売期間は変更されており、本変形例においては、この処理によって販売期間を変更することはない。
なお、注文の切り替えによって対象の商品が販売終了となった場合についての処理も、注文切り換え操作処理部35は、確定注文操作処理部32と同様の処理を行う。
§4−3−5 時間経過監視部27
本変形例において、実施形態1とは異なり、販売終了時点において、確定注文数とエントリー数の合計が販売数を超えている場合、販売数を超えた分についてエントリーによる注文がキャンセルされる。以下、この点における、時間経過監視部27の変更点を説明する。
時間監視検索データには、販売期間の過ぎた商品の商品情報と販売期間を過ぎた商品の注文情報が含まれている。時間経過監視部27は、販売期間の過ぎた商品の商品情報内のそれぞれの値から「確定注文数+エントリー数>販売数」となっているかどうかを判定する。
「確定注文数+エントリー数>販売数」であれば、時間経過監視部27は、販売期間の過ぎた商品の注文情報を確定注文の注文情報とエントリーの注文情報に振り分ける。そして、時間経過監視部27は、エントリーの注文情報について、確定注文操作処理部32と同様に、キャンセルまでの注文数又はキャンセルされることを求める。その後、時間経過監視部27は、キャンセルされない又は一部キャンセルされるエントリーによる注文と、確定注文による注文について、発注処理等行う。また、時間経過監視部27は、キャンセ
ルされるエントリーによる注文について、キャンセル処理等行う。他方、「確定注文数+エントリー数>販売数」でなければ、実施形態1と同様に、全ての注文について、発注処理等を行う。これらの処理は周知の手法で行われればよい。
§4−3−6 レコメンド処理部28
本変形例では、レコメンド処理部28は、実施形態1とは異なり、レコメンド対象の注文の注文情報と同一の商品IDを持つ注文情報を更に含む時間監視検索データを引き受ける。レコメンド処理部28は、レコメンド対象の注文の注文情報のキャンセルまでの注文数を計算する。各注文情報のキャンセルまでの注文数の計算については、§4−3−1で述べたとおりである。そして、レコメンド処理部28は、計算したキャンセルまでの注文数を含んだレコメンド情報を生成する。
また、本変形例では、販売期間を過ぎていない商品の確定注文数とエントリー数の合計が販売数を超えた時点で、当該商品についてエントリーによる注文をしているユーザに対して通知が行われる。このために、実施形態1と異なり、レコメンド処理部28は、確定注文操作処理部32等から当該商品の商品情報と、当該商品についてのエントリーによる注文の注文情報引き渡される場合がある。
レコメンド処理部28は、当該商品についてのエントリーによる注文の注文情報について、キャンセルまでの注文数を計算する。この処理は、§4−3−1に記述のとおりである。そして、レコメンド処理部28は、キャンセルまでの注文数やキャンセルされることの情報を含むレコメンド情報を生成し、各ユーザのユーザ端末9へ送信する。
§4−4 変形例の動作例
以下、本変形例の動作例について、実施形態1と異なる点を中心に図16及び図17を用いて説明する。図16は、本変形例における注文時の本システムの動作例を示すフローチャートである。図17は、本変形例における注文時に確定注文数とエントリー数の合計が販売数に到達した場合についての本システムの動作例の変更点を特に示すフローチャートである。なお、注文情報の前提として、図3を用いる。また、商品情報の前提として、図5を用いる。ただし、本変形例において、§4−1で説明したとおり、注文情報には優先度フィールドが新たに設けられており、商品情報からエントリー可能数フィールドが削除されている。また、商品情報内の残りの販売数が替わっている。例えば、商品Aの残りの販売数フィールドは「180」から「190」に、商品Bの残りの販売数フィールドは「5」から「20」に替わっている。
§4−4−1 注文時
ユーザが本システムのWEBページ上で「商品A」を注文した場合を例として、図16のフローチャートを説明する。
最初に、ユーザの操作が確定注文操作である場合の例として、商品Aを注文数1個で確定注文した場合を説明する。また、商品Aを確定注文した際に販売が終了となる場合についても、説明する。次に、ユーザの操作がエントリー操作である場合の例として、商品Aを注文数1個でエントリーした場合について説明する。そして、ユーザの操作が商品乗り換え操作である場合の例として、商品Aを注文数1個でエントリーしている状態から同じ注文数で商品Bに乗り換えた場合について説明する。ユーザは、乗り換え先の商品である商品Bを確定注文したとする。最後に、ユーザの操作が注文切り換え操作の場合の例として、商品Aを注文数1個でエントリーしている状態から確定注文に注文を切り換えた場合について説明する。
(1) 確定注文操作時
本動作例において、§3−1−1と同様に、ユーザが注文し(S201、S401)、WEBサーバ5がワークサーバ2へリクエスト情報を送信し(S202、S402)、リクエスト振分部25がリクエスト情報を振り分け(S203、S403)、確定注文操作処理部32がデータサーバ1へ更新用データを送信する(S204、S404)処理が行われる。
データサーバ1が上記更新用データをワークサーバ2から受信すると、データ管理部15は、注文情報テーブル16及び商品情報テーブル18の更新を行う(S405)。
本動作例では、データ管理部15は、上記更新用データに含まれている商品ID「1001」を有し、状態が「エントリー」である注文情報を注文情報テーブル16から収集する。注文ID「002」の注文情報が収集される。
次に、データ管理部15は、本確定注文に対する注文情報を生成し、注文情報テーブル16に追加する。例えば、「注文ID:004、商品ID:1001、ユーザID:user004、エントリー/確定注文数:1本、エントリー/確定注文日時:2010/02/0
3/ 15:16:32、レコメンド日時:2010/02/03/ 15:16:32、状態:確定、注文順番:1」という注文情報を生成し、注文情報テーブル16に追加する。なお、注文順番については、この注文は確定注文であるため、どのような値を格納してもよい。
また、データ管理部15は、商品Aの商品情報を更新する。本動作例では、データ管理部15は、商品Aの商品情報内の変更が必要なフィールドについて「現在の確定注文数:50、確定注文可能数:190、残りの販売数:190」から「現在の確定注文数:51、確定注文可能数:189、残りの販売数:189」へと更新する。
更新が終了すると、データ管理部15は、更新後の商品Aの商品情報と生成された注文情報と注文ID「002」の注文情報を含む更新結果データをワークサーバ2に返信する。
ワークサーバ2がデータサーバ1から上記更新結果データを受信すると、確定注文操作処理部32は、更新後の商品Aの商品情報内の残りの販売数が0かどうか判定する(S406)。本動作例では、更新後の商品Aの商品情報内の残りの販売数は「189」であるため、確定注文操作処理部32は、商品Aは販売終了していないと判定する。
次に、確定注文操作処理部32は、商品Aの確定注文数とエントリー数の合計が販売数に到達したか否かを判定する(S409)。本動作例では、商品Aの確定注文数「51」とエントリー数「10」の合計「61」は販売数「240」を超えていない。
以降、§3−1−1と同様に、確定注文操作処理部32がリクエスト結果情報をWEBサーバ5へ返信し(S209、S410)、WEBページ処理部57が確定注文完了ページをユーザ端末9へ送信し(S210、S411)、ユーザ端末9が確定注文完了ページを表示する(S211、S412)処理が行われる。
また、S401において、ユーザが、当該商品に対してユーザが確定注文操作又はエントリー操作を行う部分(142)の注文数を記入する欄に「190」と記入し、「確定注文」ボタンをカーソルでクリック操作等行ったとする。そうすると、S406において、確定注文操作処理部32は、更新後の商品Aの商品情報内の残りの販売数は0であると判定する。そして、確定注文操作処理部32は、更新後の商品Aの商品情報を含むリクエスト結果情報をWEBサーバ5へ返信する。また、確定注文操作処理部32は、§4−3−
1で述べたとおり、販売終了処理を行うため、データサーバ1に対して販売終了用データを送信する。本動作例の場合、注文ID「002」の注文はキャンセルされる。なお、この際、S402〜S405までの処理については、注文数が「1」から「190」に替わっただけで、上記と同様である。
WEBサーバ5が当該商品の販売が終了したことを示す識別子を含む上記リクエスト結果情報を受信すると、WEBページ処理部57は、図11の販売終了ページを生成する(S407)。そして、販売終了ページはユーザ端末9に送信され、ユーザ端末9上に表示される(S408)。
(2) エントリー操作時
本動作例において、§3−1−2と同様に、ユーザが注文し(S201、S401)、WEBサーバ5がワークサーバ2へリクエスト情報を送信し(S202、S402)、リクエスト振分部25がリクエスト情報を振り分け(S203、S403)、エントリー操作処理部33がデータサーバ1へ更新用データを送信する(S204、S404)処理が行われる。
データサーバ1が上記更新用データをワークサーバ2から受信すると、データ管理部15は、注文情報テーブル16及び商品情報テーブル18の更新を行う(S405)。
本動作例では、データ管理部15は、上記更新用データに含まれているデータから商品ID「1001」を有し、状態が「エントリー」である注文情報を注文情報テーブル16から収集する。注文ID「002」の注文情報が収集される。なお、注文ID「002」の注文情報内の優先度フィールドには「1」が格納されているとする。
次に、データ管理部15は、本エントリー注文に対する注文情報を生成し、注文情報テーブル16に追加する。例えば、「注文ID:004、商品ID:1001、ユーザID:user004、エントリー/確定注文数:1本、エントリー/確定注文日時:2010/0
2/03/ 15:16:32、レコメンド日時:2010/02/03/ 15:16:32、状態:エントリー、注文順番:2」という注文情報を生成し、注文情報テーブル16に追加する。
また、データ管理部15は、商品Aの商品情報を更新する。本動作例では、データ管理部15は、商品Aの商品情報内の現在のエントリー数を「10」から「11」へと更新する。
更新が終了すると、データ管理部15は、更新後の商品Aの商品情報と生成された注文情報と注文ID「002」の注文情報を含む更新結果データをワークサーバ2に返信する。
ワークサーバ2がデータサーバ1から上記更新結果データを受信すると、エントリー操作処理部33は、更新後の商品Aの商品情報内の残りの販売数が0かどうか判定する(S406)。本動作例では、更新後の商品Aの商品情報内の残りの販売数は「190」であるため、エントリー操作処理部33は、商品Aは販売終了していないと判定する。
次に、エントリー操作処理部33は、商品Aの確定注文数とエントリー数の合計が販売数に到達したか否かを判定する(S409)。本動作例では、商品Aの確定注文数「50」とエントリー数「11」の合計「61」は販売数「240」を超えていない。
また、エントリー操作処理部33は、本注文がキャンセルされるかどうかについての判
定を行う。本動作例では、販売数「240」、確定注文数「50」、エントリー数「11」であるから、「240−50−11=179≧0」より、本注文はキャンセルされない(S413)。この場合、エントリー操作処理部33は、キャンセルまでの注文数を計算する。キャンセルまでの注文数は「240−50−11+1=180」である。
以降、S3−1−2と同様に、エントリー操作処理部33は商品Aの類似商品・推奨商品をデータサーバ1に問い合わせ(§212、S414)、データサーバ1は商品B及び商品Cの商品情報を返信し(S213、S415)、エントリー操作処理部33は商品A、商品B及び商品Cの商品情報をWEBサーバ5へ返信し(S214、S416)、WEBページ処理部57がエントリー完了ページをユーザ端末9へ送信し(S215、S417)、ユーザ端末9がエントリー完了ページを表示する(S216、S418)処理が行われる。S3−1−2の処理と異なる点は、エントリー操作処理部33がWEBサーバ5へ返信するリクエスト結果情報及びエントリー完了ページにキャンセルまでの注文数等が含まれる点のみである。
(3) 商品乗り換え操作時
ユーザは、上記エントリー操作の後、ユーザ端末9に表示された商品Aのエントリー完了ページ(図10)を操作することで商品乗り換え操作を行ったとする。本本動作例において、§3−1−3と同様に、ユーザが注文し(S201、S401)、WEBサーバ5がワークサーバ2へリクエスト情報を送信し(S202、S402)、リクエスト振分部25がリクエスト情報を振り分け(S203、S403)、商品乗り換え操作処理部34がデータサーバ1へ更新用データを送信する(S204、S404)処理が行われる。
データサーバ1が上記更新用データをワークサーバ2から受信すると、データ管理部15は、注文情報テーブル16及び商品情報テーブル18の更新を行う(S405)。
本動作例では、データ管理部15は、上記更新用データに含まれているデータから乗り換え先の商品の商品ID「1002」を有し、状態が「エントリー」である注文情報を注文情報テーブル16から収集する。図3において、該当する注文情報は存在しない。
次に、上記更新用データに含まれている商品Aに対する注文ID「004」を有する注文情報を注文情報テーブル16から検索し、該当する注文情報を更新する。例えば、データ管理部15は、注文ID「004」の注文情報内の変更が必要なフィールドについて、「商品ID:1001、エントリー/確定注文日時:2010/02/03/ 15:16:32、レコメンド日時:2010/02/03/ 15:16:32、状態:エントリー、注文順番:2」から「商品ID:1002、エントリー/確定注文日時:2010/02/04/ 12:31:41、レコメンド日時:2010/02/04/ 12:31:41、状態:確定、注文順番:2」へと注文情報を更新し、注文情報テーブル16に上書きする。なお、注文順番については、この注文は確定注文であるため、どのような値を格納してもよい。
また、データ管理部15は、商品Aの商品情報を更新する。本動作例では、データ管理部15は、商品Aの商品情報内の現在のエントリー数のフィールドに格納される値を「11」から「10」へと更新する。そして、商品Bの商品情報内の変更が必要なフィールドについて「現在の確定注文数:100、確定注文可能数:20、残りの販売数:20、エントリー数を含む割引ランク:B、割引見込み価格:90」から「現在の確定注文数:101、確定注文可能数:19、残りの販売数:19、エントリー数を含む割引ランク:A、割引見込み価格:80」へと更新する。
更新が終了すると、データ管理部15は、更新後の商品Bの商品情報と生成された注文
情報を含む更新結果データをワークサーバ2に返信する。
S406以降の処理については、処理主体が、確定注文操作処理部32から商品乗り換え操作処理部34に替わるだけで、§4−4−1(1)確定注文時と同様である。つまり、商品乗り換え操作処理部34からWEBサーバ5へリクエスト結果情報が返信され、確定注文完了ページがユーザ端末9上に表示される(S406〜S412)。
(4) 注文切り換え操作時
ユーザは、上記エントリー操作の後、ユーザ端末9に表示された商品Aのエントリー完了ページ(図10)を操作することで注文切り換え操作を行ったとする。本動作例において、§3−1−4と同様に、ユーザが注文し(S201、S401)、WEBサーバ5がワークサーバ2へリクエスト情報を送信し(S202、S402)、リクエスト振分部25がリクエスト情報を振り分け(S203、S403)、注文切り換え操作処理部35がデータサーバ1へ更新用データを送信する(S204、S404)処理が行われる。
データサーバ1が上記更新用データをワークサーバ2から受信すると、データ管理部15は、注文情報テーブル16及び商品情報テーブル18の更新を行う(S405)。
本動作例では、データ管理部15は、上記更新用データに含まれている商品Aに対する注文ID「004」を有する注文情報を注文情報テーブル16から検索し、該当する注文情報を更新する。データ管理部15は、注文ID「004」の注文情報内の状態フィールドに格納されている識別子を「エントリー」から「確定」に更新し、注文情報テーブル16に上書きする。
また、データ管理部15は、商品Aの商品情報を更新する。本動作例では、データ管理部15は、商品Aの商品情報内の変更が必要なフィールドについて「現在の確定注文数:50、現在のエントリー数:11、確定注文可能数:190」から「現在の確定注文数:51、現在のエントリー数:10、確定注文可能数:189」と更新する。
更新終了後、データ管理部15は、更新後の商品Aの商品情報と、更新後の注文情報を含む処理結果をワークサーバ2に返信する。
S406以降の処理については、処理主体が、確定注文操作処理部32から注文切り換え操作処理部35に替わるだけで、確定注文時と同様である。つまり、注文切り換え操作処理部35からWEBサーバ5へリクエスト結果情報が返信され、確定注文完了ページがユーザ端末9上に表示される(S406〜S412)。
§4−4−2 ユーザによる注文時に確定注文数とエントリー数の合計が予定販売数に到達した場合
最後に、本変形例における注文時に確定注文数とエントリー数の合計が予定販売数に到達した場合についての本システムの動作例の変更点を説明する。ユーザの操作が確定注文操作であり、商品Aを注文数185個で確定注文した場合を例として、図17のフローチャートを説明する。
ユーザが注文し、データサーバ1の各テーブルの更新が行われ、確定注文操作処理部32が、商品Aの確定注文数とエントリー数の合計が予定販売数に到達したか否かを判定するまでの処理については、§4−4−1(1)で説明したとおりである。(S401〜S406、S409)。本動作例では、商品Aの確定注文数「235」とエントリー数「10」の合計「245」は販売数「240」を超えている。
商品Aの確定注文数とエントリー数の合計が販売数に到達しているため、確定注文操作処理部32は、データサーバ1から受信した更新結果データに含まれている各注文情報に対応するキャンセルまでの注文数を計算する(S419)。本動作例の場合、データサーバ1から受信した処理結果には注文ID「002」の注文情報のみが含まれているので、この注文情報のキャンセルまでの注文数を計算する。商品Aについての確定注文数は「235」であり、販売数は「240」であるから、当該注文情報のキャンセルまでの注文数は「−4」であり、注文数「5」について注文のキャンセルが起きる。
その後、確定注文操作処理部32は、§3−2で説明した処理(S303〜S310)と同様に、各注文を行ったユーザ情報の問い合わせをデータサーバ1に対して行い、メールを作成し、ユーザ端末9へ送信する(S420〜S426)。異なる点は、ユーザが注文した商品についての類似商品・推奨商品が発見されない場合であっても、キャンセルまでの注文数又はキャンセルされることの情報を通知するため、メールが送信される点である。
なお、ユーザの操作がエントリー操作、商品乗り換え操作、注文切り換え操作の場合、ワークサーバ2における処理主体が、エントリー操作処理部33、商品乗り換え操作処理部34、注文切り換え操作処理部35に替わるだけで、処理は上記と同様である。
§4−4−3 作用及び効果
上述するように、本変形例では、WEBサーバ5のWEBページ処理部57により提供される商品詳細ページ(図8参照)では、確定注文数が販売終了数に満たない場合にはその確定注文数とエントリー数との合計数が販売終了数を超える場合であってもエントリー注文が受け付けられる。このエントリー注文に対しては注文順に応じた優先度が付加され、データサーバ1の注文情報テーブル16に格納される。
ワークサーバ2では、時間経過監視部27により、販売期間が経過した商品の存在が監視され、販売期間が経過した商品であって確定注文数とエントリー数の合計が販売数を超えている商品については、その販売数を超える数のエントリー注文がキャンセルされる。このとき、当該商品のエントリー注文に付された優先度の低いものが優先的にキャンセルさせる。
また、ワークサーバ2では、確定注文操作処理部32、エントリー操作処理部33、商品乗り換え操作処理部34及び注文切り替え操作処理部35により、確定注文数とエントリー数の合計が販売数を超えたか否かが判定される。確定注文数とエントリー数の合計が販売数を超えたと判定されると、その商品についてエントリーによる注文をしているユーザに対してリコメンド処理部28により通知が行われる。この通知には、キャンセルまでの注文数やキャンセルされる旨の情報等が含まれる。
これにより、エントリー注文をしているユーザは、その通知により自身のエントリー注文のキャンセル可能性を知ることができるため、キャンセルされる可能性が高い場合等には、他の商品への乗り換えを検討することができる。
また、確定注文操作処理部32、エントリー操作処理部33、商品乗り換え操作処理部34及び注文切り替え操作処理部35により、販売期間を過ぎていない商品の確定注文数とエントリー数の合計が販売数を超えており、販売終了までの期間が1日以上あると判定された場合には、商品情報テーブル18に格納される販売期間が短縮される。
これにより、確定注文しているユーザは、他の商品への乗り換えをすることができないものの、所定の販売数に注文数が達するとすぐにその商品の共同購入状態が確定されるた
め、早くその商品を手にすることができる。
このように本変形例によれば、エントリー注文をしたユーザは、実施形態で述べたような変更が許されるというメリットを享受できると共に、キャンセルの可能性が生じるというデメリットも受ける。しかしながら、販売終了数を超える場合であってもエントリー注文が受け付けられ、自身よりも先にエントリー注文をしているユーザが存在する場合であっても、それら先着ユーザが乗り換え等を行なえば、その商品を購入することができる可能性がある。従って、本変形例によれば、エントリー注文をしているユーザは、エントリー注文をしている他のユーザの動向を気にしながら、戦略的に乗り換え等を決めることができるため、共同購入に戦略性、ゲーム性を生じさせることができる。結果、消費者の共同購入への参加意欲を一層高めることができる。