以下に、本願の開示する端末装置、更新間隔制御方法および更新間隔制御プログラムの実施例を図面に基づいて詳細に説明する。なお、この実施例により本願発明が限定されるものではない。
(第1の実施形態)
[1.システム構成]
まず、第1の実施形態に係るシステムの全体構成について説明する。図1は、第1の実施形態に係るシステムの全体構成例を示す図である。図1に示すように、このシステムは、オークションサーバ10と端末装置20とが無線通信で相互に通信可能に接続される。
オークションサーバ10は、ユーザや店舗などから商品の出品を受付け、各ユーザにオークションサイトを提供するサーバの一例である。このオークションサーバ10は、商品DBとユーザDBとを保持する。商品DBは、オークションに出品される商品に関する情報を記憶するデータベースである。例えば、商品DBは、「商品名、商品ID、入札金額、終了日時」として「商品A、S1、100円、2013/01/15/09:00:00」などを記憶する。
ユーザDBは、ユーザが監視対象として設定している商品に関する情報を記憶するデータベースである。例えば、ユーザDBは、ユーザがウォッチリスト、入札中、出品中のそれぞれについて登録する商品の情報を記憶する。なお、ここでは、一例として、ウォッチリストを例にして説明する。ユーザDBは、「ユーザID、商品ID」として「U001、S1」などを記憶する。
端末装置20は、ユーザが所有する携帯電話やスマートフォンなどの一例であり、ネットワークを介して、オークションサーバ10と通信を実行する。また、端末装置20のユーザは、オークションサーバ10に登録された登録ユーザであり、オークションサイトを利用する。
このような状態において、端末装置20には、後述するオークションウィジェットを表示制御するアプリケーションがインストールされている。かかる端末装置20は、オークションウィジェットの起動操作をユーザから受け付けると、オークションウィジェットを起動し(S1)、オークションサーバ10から割当てられたユーザIDをオークションサーバ10に送信する(S2)。
例えば、端末装置20は、実施形態で開示する処理を実行するアプリケーションのアイコン等のクリックを受け付けると、オークションウィジェットを起動する。そして、端末装置20は、記憶部等に記憶されるユーザID「U001」をオークションサーバ10へ送信する。このとき、端末装置20は、ウィジェットの更新間隔の初期値をユーザから受け付けてもよい。なお、ここでは、一例として、更新間隔の初期値が「1時間」であるとする。
続いて、端末装置20は、監視対象に設定されたオークション商品に関する、少なくともオークションが終了する終了時間を含むオークション情報を、オークションサーバ10から取得する(S3)。
例えば、オークションサーバ10は、端末装置20から受信したユーザID「U001」に対応する商品ID「S1」をユーザDBから読み込む。続いて、オークションサーバ10は、商品ID「S1」に対応する「商品名(商品A)、入札金額(100円)、終了日時(2013/01/15 9:00:00)」を商品DBから読み出して、端末装置20へ送信する。他にも、例えば、オークションサーバ10は、商品Aの画像データである画像Aを端末装置20へ送信する。
そして、端末装置20は、オークションサーバ10から取得したオークション情報に基づいてオークションウィジェットの画像を生成してディスプレイに表示させる(S4)。
例えば、端末装置20は、オークションウィジェット30の「ウォッチリスト」タブに対応付けて、オークション情報「画像A、商品A、入札金額:100円」を表示させる。さらに、端末装置20は、終了時間「2013/01/15 9:00:00」と現在時刻とを比較して、オークション終了までの残り時間「10時間」を算出し、上記「ウォッチリスト」タブに表示させる。なお、ここでは、ウォッチリストを例にして説明したが、端末装置20は、入札中や出品中についても同様に処理する。
その後、端末装置20は、ウォッチリストなど監視対象に設定されたオークション商品に関するオークション情報を、所定間隔で取得する。続いて、端末装置20は、取得されたオークション情報をディスプレイ等に表示させる。そして、端末装置20は、表示されるオークション情報の終了時間までの残り時間が閾値以下のオークション情報を検出した場合に、所定間隔を現更新間隔より短い間隔に変更する。
ここで、図2を用いて、上記処理を具体的に説明する。図2は、端末装置が実行するウィジェットのオークション情報の更新を説明する図である。なお、図2では説明を簡略化するため、端末装置20については、オークションウィジェット30のイメージの一例のみを左側に図示し、オークションサーバ10については、商品DBのテーブルデータ例のみを右側に図示する。図2では、オークションサイトからの商品への入札により商品DBの情報が随時更新される場合を示している。
図2に示すように、端末装置20は、監視対象の商品のオークション終了時刻までの残り時間を計時して、オークションウィジェット30に表示される「商品A」の「残り時間」を更新する。そして、端末装置20は、残り時間を監視し、予め設定された閾値(15分)以下になるまで、設定時間(1時間)おきにオークション情報を取得する。
例えば、端末装置20は、オークション終了時刻までの残り時間を監視し、残り時間が閾値(15分)以下にならない間に(S11)、前回の取得時から「設定時間(1時間)」が経過すると、ユーザID「U001」を含めた取得要求をオークションサーバ10に送信する(S12)。そして、端末装置20は、オークション情報「商品名(商品A)、入札金額(110円)、終了日時(2013/01/15 9:00:00)」を取得し(S13)、オークションウィジェット30の表示情報を更新する(S14)。ここでは、入札金額が100円から110円に更新される。
このように、端末装置20は、残り時間が「9時間、8時間・・・」となった場合でも残り時間が15分以下になるまでは、1時間おきにオークション情報を取得して、オークションウィジェット30の表示情報を更新する。
その後、端末装置20は、商品Aのオークションの残り時間が「15分」になったことを検出する(S15)。すると、端末装置20は、残り時間が閾値以下になったので、ユーザID「U001」を含めた取得要求をオークションサーバ10に送信する(S16)。そして、端末装置20は、オークション情報「商品名(商品A)、入札金額(300円)、終了日時(2013/01/15 9:00:00)」を取得し(S17)、オークションウィジェット30の表示情報を更新する(S18)。ここでは、入札金額が110円から300円に更新される。
さらに、端末装置20は、残り時間が閾値以下になったので、設定時間を1時間から5分に変更する(S19)。以降、端末装置20は、オークションが終了するまで、1時間おきではなく、5分おきにオークション情報を取得する。
すなわち、端末装置20は、残り時間が10分になった場合に、取得要求をオークションサーバ10に送信し、オークション情報「商品名(商品A)、入札金額(500円)、終了日時(2013/01/15 9:00:00)」を取得して、オークションウィジェットを更新する。ここでは、入札金額が300円から500円に更新される。
続いて、端末装置20は、残り時間が5分になった場合に、取得要求をオークションサーバ10に送信し、オークション情報「商品名(商品A)、入札金額(1500円)、終了日時(2013/01/15 9:00:00)」を取得して、オークションウィジェットを更新する。ここでは、入札金額が500円から1500円に更新される。
続いて、端末装置20は、残り時間が0分になった場合に、取得要求をオークションサーバ10に送信し、オークション情報「商品名(商品A)、入札金額(2000円)、終了日時(2013/01/15 9:00:00)」を取得して、オークションウィジェットを更新する。ここでは、入札金額が1500円から2000円に更新される。
このように、端末装置20は、オークション終了までの残り時間が長い間は、長い間隔でオークション情報を取得し、オークション終了に近づくと、短い間隔でオークション情報を取得する。また、端末装置20は、キャリアのメール等ではなく、インターネットなどの無線ネットワークを介してオークション情報を取得する。この結果、端末装置20は、オークション情報の遅配を抑制でき、リアルタイムにオークション情報を入手できる。
[2.オークションサーバの構成]
続いて、オークションサーバ10の機能構成について説明する。図3は、第1の実施形態に係るオークションサーバの機能構成を示す機能ブロック図である。図3に示すように、オークションサーバ10は、通信制御部11と記憶部12と制御部13とを有して構成される。
通信制御部11は、無線通信インタフェースなどである。通信制御部11は、オークション出品者の端末からオークション商品の情報を受信し、オークション入札者の端末から入札情報を受信する。また、通信制御部11は、端末装置20からユーザIDを含むオークション情報取得要求を受信する。また、通信制御部11は、端末装置20へ該当するオークション情報を送信する。
記憶部12は、メモリやハードディスクなどの記憶装置であり、商品DB12aとユーザDB12bとを保持する。これら以外にも、記憶部12は、制御部13が実行するプログラム等を記憶する。商品DB12aは、オークションに出品されている商品に関する情報を記憶するデータベースである。図4は、商品DBに記憶される情報の例を示す図である。
図4に示すように、商品DB12aは、商品の個別情報として「商品ID、オークションID、商品名、商品URL(Uniform Resource Locator)、サムネイルURL、終了日時、現在価格、最高額入札者、入札件数」を対応付けて記憶する。なお、ここで記憶される情報は、例示であり、これに限定されるものではない。例えば、商品が閲覧された総数を示す商品閲覧数、ウォッチリストとして登録されている総数を示すウォッチリスト被登録数などを対応付けてもよい。
ここで記憶される「商品ID」は、オークションに出品されている商品を識別する識別子であり、オークションサーバ10が一意に設定する。「オークションID」は、商品のオークションを識別する識別子であり、オークションサーバ10が一意に設定する。「商品名」は、オークションに出品されている商品の名称であり、出品者が登録する。「商品URL」は、オークションに出品されている商品の画像が保存されるURLであり、ユーザが画像を登録し、オークションサーバ10がURLを一意に設定する。
「サムネイルURL」は、商品画像のサムネイル画像が保存されるURLであり、ユーザが画像を登録し、オークションサーバ10がURLを一意に設定する。「終了日時」は、オークションが終了する日時であり、ユーザが設定する。「現在価格」は、オークション商品の現在の価格であり、オークションサーバ10が随時変更する。「最高額入札者」は、オークション商品に対して現地時点で最高額を入札しているユーザのユーザIDであり、オークションサーバ10が随時変更する。「入札件数」は、オークション商品に対して現地時点までに入札した入札の総数であり、オークションサーバ10が随時変更する。
図4の1行目を説明すると、商品IDが「S1」の商品Aには、オークションID「A01」が割り与えられている。また、この商品Aの商品画像が「URL(A)」に保存され、サムネイル画像が「S−URL(A)」に保存される。そして、商品Aのオークションは「2013年1月15日の9:00:00」に終了し、現在までに「10件」の入札があり、最高額はユーザID「U001」が入札した「2000円」である。
ユーザDB12bは、ユーザごとに、ユーザがウォッチリスト、入札中、出品中のそれぞれについて登録する商品の情報を記憶するデータベースである。図5は、ユーザDBに記憶される情報の例を示す図である。
図5に示すように、ユーザDB12bは、ユーザ個別情報として「ユーザID、種別、商品ID」を対応付けて記憶する。ここで記憶される「ユーザID」は、ユーザを一意に識別する識別子である。「種別」は、「ウォッチリスト、入札中、出品中、終了分」で構成される。
「ウォッチリスト」は、ユーザが商品に興味を持ち、入札額の変動等を監視するために、監視対象として登録したオークション商品の商品IDが登録される。「入札中」は、ユーザが入札したオークション商品の商品IDが登録される。「出品中」は、ユーザが出品したオークション商品の商品IDが登録される。「終了分」は、ユーザがウォッチリストに登録しているオークション商品、入札したオークション商品、出品したオークション商品において、オークションが終了した商品の商品IDが登録される。
図5の例では、ユーザIDが「U001」のユーザは、「ウォッチリスト」に商品IDが「S5、S11、S20」の商品を登録している。また、「U001」のユーザは、商品IDが「S5」のオークション商品に入札しており、商品IDが「S8」のオークション商品と「S30」のオークション商品を出品している。また、「U001」のユーザが監視対象としていた商品ID「S1」と「S2」のオークション商品が終了したことを示す。
図3に戻り、制御部13は、オークションサーバ10全体を司る情報処理部であり、例えばプロセッサなどである。制御部13は、内部の記憶装置に記憶されているプログラムがRAM(Random Access Memory)を作業領域として実行されることにより実現される。また、制御部13は、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現される。この制御部13は、オークション更新部14とオークション情報提供部15とを有する。
オークション更新部14は、オークション商品に関する情報を更新する処理部である。例えば、オークション更新部14は、ユーザから商品Aの入札額を受け付けた場合には、商品DB12aを参照し、商品Aの現在価格と最高入札者と入札件数等を更新する。なお、オークション更新部14は、終了5分前の商品の最高額が更新された場合に、その終了時刻を自動延長することもできる。この場合、オークション更新部14は、該当商品の終了日時を予め定めた時間分延長させた日時に更新する。
また、オークション更新部14は、ユーザからウォッチリストの登録を受け付けた場合には、当該ユーザのユーザIDと該当商品IDとを対応付けてユーザDB12bに登録する。同様に、オークション更新部14は、ユーザがオークション商品に入札した場合には、当該ユーザのユーザIDと該当商品IDとを対応付けてユーザDB12bに登録し、ユーザがオークション商品を出品した場合には、当該ユーザのユーザIDと該当商品IDとを対応付けてユーザDB12bに登録する。なお、オークション更新部14は、ユーザDB12bのウォッチリスト、入札中、出品中に登録される商品のオークションが終了した場合、終了したオークション商品の商品IDを終了分に移動させる。
オークション情報提供部15は、端末装置20から取得要求を受け付けた場合に、該当するオークション情報を端末装置20に送信する処理部である。具体的には、オークション情報提供部15は、受信したユーザIDに対応する商品IDをユーザDB12bから読み込む。そして、オークション情報提供部15は、特定した商品IDに対応する「オークションID、商品名、商品URL、サムネイルURL、終了日時、現在価格、最高額入札者、入札件数」を商品DB12aから読み出して、端末装置20に送信する。
図5を用いて一例を説明する。オークション情報提供部15は、端末装置20からユーザID「U001」を受信した場合、「U001」に対応する「ウォッチリスト」の「S5、S11、S20」を特定する。そして、オークション情報提供部15は、「S5」に対応する情報と「S11」に対応する情報と「S20」に対応する情報の各々を、商品DB12aから取得して端末装置20に送信する。なお、オークション情報提供部15は、「入札中」や「出品中」についても同様に処理する。
[3.端末装置の構成]
続いて、端末装置20の機能構成について説明する。図6は、第1の実施形態に係る端末装置の機能構成を示す機能ブロック図である。図6に示すように、端末装置20は、通信制御部21と入力部22と表示部23と記憶部24と制御部25とを有して構成される。通信制御部21は、無線通信インタフェースなどである。
入力部22は、ユーザから各種操作を受け付ける入力デバイスである。例えば、入力部22は、カーソルキーやテンキー等によって実現される。表示部23は、各種情報を表示するための表示デバイスである。例えば、表示部23は、液晶ディスプレイ等によって実現される。なお、端末装置20にタッチパネルが採用されている場合には、入力部22及び表示部23は一体化される。
記憶部24は、メモリやハードディスクなどの記憶装置であり、間隔時間DB24aとウォッチリストDB24bと入札中DB24cと出品中DB24dとを保持する。これら以外にも、記憶部24は、制御部25が実行するプログラム等を記憶する。また、記憶部24は、オークション情報を取得する間隔を短くする際に用いる、「残り時間」の閾値として例えば15分などを記憶する。
間隔時間DB24aは、オークション情報を取得する時間間隔を記憶するデータベースである。具体的には、間隔時間DB24aは、オークションウィジェット30の初期画面で設定された更新間隔を記憶する。その後、間隔時間DB24aに記憶される更新間隔は、後述する間隔変更部26eによって更新される。なお、間隔時間DB24aは、ユーザ等の設定によって、オークションウィジェット30に対して1つの更新間隔を記憶することもでき、オークションウィジェット30のウォッチリスト、入札中、出品中それぞれのリストについて別々の更新間隔を記憶することもでき、各商品ごとに更新間隔を記憶することもできる。
また、間隔時間DB24aは、後述する情報取得部26bが前回オークション情報を取得した時刻を記憶する。したがって、情報取得部26bは、この時刻を基準時間として、更新間隔に到達したか否かを判定する。例えば、前回の取得時刻が16:00であり、更新間隔が1時間であるとする。この場合、間隔時間DB24aは、基準時間として「16:00」を記憶する。そして、情報取得部26bは、オークション商品の残り時間が「16:00」から1時間経過した「17:00」になった場合に、オークションサーバ10からオークション情報を取得する。
ウォッチリストDB24bは、オークションウィジェット30のウォッチリストに表示させる情報を記憶するデータベースである。ここで記憶される情報は、情報取得部26bによって取得される。図7は、ウォッチリストDBに記憶される情報の例を示す図である。図7に示すように、ウォッチリストDB24bは、「商品ID、商品名、商品URL、サムネイルURL、終了日時、現在価格」を少なくとも記憶する。なお、ここで記憶される項目は、図4で説明したので省略する。
入札中DB24cは、オークションウィジェット30の入札中に表示させる情報を記憶するデータベースである。ここで記憶される情報は、情報取得部26bによって取得される。図8は、入札中DBに記憶される情報の例を示す図である。図8に示すように、入札中DB24cは、「商品ID、オークションID、商品名、商品URL、サムネイルURL、終了日時、現在価格」を少なくとも記憶する。なお、ここで記憶される項目は、図4で説明したので省略する。
出品中DB24dは、オークションウィジェット30の出品中に表示させる情報を記憶するデータベースである。ここで記憶される情報は、情報取得部26bによって取得される。図9は、出品中DBに記憶される情報の例を示す図である。図9に示すように、出品中DB24dは、「商品ID、オークションID、商品名、商品URL、サムネイルURL、終了日時、現在価格、入札件数」を少なくとも記憶する。なお、ここで記憶される項目は、図4で説明したので省略する。
制御部25は、端末装置20全体を司る情報処理部であり、例えばプロセッサなどである。制御部25は、内部の記憶装置に記憶されているプログラムがRAMを作業領域として実行されることにより実現される。また、制御部25は、例えば、ASICやFPGA等の集積回路により実現される。
かかる制御部25は、各種アプリケーションを実行する処理部を有する。本実施形態では、制御部25は、オークションウィジェットアプリ実行部26を有する。オークションウィジェットアプリ実行部26は、図1や図2等を用いて説明した、アプリケーションであるオークションウィジェット30の実行制御を実現する。かかるオークションウィジェットアプリ実行部26は、ウィジェット起動部26a、情報取得部26b、ウィジェット更新部26c、監視部26d、間隔変更部26eを有する。
ウィジェット起動部26aは、ユーザ操作を受け付けて、オークションウィジェット30を起動する処理部である。具体的には、ウィジェット起動部26aは、ユーザからオークションウィジェット30の起動操作を受け付けると、オークションウィジェット30を起動して、初期画面を表示部23に表示させる。そして、ウィジェット起動部26aは、初期画面において、オークション情報を取得する更新間隔の設定を受け付ける。その後、ウィジェット起動部26aは、取得した更新間隔を間隔時間DB24aに格納する。なお、オークションウィジェット30の初期画面については後述する。
情報取得部26bは、監視対象に設定されたオークション商品に関する、少なくともオークションが終了する終了時間を含むオークション情報を、所定間隔で取得する処理部である。具体的には、情報取得部26bは、間隔時間DB24aに記憶される基準時間と更新間隔とに基づいて、取得タイミングに到達したか否かを判定する。そして、情報取得部26bは、取得タイミングに到達した場合には、ユーザIDを含む取得要求をオークションサーバ10に通信制御部21を介して送信して、オークションサーバ10からオークション情報を取得する。その後、情報取得部26bは、ウォッチリストDB24b、入札中DB24c、出品中DB24dの各々に、取得したオークション情報のうち該当する情報を格納する。
例えば、情報取得部26bは、基準時間が「16:00」で更新間隔が「1時間」である場合、現在時刻が「17:00」になった時点で、オークションサーバ10からオークション情報を取得する。その後、現在時刻が「16:40」である状態で、更新間隔が「5分」に変更されたとする。この場合、情報取得部26bは、基準時間が「16:00」であることから、次の取得タイミングが「16:05」であると判定する。一方で、現在時刻が「16:40」であることから、次の取得タイミングを過ぎている。この結果、情報取得部26bは、すぐにオークション情報を取得する。
つまり、更新間隔が現間隔より短い間隔に変更された場合には、情報取得部26bは、直ちにオークション情報を取得する。なお、更新間隔がオークションウィジェット30のウォッチリスト、入札中、出品中それぞれについて別々に設定されている場合に、情報取得部26bは、各更新間隔で上記処理を実行する。
ウィジェット更新部26cは、ウォッチリストDB24b、入札中DB24c、出品中DB24dに記憶される情報に基づいて、オークションウィジェット30に表示するオークション情報を更新する処理部である。具体的には、ウィジェット更新部26cは、現在表示されているオークションウィジェット30の表示情報を各DBに格納された情報で更新することで、オークションウィジェット30に最新の情報を表示させる。
また、ウィジェット更新部26cは、各DBに記憶される商品の終了時間と現在時間とに基づいて、その各商品のオークション終了までの残り時間を随時算出する。そして、ウィジェット更新部26cは、オークションウィジェット30に表示される各商品の残り時間を随時更新する。なお、オークションウィジェット30に表示される情報については後述する。
なお、ウィジェット更新部26cは、情報取得部26cが圏外等により通信不能によってオークション情報を取得できなかった場合に、「オークション情報を取得できませんでした。別の手法でアクセスして下さい」などのメッセージをオークションウィジェット30に表示させることもできる。このようにすることで、ユーザに別手法によるオークション情報の閲覧を促すことができるので、通信不能によるオークション情報の確認漏れ等を抑制することに繋がる。
監視部26dは、オークションウィジェット30に表示される各商品の残り時間が閾値以下となったか否かを監視する処理部である。具体的には、監視部26dは、記憶部24に記憶される閾値(15分)を取得し、オークションウィジェット30に表示される各商品の残り時間を監視する。そして、監視部26dは、残り時間が15分となった商品がある場合、情報取得部26b及び間隔変更部26eに通知する。
例えば、監視部26dは、ウォッチリストDB24b、入札中DB24c、出品中DB24dの各DBを参照し、各商品の終了時間を読み込む。そして、監視部26dは、読み込んだ終了時間と現在時間とから、オークション終了までの残り時間を算出し、算出した残り時間が閾値以上か否かを監視する。
別例としては、監視部26dは、ウィジェット更新部26cが算出してオークションウィジェット30の表示させる各商品の終了までの残り時間を参照して、オークション終了までの残り時間閾値以上か否かを監視することもできる。
間隔変更部26eは、表示部23に表示されるオークション情報の終了時間までの残り時間が閾値以下のオークション情報が検出された場合に、更新間隔を現間隔より短い間隔に変更する処理部である。具体的には、間隔変更部26eは、監視部26dから通知を受けた場合に、間隔時間DB24aに記憶される基準時間の通知を受けた時刻に変更すると共に、更新間隔を5分に変更する。なお、変更後の更新間隔は、任意に設定できる。
例えば、間隔変更部26eは、オークションウィジェット30について1つの更新間隔が設定されている場合には、間隔時間DB24aに記憶される更新間隔を5分に変更する。また、間隔変更部26eは、オークションウィジェット30に表示される商品ごとに別々の更新間隔が設定されている場合、通知された商品IDに対応する更新間隔を5分に変更する。
また、間隔変更部26eは、オークションウィジェット30のウォッチリスト、入札中、出品中それぞれのリストについて別々の更新間隔が設定されている場合、通知された商品IDをキーにして、ウォッチリストDB24bと入札中DB24cと出品中DB24dの各々を参照して、当該商品IDがどのDBに記憶されるかを検出する。そして、間隔変更部26eは、検出されたDBに対応する更新間隔のみを5分に変更する。つまり、間隔変更部26eは、当該商品IDがウォッチリストDB24bに記憶される場合には、ウォッチリストDB24bに対応する更新間隔のみを変更する。
[4.オークションウィジェットの画面例]
次に、端末装置20が表示部23に表示するオークションウィジェット30の表示イメージの一例について説明する。ここでは、オークションウィジェット30へログインする際の初期画面、通常画面、設定画面について説明する。
まず、初期画面について説明する。図10は、オークションウィジェットの初期画面例を示す図である。この初期画面は、オークションウィジェット30へログインする際に表示されるログイン画面である。ウィジェット起動部26aは、ユーザからオークションウィジェット30の起動操作を受け付けると、ウィジェットを起動して、図10に示す初期画面を表示部23に表示させる。初期画面には、「ログインしてウィジェットを利用する」ボタンと「ウィジェットの使い方を見る」ボタンとが含まれる。
ウィジェット起動部26aは、「ログインしてウィジェットを利用する」ボタンがユーザによって選択されると、ユーザIDとパスワードとを入力させる画面を表示させて、ログイン認証を実行する。そして、ウィジェット起動部26aは、ログイン認証を許可すると、情報取得部26bにログインが許可されたことを通知する。こうして、情報取得部26bは、オークションウィジェット30の起動およびユーザログインに伴って、オークション情報をオークションサーバ10から取得する。
また、ウィジェット起動部26aは、「ウィジェットの使い方を見る」ボタンがユーザによって選択されると、例えばオークションウィジェット30のヘルプ画面を表示する。ヘルプ画面に表示される情報等は、オークションウィジェット30を実行制御するアプリケーションがインストールされた際に、記憶部等に格納される。
続いて、オークションウィジェット30の通常画面を説明する。図11は、オークションウィジェットの通常画面例を示す図である。図11に示すように、オークションウィジェット30通常画面は、端末の表示部23の画面の一部に表示され、複数の操作ボタンを有する。
具体的には、更新ボタン31は、表示されている情報を手動で最新に更新する際に使用されるボタンである。設定ボタン32は、画面の表示レイアウト等の設定を変更する際に使用されるボタンである。検索窓33は、検索画面へ遷移し、オークション商品を検索する際に使用される。ユーザID表示窓34は、表示されているIDを矢印タップで切替える際に使用される。ウィジェット更新部26cは、ユーザIDの変更に連動して、オークションウィジェット30に表示されるリスト36のIDとタグに紐付く情報を、ログアウトおよび再度ログインさせることなく、切替えることができる。
また、タブ35は、ウォッチリストタブ、入札中タブ、出品中タブを有し、選択されたタブに関連付けられる情報にリスト36を切替える。ウィジェット更新部26cは、各タブのリストには、当該タグに対応するDBに記憶される情報を表示する。つまり、ウィジェット更新部26cは、ウォッチリストDB24bに記憶されるオークション情報をウォッチリストタブに対応付けて表示させる。また、ウィジェット更新部26cは、前回から変更された情報が存在するタブ上に、バッジ35aを表示させる。
また、リスト36には、指定されたタブに対応付けられたオークション情報が表示される。ここで表示される情報の詳細は、図13から図15を用いて後述する。なお、リスト36は、最大20件のオークション情報のうち、4件または5件を表示する。チェックボタン37は、タップされると、リスト36内の新着情報を示すラベルをクリアする。これを利用することにより、ユーザは、いつでも全ての新着情報を確認済みにできる。
上下カーソル38は、1画面に表示できる4件または5件のオークション情報を別の4件又は5件の情報に切替える。この上下カーソル38がクリックされると、表示されている情報の前の4件または5件、もしくは、次の4件または5件にオークション情報が切り替わる。リストボタン39は、タップされると、リスト36に表示されているオークション情報の一覧画面へ遷移する。
次に、設定画面について説明する。図12は、オークションウィジェットの設定画面例を示す図である。ウィジェット起動部26aは、図11に示した通常画面上の設定ボタン32へのタップ操作を受け付けると、図12に示す設定画面を表示部23に表示させる。ウィジェット起動部26aは、複数のユーザIDを用いたログインを許容する。このため、オークションウィジェット30の設定画面は、図12に示すように、ログインされた各ユーザIDを表示する。
また、図12に示す設定画面は、ウォッチリスト、入札中、出品中のそれぞれについて更新間隔が設定できる例を示している。ウィジェット起動部26aは、この初期画面で受け付けた更新間隔を、初期値として間隔時間DB24aに格納する。また、初期画面は、「オークションの終了間際に頻繁に更新する」をONまたはOFFに設定するメニューを含む。このメニューは初期状態のデフォルトではOFFに設定されており、ユーザの操作によりONに設定された状態の場合に、監視部26dは、オークションウィジェット30に表示される各商品の残り時間が閾値以下となったか否かを監視する。このメニューがOFFに設定された状態の場合には、監視部26dによる監視は行われず、情報取得部26bは、初期設定された更新間隔でオークション情報を取得し続ける。
次に、図13から図15を用いて、図11に示した通常画面のリスト36に表示されるオークション情報について説明する。図13は、ウォッチリストのリスト36における一つの商品欄の表示例を示す図である。図13に示す商品欄40は、ウィジェット更新部26cがウォッチリストDB24bに記憶される情報を用いて生成する。
図13に示すように、ウォッチリストの商品欄40には、サムネイル40aとラベル40bとが表示される。ウィジェット更新部26cは、ウォッチリストDB24bに記憶されるサムネイルURLから取得した画像をサムネイル40aに表示させる。また、ウィジェット更新部26cは、サムネイル40aもしくは商品欄40領域内がクリックされた場合、対応する商品URLにアクセスして、商品ページを表示させる。
また、ウィジェット更新部26cは、商品の価格(入札額)が前回から変更された場合に、「価格変動」のラベル40bを表示させ、商品のオークション終了時間15分前になった場合に、「まもなく終了」のラベル40bを表示させる。これら以外にも、ウィジェット更新部26cは、各商品ごとに、商品名、価格(現在価格)、残り時間、入札件数などを表示させる。例えば、ウィジェット更新部26cは、残り時間については、残り時間が1分以下になった場合に1秒刻み「残り△△秒」、1時間以下になった場合に1分刻み「残り△△分」、24時間以下になった場合に1時間刻み「残り△△時間」、24時間より多い場合に1日刻み「残り△△日」で表示し、終了した場合には終了と表示させる。
また、ウィジェット更新部26cは、閲覧数やウォッチリスト被登録数などがオークションサーバ10から取得されてウォッチリストDB24bに格納されている場合に、これらの情報を表示することもできる。
図14は、入札中のリスト36における一つの商品欄の表示例を示す図である。図14に示す商品欄41は、ウィジェット更新部26cが入札中DB24cに記憶される情報を用いて生成する。図14に示すように、入札中の商品欄41には、サムネイル41aとラベル41bとが表示される。ウィジェット更新部26cは、入札中DB24cに記憶されるサムネイルURLから取得した画像をサムネイル41aに表示させる。また、ウィジェット更新部26cは、サムネイル41aもしくは商品欄41領域内がクリックされた場合、対応する商品URLにアクセスして、商品ページを表示させる。
また、ウィジェット更新部26cは、商品への入札額が前回より高値に更新された場合に、「高値更新」のラベル41bを表示させる。ウィジェット更新部26cは、自身が最高額入札者になった場合に、「最高額入札者」のラベル(図示せず)を表示させる。ウィジェット更新部26cは、ユーザ自身が商品を落札した場合に、「落札者」のラベル(図示せず)を表示させる。ウィジェット更新部26cは、ユーザ自身が落札できずにオークションが終了した場合に、「終了」のラベル(図示せず)を表示させる。
これら以外にも、図13と同様に、ウィジェット更新部26cは、各商品ごとに、商品名、価格(現在価格)、残り時間、入札件数、閲覧数、ウォッチリスト被登録数などを表示させる。ウィジェット更新部26cは、残り時間についても、図13と同様の仕様で表示する。
図15は、出品中のリスト36における一つの商品欄の表示例を示す図である。図15に示す商品欄42は、ウィジェット更新部26cが出品中DB24dに記憶される情報を用いて生成する。図15に示すように、出品中の商品欄42には、サムネイル42aとラベル42bが表示される。ウィジェット更新部26cは、出品中DB24dに記憶されるサムネイルURLから取得した画像をサムネイル42aに表示させる。また、ウィジェット更新部26cは、商品への入札額が前回より変更された場合に、「価格変動」のラベル42bを表示させる。ウィジェット更新部26cは、出品中の商品のオークションが終了した場合に、「終了」のラベル42bを表示させる。
これら以外にも、図13と同様に、ウィジェット更新部26cは、各商品ごとに、商品名、価格(現在価格)、残り時間、入札件数、閲覧数、ウォッチリスト登録数などを表示させる。ウィジェット更新部26cは、残り時間についても、図13と同様の仕様で表示する。
[5.ウィジェットのオークション情報更新処理の流れ]
図16は、第1の実施形態に係るウィジェットのオークション情報更新処理の流れを示すフローチャートである。図16に示すように、端末装置20のウィジェット起動部26aは、ウィジェット起動操作を受け付けると(S101:Yes)、オークションウィジェット30を表示させて、更新間隔などの各種設定を受け付ける(S102)。このとき、ウィジェット起動部26aは、受け付けた更新間隔を間隔時間DB24aに格納する。
そして、情報取得部26bは、ユーザIDを含んだ取得要求をオークションサーバ10へ送信し(S103)、該当するオークション情報を受信して(S104)、該当する各DBへオークション情報を格納する(S105)。このとき、情報取得部26bは、オークション情報を取得した時刻を基準時間として、間隔時間DB24a等に格納する。
続いて、ウィジェット更新部26cは、各DBへ格納されたオークション情報を用いて、オークションウィジェット30の表示リストを生成し、表示部23へ表示させる(S106)。
その後、ウィジェット更新部26cは、オークションウィジェット30のサムネイル等がクリックされた場合(S107:Yes)、商品URL等を用いて、オークションサーバ10へアクセスし、商品画面を表示部23へ表示させる(S108)。なお、オークションウィジェット30のサムネイル等がクリックされなかった場合(S107:No)、S108を実行することなくS109が実行される。
そして、情報取得部26bは、間隔時間DB24aから更新間隔や基準時間を取得し(S109)、更新タイミングに到達したか否かを判定する(S110)。ここで、情報取得部26bは、更新タイミングに到達したと判定した場合に(S110:Yes)、S103以降を実行する。一方で、情報取得部26bは、更新タイミングに到達していないと判定した場合に(S110:No)、S109以降を実行し、更新タイミングの検出を実行する。
[6.更新間隔の更新処理の流れ]
図17は、第1の実施形態に係る更新間隔の更新処理の流れを示すフローチャートである。図17に示すように、端末装置20の監視部26dは、各DBを参照し、各商品の残り時間を取得する(S201)。
そして、監視部26dは、残り時間が閾値以下のオークション商品が検出された場合(S202:Yes)、間隔時間DB24aに格納されている更新間隔をより短い更新間隔に変更設定する(S203)。その後、端末装置20は、S201に戻って以降の処理を実行する。一方、監視部26dは、残り時間が閾値以下のオークション商品が検出されない場合(S202:No)、S201に戻って、残り時間を常時監視する。
[7.第1の実施形態による効果]
第1の実施形態によれば、端末装置20は、メール等ではなく、オークションサーバ10のオークション情報を取得することができるので、オークション情報の遅配を抑制でき、リアルタイムにオークション情報を入手できる。
また、第1の実施形態によれば、端末装置20は、ユーザのウォッチリスト等の商品を一覧で監視可能にし、オークション情報の更新をリアルタイムに取得でき、入札タイミングを逃すことを軽減できる。端末装置20は、ウォッチリスト、入札中、出品中の種別や商品ごとに更新頻度を設定することができる。
また、第1の実施形態によれば、端末装置20は、オークション終了間際になると、自動でオークション情報の更新間隔をより短く変更し、頻繁にオークション情報を取得することができる。このため、端末装置20は、オークション終了間際まではトラフィック量を抑制する一方で、オークション終了間際であってもオークション情報の更新をリアルタイムに検出できる。
(第2の実施形態)
ところで、オークション情報の更新間隔の設定変更は、オークション終了間際か否かだけではなく、オークション商品の注目度をさらに考慮して制御することができる。そこで、第2の実施形態では、終了間際、かつ、注目度に応じてオークション情報の更新間隔を制御する例を説明する。
具体的には、オークションサーバ10は、商品DB12aにおいて、各商品に対応付けて注目指数を格納する。注目指数の例としては、商品ページ閲覧数、ウォッチリストへの被登録数、入札数などである。オークションサーバ10は、これらの指数をカウントし、商品DB12aに格納する。
端末装置20の情報取得部26bは、上記注目指数を含んだオークション情報を取得して、各DBに格納する。そして、監視部26dは、残り時間が閾値以下のオークション情報を検出し、かつ、当該オークション情報に対応するオークション商品の注目度が高い場合に、所定間隔を現間隔より短い間隔に変更する。例えば、間隔変更部26eは、前回取得された注目指数と今回取得された注目指数との差が所定値以上である場合に、注目度が高いと判定する。
ここで、図18を用いて具体例を説明する。図18は、第2の実施形態に係る端末装置が実行するオークション情報更新間隔の変更を説明する図である。なお、図18では、図2と同様、説明を簡略化するため、端末装置20については、オークションウィジェット30の表示例のみを左側に図示し、オークションサーバ10については、商品DBの情報の一例のみを左側に図示する。
図18の(A)に示すように、端末装置20の監視部26dは、商品Aのオークションの残り時間が「15分」になったことを検出する(S31)。すると、端末装置20の情報取得部26bは、残り時間が閾値以下になったので、ユーザID「U001」を含めた取得要求をオークションサーバ10に送信する(S32)。
そして、情報取得部26bは、オークション情報「商品名(商品A)、入札金額(110円)、終了日時(2013/01/15 9:00:00)、注目指数」を取得する(S33)。続いて、ウィジェット更新部26cは、取得されたオークション情報を用いて、オークションウィジェット30の表示を更新する(S34)。
さらに、間隔変更部26eは、注目度を算出し、注目度が下がっていることを検出する(S35)。例えば、間隔変更部26eは、前回取得された注目指数と今回取得された注目指数とを比較し、両者の差が所定値以下である場合や閲覧数などが減少している場合に、注目度が下がっていると判定する。
すると、間隔変更部26eは、オークション終了間際ではあるが、注目度が低いことから、更新間隔の変更を抑制する(S36)。つまり、注目度が低い場合、オークション終了間際であっても、更新間隔は、初期値の1時間に維持される。このため、情報取得部26bは、5分後ではなく1時間後に、オークション情報の取得を実行する。
一方、図18の(B)に示すように、端末装置20の監視部26dは、商品Aのオークションの残り時間が閾値「15分」になったことを検出する(S41)。すると、端末装置20の情報取得部26bは、残り時間が閾値以下になったので、ユーザID「U001」を含めた取得要求をオークションサーバ10に送信する(S42)。
そして、情報取得部26bは、オークション情報「商品名(商品A)、入札金額(110円)、終了日時(2013/01/15 9:00:00)、注目指数」を取得する(S43)。続いて、ウィジェット更新部26cは、取得されたオークション情報を用いて、オークションウィジェット30を更新する(S44)。
さらに、間隔変更部26eは、商品Aの注目度を算出し、注目度が上がっているか否かを判定する(S45)。例えば、間隔変更部26eは、商品Aの前回取得された注目指数と今回取得された注目指数とを比較し、商品Aの注目度が上がっているか否かを判定する。
すると、間隔変更部26eは、商品Aの注目度が上昇した場合に、更新間隔の変更を実行する(S46)。つまり、間隔変更部26eは、初期値の1時間から5分に更新間隔を変更する。以降、情報取得部26bは、オークションが終了するまで、1時間後ではなく5分間隔でオークション情報の取得を実行する。
ここで、上述した注目度を考慮した更新間隔の制御について処理の流れを説明する。図19は、第2の実施形態に係る更新間隔の更新処理の流れを示すフローチャートである。
図19に示すように、端末装置20の監視部26dは、各DBを参照し、各商品の残り時間を取得する(S301)。そして、監視部26dは、残り時間が閾値以下の商品が無いか判定する。監視部26dによって残り時間が閾値以下のオークション商品が検出された場合(S302:Yes)、間隔変更部26eは、当該オークション情報に対応する商品の注目度を算出する(S303)。一方、監視部26dは、閾値以下の残り時間のオークションが検出されない場合(S302:No)、S301に戻って、残り時間を常時監視する。
続いて、間隔変更部26eは、算出した注目度が閾値以上、すなわち、商品の注目度が高いと判定した場合(S304:Yes)、間隔時間DB24aに格納されている更新間隔を現在の間隔より短い更新間隔に設定する(S305)。なお、S305の後は、S301に戻って以降の処理が繰り返される。一方、間隔変更部26eは、算出した注目度が閾値以下、すなわち、商品の注目度が低いと判定した場合(S304:No)、更新間隔の変更を実行せずに、S301に戻って、残り時間を常時監視する。
第2の実施形態によれば、図18の(A)と(B)とを比較してもわかるように、端末装置20は、オークション終了間際の商品があっても、注目度が低い場合には更新間隔を長い間隔に維持するので、不要なトラフィック量を抑制できる。一方で、端末装置20は、オークション終了間際でかつ、注目度の高い商品がDBにある場合には、頻繁に更新してリアルタイムに情報を取得できる。このように、商品の注目度に応じて更新頻度を調整することができ、トラフィック量の増加も抑制できる。
(第3の実施形態)
ところで、第2の実施形態では、オークション終了間際の商品の注目度に応じて更新間隔を制御する例を説明したが、これに限定されるものではない。例えば、終了間際か否かに関らず、注目度に応じて、更新間隔を随時変更することもできる。そこで、第3の実施形態では、注目度に応じて更新間隔を随時制御するフローチャートを説明する。
図20は、第3の実施形態に係る更新間隔の更新処理の流れを示すフローチャートである。図20に示すように、端末装置20の監視部26dは、各DBを参照し、各商品のオークション終了までの残り時間を取得する(S401)。
そして、監視部26dは、残り時間が閾値以下のオークション商品が検出された場合(S402:Yes)、情報取得部26b及び間隔変更部26eへ通知する。間隔変更部26eは、通知に応じて、間隔時間DB24aに格納されている更新間隔を現在の間隔より短い5分に設定する(S403)。その後は、S401に戻って以降の処理が繰り返される。
一方、監視部26dは、閾値以下の残り時間のオークションが検出されない場合(S402:No)、いずれかのDBが更新されたか否かを判定する(S404)。
そして、監視部26dによっていずれかのDBが更新されたと判定された場合(S404:Yes)、間隔変更部26eは、更新に係る商品の注目度を算出する(S405)。そして、間隔変更部26eは、その商品の注目度が上がっている場合(S406:Yes)、更新間隔を現在の間隔より短い間隔に変更した後(S407)、S401以降を繰り返す。
一方、間隔変更部26eは、注目度に変更がない場合は、現在の更新間隔を維持する。また、間隔変更部26eは、残り時間が閾値以下のオークション商品が検出された場合でも、毎回注目度を算出し、注目度に応じて更新間隔を可変することもできる。
このように、第3の実施形態によれば、ある商品の注目度上昇に応じてオークション情報の更新間隔を可変することができる。このため、端末装置20は、注目度が高く更新が頻繁に発生すると予想される商品についてはリアルタイム性を追求し、注目度に変化がなく更新の派生頻度が少ないと予想される商品についてはトラフィック量の軽減を追及することができる。
(第4の実施形態)
上述した端末装置20は、上記第1の実施形態から第3の実施形態以外にも様々な形態で実施することができる。端末装置20は、オークション情報の更新間隔が頻繁更新モード(5分間隔)の状態のときに、新たに、残り時間が閾値以下になった商品が検出され、残り時間閾値以下の商品が複数になった場合、その複数の商品全てのオークションが終了するまで、頻繁更新モード(5分間隔)を継続し、その全ての商品のオークションが終了した場合に、更新間隔の通常モード(1時間間隔)に変更する。
例えば、商品Aの残り時間が閾値以下になったことによりオークション情報の更新間隔をより短くした状態の時に、商品Bの残り時間が閾値以下になった場合、商品A及び商品Bの両方のオークションが終了したら、オークション情報の更新間隔をより長い時間間隔に変更する。
例を挙げると、商品Aの終了時刻が10:00、商品Bの終了時刻が10:02であったとする。この場合、端末装置20は、10:00の15分前である9:45にオークション情報を更新した後、5分間隔で順に、9:50、9:55、10:00、10:05にオークションサーバ10にアクセスしてオークション情報を取得する。10:05に商品A及びBの両方が終了していれば、更新間隔を1時間に変更して、次回11:05にオークションサーバ10にアクセスする。10:05に商品A及びBのいずれかがオークション延長され継続中であれば、終了するまで5分間隔でオークションサーバ10にアクセスし、終了した時に更新間隔を1時間に変更する。このようにすることで、複数の商品が終了間際になっても、各商品の終了まで各オークション情報を漏らさずに更新することができる。
また別の手法として、商品Aの残り時間が閾値以下になったことによりオークション情報の更新間隔をより短くした状態の時に、商品Bの残り時間が閾値以下になった場合、商品Bの残り時間を基準にして、所定間隔でオークション情報を取得するようにしてもよい。
例を挙げると、商品Aの終了時間が10:00、商品Bの終了時間が10:02であったとする。この場合、端末装置20は、10:00の15分前である9:45にオークション情報を更新した後、10:02分の15分前である9:47にオークション情報を更新する。その後、端末装置20は、商品Bの時間を基準にするので、9:45から5分後ではなく、9:47から5分後の9:52にオークション情報を更新する。さらにその後、端末装置20は、9:52から5分後の9:57と、9:57から5分後の10:02とにオークション情報を更新する。
なお、上記例において、9:47分以降に商品Aの終了時間が延長された場合には、端末装置20は、延長された商品Aを再度基準にしてもよく、商品B終了後に商品Aを基準に変更した後に5分間間隔でオークション情報を更新してもよい。
また、端末装置20は、残り時間が閾値以下のオークション情報を検出した場合に、当該オークション情報に対応するオークション商品についてのみ更新間隔を短くすることもできる。同様に、端末装置20は、残り時間が閾値以下のオークション情報を検出した場合に、当該オークション情報に対応するオークション商品が属する種別についてのみ更新間隔を短くすることもできる。このようにすることで、ユーザが重要度に応じて更新間隔を設定できるので、ユーザの利便性を向上させることができる。
また、上記実施形態では、オークションウィジェット30のタブ35の一例として、ウォッチリストタブ、入札中タブ、出品中タブを例示したが、これに限定されるものではない。例えば、取引タブなどをさらに表示させることもできる。情報取得部26bは、上記実施形態で説明した処理に加え、オークション商品の取引に関するオークション情報を取得し、ウィジェット更新部26cは、取引タブに取引中の商品のリストを表示することもできる。
例えば、「取引」の情報としては、入札中として管理されていた商品のうち落札できた商品の情報と、出品中として管理されていた商品のうち落札された商品の情報とが含まれる。なお、ウィジェット更新部26cは、「取引」に関する情報として、出品者または落札者から取引に関する連絡がオークションサイトのシステムに投稿された旨の情報をオークションサーバ10から取得した場合、その商品については「取引連絡」などのラベルをリストに表示させることもできる。また、ウィジェット更新部26cは、取引中の商品について、落札がキャンセルされ、次点落札者が繰り上げられた場合には、価格の値が更新され、落札額の変更を示すラベルなどを表示させることもできる。
また、実施形態に記載した「部」は、「手段」や「section、module、unit」や「回路」などに読み替えることができる。例えば、情報取得部は、情報取得手段や情報取得回路に読み替えることができる。また、本実施形態について説明したが、上記実施形態は本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物も含まれ、各実施形態を組み合わせることもできる。