JP5484643B1 - データキャッシュシステム、プログラム、記録媒体、及び方法 - Google Patents

データキャッシュシステム、プログラム、記録媒体、及び方法 Download PDF

Info

Publication number
JP5484643B1
JP5484643B1 JP2013555653A JP2013555653A JP5484643B1 JP 5484643 B1 JP5484643 B1 JP 5484643B1 JP 2013555653 A JP2013555653 A JP 2013555653A JP 2013555653 A JP2013555653 A JP 2013555653A JP 5484643 B1 JP5484643 B1 JP 5484643B1
Authority
JP
Japan
Prior art keywords
data
request
cache data
cache
period
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2013555653A
Other languages
English (en)
Other versions
JPWO2014155737A1 (ja
Inventor
昇熙 李
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Rakuten Group Inc
Original Assignee
Rakuten Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Rakuten Inc filed Critical Rakuten Inc
Application granted granted Critical
Publication of JP5484643B1 publication Critical patent/JP5484643B1/ja
Publication of JPWO2014155737A1 publication Critical patent/JPWO2014155737A1/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/60Details of cache memory
    • G06F2212/603Details of cache memory of operating mode, e.g. cache mode or local memory mode

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

データキャッシュシステムを構成する送信装置(300)は、サーバから送信された取引可能な商品又は役務の数量を表す数量データを取得するデータ取得部(315)を備える。送信装置(300)は、取得された数量データをキャッシュデータとして情報記憶部(390)に保存する保存部(320)及び数量の出力を求めるリクエストを取得するリクエスト取得部(330)を備える。送信装置(300)は、リクエストが取得されると、キャッシュデータが受信又は保存された時刻からの経過時間と、キャッシュデータで表される数量と、に基づいて、キャッシュデータが有効であるか否かを判定する判定部(350)、を備える。データ取得部(315)は、キャッシュデータが無効であると判定されると、サーバから新たな数量データを受信し、保存部(320)は、新たな数量データを新たなキャッシュデータとして情報記憶部(390)に保存する。

Description

本発明は、データキャッシュシステム、プログラム、記録媒体、及び方法に関する。
従来から、外部サーバから所定時間間隔でデータを取得し、取得したデータをキャッシュデータとして当該所定時間に亘って保持し、外部装置のリクエストに応じて、保持しているデータを返信するキャッシュサーバが知られている(例えば、特許文献1)。
特許第4815934号公報
ここで、特許文献1の技術では、外部サーバからデータを取得する時間間隔を短くすれば、外部サーバが有するデータとキャッシュデータとの整合性(以下、正確性ともいう)が向上するが、外部サーバとの通信量が増加してしまう。これに対して、時間間隔を長くすれば、外部サーバとの通信量が減少するが、キャッシュデータの正確性が低下してしまうという問題があった。
本発明は、このような問題点に鑑みてなされたものであり、その目的とするところは、通信量の増加を抑制しつつ、キャッシュデータの正確性を向上できるデータキャッシュシステム、プログラム、記録媒体、及び方法を提供することにある。
上記目的を達成するため、本発明の第1の観点に係るデータキャッシュシステムは、
取引可能な商品又は役務の数量を表すデータを記憶部に保存するシステムであって、
前記商品又は前記役務の取引を受け付けるサーバから送信された、取引可能な前記商品又は前記役務の数量を表す数量データを取得するデータ取得部、
前記取得された数量データをキャッシュデータとして前記記憶部に保存する保存部、
取引可能な前記商品又は前記役務の数量を表すデータの出力を求めるリクエストを取得するリクエスト取得部、
前記リクエストが取得されると、前記キャッシュデータが取得又は保存された時刻からの経過時間と、前記キャッシュデータで表される数量と、に基づいて、前記キャッシュデータが有効であるか否かを判定する判定部、を備え、
前記データ取得部は、前記キャッシュデータが無効であると判定されると、前記サーバから送信された新たな数量データを取得し、
前記保存部は、前記取得された新たな数量データを新たなキャッシュデータとして前記記憶部に保存する、
ことを特徴とする。
また、第1の観点に係るデータキャッシュシステムにおいて、
前記キャッシュデータが有効であると判定されると、前記有効と判定されたキャッシュデータを出力し、前記キャッシュデータが無効であると判定されると、前記新たなキャッシュデータを出力するデータ出力部、をさらに備える、
としても良い。
また、第1の観点に係るデータキャッシュシステムにおいて、
前記判定部は、
前記キャッシュデータが有効と判定される期間として予め定められた有効期間を、前記キャッシュデータで表される数量に基づいて延長又は短縮する期間変更部、
前記キャッシュデータが取得又は保存された時刻からの経過時間が、前記延長又は短縮された有効期間以下である場合に、前記キャッシュデータが有効であると判定し、前記経過時間が前記延長又は短縮された有効期間より長い場合に、前記キャッシュデータが無効であると判定する実判定部、を有する、
としても良い。
また、第1の観点に係るデータキャッシュシステムにおいて、
前記期間変更部は、前記キャッシュデータで表される数量が、予め定められた第1閾値以下である場合に、前記有効期間を短縮する、
としても良い。
また、第1の観点に係るデータキャッシュシステムにおいて、
前記期間変更部は、前記キャッシュデータで表される数量が、予め定められた閾値であって、かつ前記第1閾値よりも大きい第2閾値以上である場合に、前記有効期間を延長する、
としても良い。
また、第1の観点に係るデータキャッシュシステムにおいて、
前記データ取得部は、前記出力されたキャッシュデータで数量が表された商品又は役務の取引の申し込みを表す申込データを取得すると、前記申し込みのあった商品若しくは役務の数量データを取得し、
前記申し込みのあった商品又は役務について、前記申込データの取得前に出力されたキャッシュデータで表された数量と、前記申込データの取得後に取得された前記数量データで表される数量と、の相違を算出する算出部、
前記算出された相違が縮小するように、前記第1閾値及び前記第2閾値のいずれか1つ以上を変更する閾値変更部、をさらに備える、
としても良い。
また、第1の観点に係るデータキャッシュシステムにおいて、
前記データ取得部は、商品若しくは役務の検索に用いる検索条件に含まれる検索日と、商品の販売予定日、発送予定日、及び、到着予定日のいずれか1つ以上、又は、役務の提供日と、に基づいて検索された商品若しくは役務の数量を表す数量データを取得し、
前記期間変更部は、前記検索条件を表す検索条件データで表される検索日及び前記検索日までの期間の長さのいずれか1つ以上に基づいて、前記キャッシュデータの有効期間を短縮又は延長する、
としても良い。
また、第1の観点に係るデータキャッシュシステムにおいて、
前記リクエスト取得部は、商品若しくは役務の検索に用いる検索条件と、検索された商品又は役務について取引可能な数量を表すデータの出力を求めるリクエストと、を取得し、
前記データ取得部は、前記検索条件に基づいて検索された複数の商品若しくは役務それぞれについて、前記サーバから送信された取引可能な数量を表す数量データを、取得し、
前記期間変更部は、前記キャッシュデータとして保存された数量データで表される複数の数量のいずれか1つ以上が予め定められた第3閾値以下であると、前記第3閾値よりも大きい数量を表すキャッシュデータの有効期間を短縮する、
としても良い。
上記目的を達成するため、本発明の第2の観点に係るプログラムは、
取引可能な商品又は役務の数量を表すデータを記憶部に保存するプログラムであって、
コンピュータを、
前記商品又は前記役務の取引を受け付けるサーバから送信された、取引可能な前記商品又は前記役務の数量を表す数量データを取得するデータ取得部、
前記取得された数量データをキャッシュデータとして前記記憶部に保存する保存部、
取引可能な前記商品又は前記役務の数量を表すデータの出力を求めるリクエストを取得するリクエスト取得部、
前記リクエストが取得されると、前記キャッシュデータが取得又は保存された時刻からの経過時間と、前記キャッシュデータで表される数量と、に基づいて、前記キャッシュデータが有効であるか否かを判定する判定部、として機能させ、
前記データ取得部は、前記キャッシュデータが無効であると判定されると、前記サーバから送信された新たな数量データを取得し、
前記保存部は、前記取得された新たな数量データを新たなキャッシュデータとして前記記憶部に保存する、
ことを特徴とする。
上記目的を達成するため、本発明の第3の観点に係るコンピュータ読み取り可能な記録媒体は、
取引可能な商品又は役務の数量を表すデータを記憶部に保存するプログラムであって、
コンピュータを、
前記商品又は前記役務の取引を受け付けるサーバから送信された、取引可能な前記商品又は前記役務の数量を表す数量データを取得するデータ取得部、
前記取得された数量データをキャッシュデータとして前記記憶部に保存する保存部、
取引可能な前記商品又は前記役務の数量を表すデータの出力を求めるリクエストを取得するリクエスト取得部、
前記リクエストが取得されると、前記キャッシュデータが取得又は保存された時刻からの経過時間と、前記キャッシュデータで表される数量と、に基づいて、前記キャッシュデータが有効であるか否かを判定する判定部、として機能させ、
前記データ取得部は、前記キャッシュデータが無効であると判定されると、前記サーバから送信された新たな数量データを取得し、
前記保存部は、前記取得された新たな数量データを新たなキャッシュデータとして前記記憶部に保存する、
ことを特徴とするプログラムを記録している。
上記目的を達成するため、本発明の第4の観点に係る方法は、
取引可能な商品又は役務の数量を表すデータを記憶部に保存する方法であって、
前記商品又は前記役務の取引を受け付けるサーバから送信された、取引可能な前記商品又は前記役務の数量を表す数量データを取得するデータ取得ステップ、
前記取得された数量データをキャッシュデータとして前記記憶部に保存する保存ステップ、
取引可能な前記商品又は前記役務の数量を表すデータの出力を求めるリクエストを取得するリクエスト取得ステップ、
前記リクエストが取得されると、前記キャッシュデータが取得又は保存された時刻からの経過時間と、前記キャッシュデータで表される数量と、に基づいて、前記キャッシュデータが有効であるか否かを判定する判定ステップ、
前記キャッシュデータが無効であると判定されると、前記サーバから送信された新たな数量データを取得するデータ再取得ステップ、
前記取得された新たな数量データを新たなキャッシュデータとして前記記憶部に保存する再保存ステップ、を有する、
ことを特徴とする。
本発明に係るデータキャッシュシステム、プログラム、記録媒体、及び方法によれば、通信量の増加を抑制しつつ、キャッシュデータの正確性を向上できる。
データキャッシュシステムの一構成例を表すシステム構成図である。 検索画面の一例を表す図である。 問合中画面の一例を表す図である。 検索結果表示画面の一例を表す図である。 送信装置の一例を表すハードウェア構成図である。 実施例1に係る送信装置が実行する検索結果出力処理の一例を表すフローチャートである。 実施例1に係る送信装置が有する機能の一例を表す機能ブロック図である。 実施例1に係る送信装置が記憶するキャッシュテーブルの一例を表す図である。 実施例1に係る送信装置が実行する判定処理の一例を表すフローチャートである。 実施例2に係る送信装置が記憶する繁忙期テーブルの一例を表す図である。 実施例2に係る送信装置が実行する判定処理の一部を表すフローチャートである。 実施例3に係る送信装置が実行する閾値変更処理の一例を表すフローチャートである。 実施例3に係る送信装置が有する機能の一例を表す機能ブロック図である。 実施例4に係る送信装置が実行する検索結果出力処理の一例を表すフローチャートである。 実施例4に係る送信装置が記憶するキャッシュテーブルの一例を表す図である。 実施例4に係る送信装置が実行する判定処理の一例を表すフローチャートである。
以下、本発明の実施例について添付図面を参照しつつ説明する。
<実施例1>
本発明の実施例1に係るデータキャッシュシステム1は、取引可能な役務の数量を提示する。
ここで、役務とは、他人のために行う労務又は便益であって、独立して商取引の目的たりうべきものをいう。本実施例では、役務の一例として、ユーザをある日にある場所から他の場所へある航空機で送り届ける航空便を挙げて説明する。本実施例では、航空便が異なれば(つまり、出発日、出発地、到着地、及び、航空機のいずれか1つでも異なれば)、異なる役務であるとして説明を行う。このため、ある航空便について提供できる数量というときは、その航空便の空席数をいうとして説明する。
本実施例では、取引の一例として、役務の提供を予約する取引を挙げて説明する。役務の提供を予約する取引の一例として、航空便の空席を予約する取引、すなわち、航空券の発行予約をする取引、を挙げて説明する。尚、航空便は、出発地と到着地とが同じ国の地点である国内航空便であっても良いし、出発地と到着地とが異なる国の地点である海外航空便であっても良い。このため、発行予約される航空券は、国内航空便の航空券である国内航空券でも良いし、海外航空便の航空券である海外航空券でも良い。
データキャッシュシステム1は、コンピュータ通信網10(以下単に、通信網10という)で互いに通信可能に接続された、端末装置110及び120と、取引サーバ200と、送信装置300と、で構成される。
通信網10は、例えば、インターネットで構成される。通信網10は、LAN(Local Area Network)又は公衆回線網であっても良い。
端末装置110は、例えば、キーボード及びマウスなどの入力部111と、LCD(Liquid Crystal Display)などの提示部119と、を備えたパーソナル・コンピュータで構成される。端末装置120は、端末装置110の有する入力部111及び提示部119と同様の構成を有する入力部121及び提示部129で構成される。
端末装置110及び120は、互いに同様の構成を有し、同様の動作を行うため、以下主に、端末装置110について説明を行う。
端末装置110は、図2に示すような検索画面を表示する。検索画面は、予約可能な航空便の空席数を検索するために用いられる。端末装置110は、入力部111をユーザに操作されると、当該操作に応じて航空便の検索条件を入力し、入力された検索条件を表すデータ(以下、検索条件データという)を送信装置300へ送信する。
その後、端末装置110は、図3に示すような問合中画面を表示する。問合中画面は、データを問い合わせていることを表す。次に、端末装置110は、送信装置300から、航空便の空席を含む検索結果を表すデータ(以下、検索結果データ)を受信すると、問合中画面の表示を終了する。このため、検索条件データの送信から、検索結果データの受信までに時間がかかると、ユーザには、問合中画面が提示され続けるため、ユーザの利便性が低下する。
その後、端末装置110は、受信したデータに基づいて図4に示すような検索結果表示画面を提示部119に表示する。検索結果表示画面は、検索条件に基づいて予約可能な航空便の空席数を検索した結果を表す。
取引サーバ200は、送信装置300から検索条件データを受信する。次に、取引サーバ200は、検索条件データで表される検索条件にマッチする航空便の空席数や航空便を識別する番号(以下、フライトナンバーという)などを表すデータ(つまり、検索結果データ)を送信装置300へ返信する。
また、取引サーバ200は、送信装置300から、フライトナンバーと、航空便を予約するユーザを識別する情報(以下、ユーザIDという)と、を受信する。次に、取引サーバ200は、フライトナンバーで識別される航空便に空席が存在するか否かを確認する。その後、取引サーバ200は、空席が存在すると確認すると、ユーザIDで識別されるユーザによる当該航空便の予約を受け付ける。
送信装置300は、図5に示すようなサーバ機で構成される。送信装置300は、CPU(Central Processing Unit)301、ROM(Read Only Memory)302、RAM(Random Access Memory)303、ハードディスク304、メディアコントローラ305、LAN(Local Area Network)カード306、ビデオカード307、LCD(Liquid Crystal Display)308、キーボード309、スピーカ310、及びタッチパッド311で構成される。
CPU301は、ROM302又はハードディスク304に保存されたプログラムに従ってプログラムを実行することで、送信装置300の全体制御を行う。RAM303は、CPU301によるプログラムの実行時において、処理対象とするデータを一時的に記憶するワークメモリである。
ハードディスク304は、各種のデータを保存したテーブルを記憶する情報記憶部である。尚、送信装置300は、ハードディスク304の代わりに、フラッシュメモリを備えても良い。
メディアコントローラ305は、フラッシュメモリ、CD(Compact Disc)、DVD(Digital Versatile Disc)、及びブルーレイディスク(Blu-ray(登録商標) Disc)を含む記録媒体から各種のデータ及びプログラムを読み出す。
LANカード306は、通信網10を介して接続する端末装置110及び120との間でデータを送受信する。キーボード309及びタッチパッド311は、ユーザの操作に応じた信号を入力する。
ビデオカード307は、CPU301から出力されたデジタル信号に基づいて画像を描画(つまり、レンダリング)すると共に、描画された画像を表す画像信号を出力する。LCD308は、ビデオカード307から出力された画像信号に従って画像を表示する。尚、送信装置300は、LCD308の代わりに、PDP(Plasma Display Panel)又はEL(Electroluminescence)ディスプレイを備えても良い。スピーカ310は、CPU301から出力された信号に基づいて音声を出力する。
次に、送信装置300の有する機能について説明する。
CPU301は、図6に示す検索結果出力処理を実行する。検索結果出力処理は、航空便の検索結果を表すデータ(つまり、検索結果データ)を、端末装置110又は120を宛先にして、図5に示したLANカード306に出力する処理である。LANカード306は、出力された検索結果データを宛先として指定された端末装置110又は120へ送信する。
この処理の実行により、CPU301は、図7に示すデータ取得部315、保存部320、リクエスト取得部330、検索部340、判定部350、及びデータ出力部360として機能する。また、図4に示したハードディスク304は、CPU301と協働して、情報記憶部390として機能する。
データ取得部315、保存部320、リクエスト取得部330、検索部340、判定部350、及びデータ出力部360について説明する前に、情報記憶部390について説明する。
情報記憶部390は、図8に示すようなキャッシュテーブルを記憶している。キャッシュテーブルには、取引サーバ200から受信した検索結果データがキャッシュデータとして保存される。キャッシュテーブルには、に、キャッシュデータの保存日時を表す情報と、キャッシュデータと、が対応付けられて複数保存される。キャッシュデータとして保存される検索結果データは、航空便の出発日、出発地、到着地、フライトナンバー、航空会社、及び空席数をそれぞれ表す情報が対応付けられたデータである。
データ取得部315は、図5に示したLANカード306が取引サーバ200から受信した検索結果データを、LANカード306から取得する。
保存部320は、データ取得部315が取得した検索結果データをキャッシュデータとして、情報記憶部390のキャッシュテーブルへ保存する。
リクエスト取得部330は、検索条件データと、検索された航空便の予約可能な空席数を表すデータの送信を求める送信リクエストと、を端末装置110又は120からLANカード306が受信すると、検索条件データと送信リクエストとをLANカード306から取得する。
検索部340は、検索条件データで表される検索条件に基づいて、キャッシュテーブルに保存されたキャッシュデータを検索する。
判定部350は、検索部340が検索したキャッシュデータが有効であるか否かを判定する。キャッシュデータが有効であるとは、当該キャッシュデータの検索に用いられた検索条件で、判定時において取引サーバ200が航空便の空席数を検索した場合に、空席数が存在する又は空席数が所定数よりも多く存在する確率が所定の確率値よりも高いことをいう。すなわち、当該キャッシュデータで空席数が表される航空便について1席又は所定数の席の予約を、判定時に取引サーバ200へ申し込んだ場合に、1又は所定数以上の空席が存在するため、取引サーバ200が当該申し込みを受け付けられる確率が所定の確率値よりも高いことをいう。尚、当業者は、この所定の確率値の好適な値を実験により定めることができる。
判定部350は、キャッシュデータが有効であるか否かの判定を、キャッシュデータの保存時刻からの経過時間と、キャッシュデータで表される空席数と、に基づいて行う。
判定部350は、期間変更部351と実判定部352とを有する。期間変更部351は、キャッシュデータが有効と判定される期間(以下、有効期間という)を予め定められた期間(以下、設定有効期間という)とする。期間変更部351は、設定有効期間とした有効期間を、キャッシュデータで表される数量に基づいて延長又は短縮する。尚、設定有効期間を表す情報は、情報記憶部390に予め記憶されている。
実判定部352は、キャッシュデータの保存時刻からの経過時間が、延長又は短縮された有効期間以下である場合に、キャッシュデータが有効であると判定する。これに対して、実判定部352は、経過時間が延長又は短縮された有効期間より長い場合に、キャッシュデータが無効であると判定する。
データ出力部360は、キャッシュデータが有効であると判定されると、有効と判定されたキャッシュデータを、端末装置110又は120を宛先としてLANカード306へ出力する。
これに対して、データ出力部360は、キャッシュデータが無効であると判定されると、キャッシュデータの検索に用いられた検索条件データを、取引サーバ200を宛先としてLANカード306へ出力する。その後、データ取得部315が、取引サーバ200から送信された新たな検索結果データを取得し、保存部320が新たな検索結果データをキャッシュデータとして情報記憶部390へ保存すると、新たなキャッシュデータをLANカード306へ出力する。
CPU301は、LANカード306が検索条件データと送信リクエストとを端末装置110又は120から受信すると、図6に示す検索結果出力処理の実行を開始する。
ここでは、送信装置300が、初めて検索条件データと送信リクエストとを受信した場合を例に挙げて説明を行う。この検索条件データと送信リクエストとを送信装置300に送信したのは、端末装置110であり、送信装置300が、この検索条件データと送信リクエストとを受信したとき、図8に示したキャッシュテーブルにはいかなるデータも保存されていないとして説明を行う。
先ず、リクエスト取得部315は、LANカード306から検索条件データと送信リクエストとを取得する(ステップS01)。
ここでは、検索条件データで表される検索条件が、「出発地が羽田で、到着地が札幌で、かつ出発日が2013年3月1日」である場合を例に挙げて説明する。
次に、検索部340は、取得された検索条件データで表される検索条件に基づいて、情報記憶部390が記憶するキャッシュテーブルからキャッシュデータを検索する(ステップS02)。このとき、キャッシュテーブルにはいかなるデータも保存されていないため、検索部340は、キャッシュデータを検索できない。
その後、判定部350は、キャッシュデータを検索できなかったと判定する(ステップS03;No)。
データ出力部360は、ステップS01で取得された検索条件データを、取引サーバ200を宛先としてLANカード306へ出力する(ステップS06)。その後、LANカード306は、検索条件データを取引サーバ200へ送信する。
以下、取引サーバ200は、受信した検索条件データで表される検索条件「出発地が羽田で、到着地が札幌で、出発日が2013年3月1日」にマッチする1つの航空便を検索し、検索された航空便には、6席の空席があるとして説明を行う。
LANカード306は、取引サーバ200が検索した航空便の空席数などを表す検索結果データを、取引サーバ200から受信する。LANカード306が検索結果データを受信すると、データ取得部315は、LANカード306から検索結果データを取得する(ステップS07)。
次に、保存部320は、例えば、OS(Operating System)から現在日時を取得する。その後、保存部320は、取得された検索結果データをキャッシュデータとし、取得した現在日時をキャッシュデータの保存日時とする。次に、保存部320は、キャッシュデータと保存日時を表す情報とを対応付けて、図8に示すキャッシュテーブルに保存する(ステップS08)。
その後、データ出力部360は、ステップS08で保存されたキャッシュデータを、端末装置110を宛先としてLANカード306へ出力した後に(ステップS09)、検索結果出力処理の実行を終了する。尚、LANカード306は、出力されたキャッシュデータを端末装置110へ送信する。
次に、端末装置110が検索条件データと送信リクエストとを送信装置300へ送信してから5分後に、端末装置110が送信した検索条件データと同じ検索条件データと送信リクエストとを、端末装置120が送信装置300へ送信したとして説明を行う。
LANカード306が端末装置120から検索条件データと送信リクエストとを受信すると、図6の検索結果出力処理が再実行される。
先ず、既に説明したステップS01の処理が実行される。次に、検索部340は、検索条件「出発地が羽田で、到着地が札幌で、かつ出発日が2013年3月1日」に基づいて、情報記憶部390が記憶するキャッシュテーブルからキャッシュデータを検索する(ステップS02)。
このとき、情報記憶部390には、前回に保存された1件のキャッシュデータが保存されている。この保存されたキャッシュデータデータは、出発地が羽田、到着地が札幌、及び出発日が2013年3月1日の全てを表す。このため、検索部340は、当該キャッシュデータを検索により取得する。
その後、判定部350は、キャッシュデータを検索できたと判定する(ステップS03;Yes)。
次に、判定部350は、図9に示す有効性判定処理を実行する(ステップS04)。有効性判定処理は、検索されたキャッシュデータが有効であるか否かを判定する処理である。
有効性判定処理の実行を開始すると、判定部350の期間変更部351は、情報記憶部390に保存されている設定有効期間を表す情報を読み出す。
本実施例では、設定有効期間は、30分に設定されているとして説明を行うが、これに限定される訳ではない。当業者は、実験により設定有効期間の好適な値を定めることができる。
次に、期間変更部351は、キャッシュデータの有効期間を設定有効期間とする(ステップS11)。
その後、期間変更部351は、キャッシュデータで表される空席数が値0より多く、かつ、空席数が第1閾値以下であるか否かを判定する(ステップS12)。
ここで、第1閾値は、キャッシュデータが保存されてから設定有効期間を経過するまでに予約されると予想される席数である。本実施例では、第1閾値は、6席であるとして説明を行うが、これに限定される訳ではない。当業者は、実験などにより第1閾値の好適な値を定めることができる。例えば、複数の時点間における空席数から、単位時間当たりの空席数の減少量の平均値を算出し、算出した平均値に設定有効期間長を乗算した値を第1閾値としてもいい。
ここでは、検索されたキャッシュデータは、空席数3を表すため、期間変更部351は、空席数が値0より多く、かつ、空席数が第1閾値の6席以下であると判定する(ステップS12;Yes)。
次に、期間変更部351は、情報記憶部390に予め保存されている短縮時間を表す情報を読み出す。次に、期間変更部351は、キャッシュデータの有効期間を短縮時間分だけ短くした短縮有効期間とする(ステップS13)。
本実施例では、短縮時間は、15分に設定されており、短縮有効期間は、有効期間30分から短縮時間15分だけ短い15分である、として説明を行う。しかし、これに限定される訳ではなく、当業者は、実験により短縮時間の好適な値を定めることができる。
次に、実判定部352は、OSから現在日時を取得する。その後、実判定部352は、ステップS03で検索されたキャッシュデータに対応付けられた情報で表される保存日時を、図8に示すキャッシュテーブルから取得する。次に、実判定部352は、現在日時から保存日時を減算することで、キャッシュデータの保存日時からの経過時間を算出する(ステップS14)。
その後、実判定部352は、経過時間長がキャッシュデータの有効期間長以下であるか否かを判別する(ステップS15)。
ここで、端末装置120は、端末装置110が検索条件データと送信リクエストとを送信装置300へ送信してから5分後に、端末装置110が送信した検索条件データと同じ検索条件データと送信リクエストとを送信装置300へ送信した。このため、経過時間は、約5分である。
このため、実判定部352は、経過時間約5分は、キャッシュデータの有効期間15分よりも短いと判定し(ステップS15;Yes)、キャッシュデータが有効であると判定する(ステップS16)。
ステップS04の実行により、判定部350は、キャッシュデータが無効でない(つまり、有効である)と判定した(ステップS05;No)。このため、ステップS06からステップS08の通信処理が実行されない。判定部350の判定後、直ちに、データ出力部360は、ステップS02で検索されたキャッシュデータを、端末装置120を宛先に指定してLANカード306へ出力する(ステップS09)。その後、検索結果出力処理の実行が終了される。
このため、端末装置120が、検索条件データと送信リクエストを送信してから、キャッシュデータを検索結果データとして受信するまでの時間が短縮され、図3に示す問合中画面が表示される時間が短くなる。
次に、検索条件データと送信リクエストとが最初に(つまり、前々回に)送信装置300へ送信されてから25分後に、端末装置110が、前々回と同じ検索条件データと送信リクエストとを送信装置300へ送信したとして説明を行う。
LANカード306が端末装置110から検索条件データと送信リクエストとを受信すると、検索結果出力処理の実行が開始され、既に説明したステップS01及びステップS02の処理が実行される。これにより、前々回に保存された1件のキャッシュデータが検索される。
その後、判定部350は、キャッシュデータを検索できたと判定し(ステップS03;Yes)、図9に示す有効性判定処理を実行する(ステップS04)。
有効性判定処理の実行を開始すると、判定部350の期間変更部351は、ステップS11からステップS15の処理を実行する。
ここで、端末装置120は、検索条件データと送信リクエストとが最初に送信装置300へ送信されてから25分後に、当該検索条件データと同じ検索条件データと送信リクエストとを送信装置300へ送信した。このため、経過時間は、約25分である。
このため、実判定部352は、経過時間約25分は、キャッシュデータの有効期間15分よりも長いと判定し(ステップS15;No)、キャッシュデータが無効であると判定する(ステップS17)。
図6のステップS04の実行により、判定部350は、キャッシュデータが無効であると判定した(ステップS05;Yes)。このため、ステップS06からステップS08の処理が実行された後に、データ出力部360は、ステップS07で新たに取得された検索結果データを、端末装置110を宛先に指定してLANカード306へ出力する(ステップS09)。その後、検索結果出力処理の実行が終了される。このため、端末装置120に送信される検索条件データの正確性が向上する。
次に、端末装置110が、新たな検索条件「出発地が羽田で、到着地が広島で、かつ出発日が2013年3月31日」を表す検索条件データと送信リクエストとを送信したとして説明を行う。
LANカード306が新たな検索条件データと送信リクエストとを受信すると、図6に示す検索結果出力処理の実行が開始される。
先ず、ステップS01の処理が実行されてから、検索部340は、新たな検索条件データで表される検索条件に基づいて、情報記憶部390が記憶するキャッシュテーブルからキャッシュデータを検索する(ステップS02)。このとき、新たな検索条件にマッチするキャッシュデータは、キャッシュテーブルに保存されていない。
その後、ステップS03及びステップS06の処理が実行され、新たな検索条件データが取引サーバ200へ送信される。
以下、取引サーバ200は、受信した検索条件データで表される検索条件「出発地が羽田で、到着地が広島で、出発日が2013年3月31日」にマッチする1つの航空便を検索し、検索された航空便には、12席の空席があるとして説明を行う。
データ取得部315は、LANカード306が取引サーバ200から受信した検索結果データを取得し(ステップS07)、保存部320は、検索結果データをキャッシュデータとして、保存日時を表す情報とを対応付け、図8のキャッシュテーブルに保存する(ステップS08)。
その後、データ出力部360は、保存されたキャッシュデータを、端末装置110を宛先としてLANカード306へ出力した後に(ステップS09)、検索結果出力処理の実行を終了する。
次に、端末装置110が新たな検索条件データと送信リクエストとを送信装置300へ送信してから35分後に、前回に送信した新たな検索条件データと同じ検索条件データと送信リクエストとを、端末装置120が送信装置300へ送信したとして説明を行う。
LANカード306が端末装置120から検索条件データと送信リクエストとを受信すると、検索結果出力処理が実行される。
先ず、既に説明したステップS01の処理が実行され、検索部340が、前回に保存された1件のキャッシュデータをキャッシュテーブルから検索する(ステップS02)。このキャッシュデータは、空席数が12席であることを表す。
その後、判定部350は、ステップS03の処理を実行した後に、図9に示す有効性判定処理を実行する(ステップS04)。
有効性判定処理の実行を開始すると、判定部350の期間変更部351は、ステップS11の処理を実行した後に、キャッシュデータが表す空席数12席は、値0より多いが、第1閾値以下ではないと判定する(ステップS12;No)。本実施例において、第1閾値は6席であるとして説明するためである。
次に、期間変更部351は、キャッシュデータが表す空席数が、値0であるか又は第2閾値以上であるか否かを判定する(ステップS12)。
ここで、第2閾値は、キャッシュデータが保存されてから延長有効期間を経過するまでに予約されると予想される席数である。尚、延長有効期間とは、設定有効期間を予め定められた延長時間だけ延長した期間をいう。
本実施例では、延長時間は、15分に設定されており、延長有効期間は、有効期間30分から延長時間15分だけ長い45分である、として説明を行う。しかし、これに限定される訳ではなく、当業者は、実験により延長時間の好適な値を定めることができる。
また本実施例では、第2閾値は、12席であるとして説明を行う。しかし、これに限定される訳ではない。当業者は、実験などにより第1閾値の好適な値を定めることができる。例えば、上記の方法で単位時間当たりの空席数の減少量の平均値を算出し、算出した平均値に延長有効期間長を乗算した値を第2閾値としても良い。
このとき、キャッシュデータが表す空席数は12席であるので、期間変更部351は、キャッシュデータが表す空席数が0席ではないが、第2閾値以上であると判定する(ステップS18;Yes)。
次に、期間変更部351は、情報記憶部390に予め保存されている延長時間を表す情報を読み出す。次に、期間変更部351は、キャッシュデータの有効期間を延長時間分だけ長くした延長有効期間とする(ステップS19)。
ここで、端末装置120は、端末装置110が新たな検索条件データと送信リクエストとを送信装置300へ送信してから35分後に、同じ検索条件データと送信リクエストとを送信装置300へ送信した。このため、経過時間は、約35分である。
実判定部352は、経過時間約35分は、キャッシュデータの有効期間45分よりも短いと判定し(ステップS15;Yes)、キャッシュデータが有効であると判定する(ステップS16)。
ステップS04の実行により、判定部350は、キャッシュデータが無効でない(つまり、有効である)と判定したため(ステップS05;No)、ステップS06からステップS08の通信処理が実行されない。判定部350の判定後、直ちに、データ出力部360は、ステップS02で検索されたキャッシュデータを、端末装置120を宛先に指定してLANカード306へ出力する(ステップS09)。その後、検索結果出力処理の実行が終了される。
このため、図3に示す問合中画面が端末装置120に表示される時間が短くなり、かつ図4に示す検索結果画面に正確性が高い検索結果を表示させることができる。
尚、図6のステップS02で検索されたキャッシュデータが空席数0を表す場合、期間変更部351は、図9のステップS18の条件が満足されると判定し、ステップS19でキャッシュデータの有効期間を延長有効期間とする。これは、空席数0となった後には、予約のキャンセルがある、又は、別の航空便の予約が開始されるなど、設定有効期間内で生じる確率が非常に低いイベントが生じない限り、空席数が変化しないためである。
また、図6のステップS02で検索されたキャッシュデータで表される空席数が、第1閾値よりも多く、かつ第2閾値よりも少ない場合、期間変更部351は、図9のステップS18の条件が満足されないと判定し(ステップS18;No)、キャッシュデータの有効期間を設定有効期間のままとする。設定有効期間を調整する必要がないためである。
本実施例に係るデータキャッシュシステム1は、取引可能な役務の数量を提示すると説明したが、これに限定される訳ではない。データキャッシュシステム1は、取引可能な商品の数量を提示しても良い。
ここで、商品とは、商取引の目的たりうべきものをいう。本実施例では、商品は、動産に限定されるのではなく、不動産も含むとして説明する。
本実施例では、取引サーバ200は、検索条件データを受信すると、検索条件データで表される検索条件に基づいて検索した役務の取引可能な数量などを表す検索結果データを返信するとして説明した。また本実施例では、航空便の検索に用いられる検索条件は、航空機の出発日を特定の日に指定する条件を含むとして説明した。しかし、これに限定される訳でなく、取引サーバ200は、検索条件データを受信すると、検索条件データで表される検索条件に基づいて検索した商品の取引可能な数量などを表す検索結果データを返信するとしても良い。また、検索条件は、商品の販売予定日、発送予定日、及び、到着予定日のいずれか1つ以上を特定の日に指定する条件を含んでも良い。
また本実施例では、取引の一例として、役務の提供を予約する取引を挙げて説明した。しかし、これに限定される訳でなく、取引の一例としては、商品を売買する取引、商品の販売又は購入を予約する取引が挙げられる。
本実施例では、データ取得部315は、検索結果データを取得し、保存部320は、検索結果データをキャッシュデータ図8に示すキャッシュテーブルに、として、キャッシュデータの保存日時を表す情報とを対応付けて保存すると説明した。また、判定部350は、キャッシュデータが有効であるか否かの判定を、キャッシュテーブルに保存されたキャッシュデータの保存時刻からの経過時間と、キャッシュデータで表される空席数と、に基づいて行うとして説明した。
しかし、これに限定される訳ではなく、データ取得部315、保存部320、判定部350について、以下の構成を採用できる。データ取得部315が、検索結果データを取得するとOSから現在日時を取得し、取得した日時を検索結果データの取得日時とする構成。保存部320が、キャッシュテーブルに、検索結果データをキャッシュデータとして、検索結果データの取得日時を表す情報とを対応付けて保存する構成。判定部350が、キャッシュデータが有効であるか否かの判定を、キャッシュテーブルに保存されたキャッシュデータとして保存された検索結果データの取得時刻からの経過時間と、キャッシュデータで表される空席数と、に基づいて行う構成。
これらの構成によれば、キャッシュデータが取得又は保存された時刻からの経過時間と、キャッシュデータで表される数量と、に基づいて、キャッシュデータが無効であると判定されると、取引サーバ200から送信された新たな検索結果データが新たなキャッシュデータとして情報記憶部390に保存される。このため、通信量の増加を抑制しつつ、キャッシュデータの正確性を向上できる。
これらの構成によれば、キャッシュデータが有効であると判定されると、有効と判定されたキャッシュデータを出力し、キャッシュデータが無効であると判定されると、新たなキャッシュデータを出力する。このため、キャッシュデータが有効であると判定されると、取引サーバ200から検索結果データを取得せずに、既に記憶されているキャッシュデータを直ちに出力する。このため、通信量の増加を抑制するだけでなく、データの送信に要する時間の増加を抑制しながら、従来よりも正確性が高いデータを送信できる。
<実施例2>
本実施例では、検索条件データで表された検索日及び検索日までの期間の長さのいずれか1つ以上に基づいて、検索条件データで表される検索条件に基づいて検索されたキャッシュデータの有効期間を短縮又は延長する。
本実施例に係るデータキャッシュシステム1や送信装置300は、実施例1で説明したデータキャッシュシステム1や送信装置300と同様の構成を有し、同様に動作し、同様の機能を有する。このため、以下、本実施例に係るデータキャッシュシステム1や送信装置300と、実施例1で説明したデータキャッシュシステム1や送信装置300と、の相違について説明する。
本実施例に係る送信装置300は、図10に示すような繁忙期テーブルを記憶している。繁忙期テーブルには、旅行客の多い時期である繁忙期の名称(以下、繁忙期名という)を表す情報と、繁忙期の開始日を表す情報と、繁忙期の終了日を表す情報と、を対応付けたデータが、予め複数保存されている。
本実施例に係る送信装置300は、実施例1に係る送信装置300と同様に、図6に示した検索結果出力処理を実行する。しかし、本実施例に係る送信装置300は、検索結果出力処理のステップS04において、図10に示した繁忙期テーブルを用いて、図9に示した判定処理とほぼ同様の処理を実行する。
実施例1に係る送信装置300は、繁忙期テーブルを用いずに、図9に示した判定処理を実行する。このため、以下、実施例1に係る判定処理と、本実施例に係る判定処理と、の相違について主に説明する。
実施例1に係る送信装置300の期間変更部351は、図9に示した判定処理のステップS12及びステップS13において、キャッシュデータで表される空席数が、第1閾値より大きく、かつ第2閾値よりも少ないと判定すると(ステップS18;No)、キャッシュデータの有効期間を設定有効期間のまま変更せずに、ステップS14以降の処理を実行する。
これに対して、本実施例に係る送信装置300の期間変更部351は、キャッシュデータで表される空席数が、第1閾値より大きく、かつ第2閾値よりも少ないと判定すると(ステップS18;No)、図11に示すステップS21の処理を実行する。
ステップS21において、期間変更部351は、ステップS02で取得された検索条件データから、当該検索条件データで表される検索条件に含まれる検索日を取得する。次に、期間変更部351は、検索日を含む繁忙期を検索する(ステップS21)。ステップS21の処理は、例えば、期間変更部351が、検索日以前の開始日を表す情報と、検索日以後の終了日を表す情報と、に対応付けられた繁忙期名を表す情報を、図10に示した繁忙期テーブルから検索する処理である。
次に、期間変更部351は、ステップS21で繁忙期が検索されたか否かに基づいて、検索日が繁忙期であるか否かを判定する(ステップS22)。このとき、期間変更部351は、繁忙期が検索された場合には、検索日が繁忙期であると判定し、繁忙期が検索されなかった場合には、検索日が繁忙期でないと判定する。
ステップS22において、期間変更部351は、検索日が繁忙期であると判別すると(ステップS22;Yes)、キャッシュデータの有効期間を短縮有効期間とする(ステップS23)。繁忙期は、単位時間当たりの予約量が、繁忙期でない期間よりも多いからである。
ステップS22において、期間変更部351は、検索日が繁忙期でないと判別すると(ステップS22;No)、OSから現在日時を取得し、現在日時から検索日までの残日数を算出する(ステップS24)。
その後、期間変更部351は、設定日数を表す情報を情報記憶部390から読み出す。次に、残日数が、読み出した情報で表される設定日数以下であるか否かを判別する(ステップS25)。
通常、単位時間当たりの航空便の予約数量は、例えば、出発日などの検索日が近づくにつれて増加する。このため、残日数が設定日数以下の場合の単位時間当たりの航空便の予約数量と、残日数が設定日数より多い場合の単位時間当たりの航空便の予約数量と、の差異が所定値以上となるように、設定日数は、設定されている。
本実施例では、残日数が設定日数以下の場合の単位時間当たりの航空便の予約数量が、残日数が設定日数より多い場合の単位時間当たりの航空便の予約数量の倍となるように設定日数が設定されているとして説明を行。しかし、これに限定される訳ではなく、当業者は実験により好適な設定日数を定めることができる。
ステップS25において、期間変更部351は、残日数が設定日数以下であると判別すると(ステップS25;Yes)、キャッシュデータの有効期間を短縮有効期間とする(ステップS23)。
これに対して、期間変更部351は、残日数が設定日数以下でないと判別すると(ステップS25;No)、キャッシュデータの有効期間を延長有効期間とする(ステップS26)。
ステップS23又はステップS26を実行した後に、図9のステップS14及びそれ以降のステップが実行されると、判定処理の実行が終了される。
尚、図11に示したステップS21及びステップS22の実行を省略することで、検索日に基づかないが、検索日までの期間の長さに基づいて、キャッシュデータの有効期間を短縮又は延長しても良い。
また、図11に示したステップS24及びステップS25の実行を省略することで、検索日までの期間の長さに基づかないが、検索日に基づいて、キャッシュデータの有効期間を短縮又は延長しても良い。
本実施例では、航空便の検索に用いられる検索条件は、航空機の出発日を特定の日に指定する条件を含むとして説明した。しかし、これに限定される訳でなく、検索条件は、商品の販売予定日、発送予定日、及び、到着予定日のいずれか1つ以上を特定の日に指定する条件を含んでも良い。
ここで、役務又は商品の取引量は、例えば、役務の提供日、並びに、商品の販売予定日、発送予定日、及び、到着予定日などの検索日として指定される日に依存して変化することが多い。また、役務又は商品の取引量は、検索日として指定される日までの残日数に依存して変化することが多い。このため、これらの構成によれば、検索条件データで表された検索日及び検索日までの期間の長さのいずれか1つ以上に基づいて、キャッシュデータの有効期間を短縮又は延長するので、キャッシュデータが有効であるか否かを精度良く判定できる。
<実施例3>
本実施例では、航空便の予約が申し込まれる前に送信されたキャッシュデータで表される空席数と、申し込み後に取得された検索結果データで表される空席数と、の相違が縮小するように、キャッシュデータの有効期間を延長若しくは縮小するために用いられる第1閾値及び第2閾値を変更する。
本実施例に係るデータキャッシュシステム1や送信装置300は、実施例1で説明したデータキャッシュシステム1や送信装置300と同様の構成を有し、同様に動作し、同様の機能を有する。このため、以下、本実施例に係るデータキャッシュシステム1や送信装置300と、実施例1で説明したデータキャッシュシステム1や送信装置300と、の相違について説明する。
以下、端末装置110は、航空便の検索条件を表す検索条件データと、検索条件に基づいて検索された航空便の空席数などを表すデータを送信するように求める送信リクエストと、を、送信装置300へ送信したとして説明を行う。
送信装置300は、検索条件データと、送信リクエストと、を受信すると、図6に示した検索結果出力処理を実行する。これにより、検索条件データで表される検索条件に基づいて検索された航空便の空席数を表すキャッシュデータを、送信装置300は、端末装置110に送信する。この際に、送信装置300は、送信したキャッシュデータと、例えば、IP(Internet Protocol)アドレスなどのキャッシュデータの送信先を識別する情報と、を対応付けて、情報記憶部390に保存する。
次に、端末装置120は、端末装置110が送信した検索条件データと同じ検索条件データと、送信リクエストと、を、送信装置300へ送信したとして説明を行う。
その後、端末装置110は、空席数などを表すキャッシュデータを送信装置300から受信する。このキャッシュデータは、図9に示した判定処理において、送信装置300が、第1閾値及び第2閾値を用いて有効と判定したキャッシュデータであるか、送信装置300が無効と判定したキャッシュデータに代えて、取引サーバ200から送信装置300が新たに取得したキャッシュデータである。
端末装置110は、受信したキャッシュデータに基づいて、図4に示す検索結果表示画面を表示する。端末装置110は、検索結果表示画面に表示された航空便のフライトナンバー、航空会社、及び空席数を視認し、検索された航空便を予約するか否か決定する。ユーザが、航空便を予約する場合には、図1に示す入力部111を操作して航空便の予約を行う。
端末装置110は、入力部111の操作に応じて、予約する航空便を識別するフライトナンバー及びユーザを識別するユーザIDを入力する。その後、端末装置110は、これらフライトナンバー及びユーザIDを含み、フライトナンバーで識別される航空便の予約を申し込むことを表す申込データを、送信装置300へ送信する。
図5に示した送信装置300のLANカード306は、端末装置110から申込データを受信する。図5に示した送信装置300のCPU301は、LANカード306が申込データを受信すると、図12に示すような第1閾値及び第2閾値を変更する閾値変更処理を実行する。
これにより、CPU301は、図13に示すような相違算出部370及び閾値変更部380として機能する。
相違算出部370は、予約の申し込みがあった航空便について、申込データの取得前に送信されたキャッシュデータで表される空席数と、申込データの取得後に取得される新たな検索結果データで表される空席数と、の相違を算出する。
閾値変更部380は、相違算出部370が算出した相違が縮小するように、第1閾値及び第2閾値を変更する。
図12に示す閾値変更処理の実行が開始されると、データ取得部315は、図5に示したLANカード306から、端末装置110の送信した申込データを取得する(ステップS31)。
次に、データ出力部360は、申込データに含まれるフライトナンバーで識別される航空便を検索する検索条件を、取引サーバ200を宛先としてLANカード306へ出力する(ステップS32)。その後、LANカード306は、出力された検索条件を取引サーバ200へ送信する。
その後、LANカード306は、取引サーバ200から検索結果データを受信する。データ取得部315は、LANカード306から検索結果データを取得する(ステップS33)。
次に、データ出力部360は、取得された検索結果データを用いた予約処理を実行する(ステップS34)。
予約処理では、データ出力部360は、検索結果データで表される空席数が0席より多いか否かを判別する。このとき、データ出力部360は、空席数が0席であると判別すると、予約の受付前に空席が無くなってしまったことを表すエラーメッセージを生成し、生成したエラーメッセージをLANカード306に出力する。端末装置110が、LANカード306からエラーメッセージを受信すると、受信したメッセージを、図1に示した提示部119に提示する。
これに対して、データ出力部360は、空席数が0席より多い(つまり、空席がある)と判別すると、取引サーバ200を宛先として申込データをLANカード306に出力する。
取引サーバ200は、申込データを送信装置300から受信すると、申込データによる航空便の予約を受け付ける。その後、取引サーバ200は、予約を受け付けた旨を表すメッセージ(以下、予約受付メッセージという)を送信装置300に返信する。
送信装置300は、予約受付メッセージを受信すると、端末装置110へ予約受付メッセージを転送する。その後、端末装置110は、予約受付メッセージを受信すると、受信したメッセージを、図1に示した提示部119に提示する。
ステップS34の予約処理が終了すると、相違算出部370は、端末装置110のIPアドレスに基づいて、情報記憶部390から、端末装置110に送信したキャッシュデータを検索する。
次に、相違算出部370は、ステップS33で取得した検索結果データで表される空席数(つまり、予約時の空席数)と、端末装置110に送信したキャッシュデータで表される空席数(つまり、予約前の空席数)と、の相違を算出する(ステップS36)。
その後、閾値変更部380は、算出された相違が値0であるか否かを判別する(ステップS36)。このとき、閾値変更部380は、相違が値0であると判別すると(ステップS36;Yes)、第1閾値も第2閾値も変更させず、閾値変更処理の実行を終了する。
これに対して、閾値変更部380は、相違が値0でないと判別すると(ステップS36;No)、予約時の空席が0席である(つまり、予約できない)か否かを判別する(ステップS37)。
このとき、閾値変更部380は、予約時の空席が0席でない(つまり、予約できた)と判別すると(ステップS37;No)、第1閾値も第2閾値も変更させず、閾値変更処理の実行を終了する。
これに対して、閾値変更部380は、予約時の空席が0席である(つまり、予約できない)と判別すると(ステップS37;Yes)、第1閾値と第2閾値とを所定値だけ増加させる(ステップS38及びステップS39)。その後、閾値変更処理の実行を終了する。
その後、保存部320は、次回に、図9に示す有効性判定処理が実行された場合に、情報記憶部390から読み出される第1閾値を表す情報と第2閾値を表す情報とを、変更された第1閾値を表す情報と変更された第2閾値を表す情報とで更新する。尚、第1閾値及び第2閾値の変更に用いられる所定値を表す情報は、情報記憶部390に予め保存されている。当業者は実験により、より好適な所定値の値を定めることができる。
第1閾値は、図9のステップS12において使用され、ステップS12では、キャッシュデータで表される空席数が第1閾値以下の場合に、キャッシュデータの有効期間を短縮する。このため、第1閾値を所定値だけ増加させれば、増加させる前よりも多くのキャッシュデータの有効期間が短縮されるので、より多くのキャッシュデータの正確性が向上する。この結果、予約前の空席数と予約時の空席数との相違の平均値が縮小する。
第2閾値は、図9のステップS18において使用され、ステップS18では、キャッシュデータで表される空席数が第2閾値以上の場合に、キャッシュデータの有効期間を延長する。このため、第2閾値を所定値だけ増加させれば、増加させる前よりも有効期間が延長されるキャッシュデータが少なくなるので、より多くのキャッシュデータの正確性が向上する。この結果、予約時の空席数と予約前の空席数との相違の平均値が縮小する。
本実施例では、ステップS38及びステップS39において、第1閾値と第2閾値とを所定値だけ増加させることで、予約時の空席数と予約前の空席数との相違を縮小させるとして説明した。しかし、これに限定される訳ではなく、ステップS38及びステップS39において、有効期間の短縮時間を所定時間だけ長くし、延長時間を所定時間だけ短くしても良い。当業者は実験により、より好適な所定時間の値を定めることができる。
<実施例4>
実施例1では、取引サーバ200は、検索条件「出発地が羽田で、到着地が札幌で、かつ出発日が2013年3月1日」に基づいて唯1つの航空便を検索するとして説明した。本実施例では、取引サーバ200が、上記検索条件に基づいて、複数の航空便を検索するとして説明を行う。
また、本実施例では、取引サーバ200は、検索した航空便の空席数が9以上ある場合でも、空席数を9席とする検索結果データを送信するとして説明する。このため、検索された航空便が大型旅客機によるものである場合には、検索結果データが空席数を9席と表していると、実際の空席が9席しかないのか、あるいは数百席あるのか、判別できないとして説明を行う。
本実施例に係るデータキャッシュシステム1や送信装置300は、実施例1で説明したデータキャッシュシステム1や送信装置300と同様の構成を有し、同様に動作し、同様の機能を有する。このため、以下、本実施例に係るデータキャッシュシステム1や送信装置300と、実施例1で説明したデータキャッシュシステム1や送信装置300と、の相違について説明する。
先ず、送信装置300が、検索条件「出発地が羽田で、到着地が札幌で、かつ出発日が2013年3月1日」を表す検索条件データと送信リクエストとを受信した場合を例に挙げて説明を行う。この検索条件データと送信リクエストとを送信装置300に送信したのは、端末装置110であり、送信装置300が、この検索条件データと送信リクエストとを受信したとき、図8に示したキャッシュテーブルにはいかなるデータも保存されていない。
本実施例に係る送信装置300は、図5のLANカード306が検索条件データと送信リクエストとを受信すると、図14に示す検索結果出力処理を実行する。
検索結果出力処理の実行を開始すると、図6に示したステップS01からステップS03の処理を実行する。キャッシュテーブルにはいかなるデータも保存されていないため、判定部350は、キャッシュデータを検索できなかったと判定する(ステップS03;No)。
次に、図6に示したステップS06からステップS09の処理が実行された後に、検索結果出力処理の実行が終了される。これにより、図15に示すような検索結果データがキャッシュデータとして、キャッシュテーブルに保存される。保存されたキャッシュデータは、検索条件「出発地が羽田で、到着地が札幌で、かつ出発日が2013年3月1日」に基づいて検索された4件のデータである。4件のキャッシュデータは、それぞれフライトナンバー「ABC123」、「DEF123」、「GHI123」、及び「JKL123」でそれぞれ識別される航空便の空席数などを表す。フライトナンバー「ABC123」及び「GHI123」で識別される航空便の空席数は、9席以上であり、フライトナンバー「DEF123」で識別される航空便の空席数は、3席であり、フライトナンバー「JKL123」で識別される航空便の空席数は、0席である。
次に、端末装置110が検索条件データと送信リクエストとを送信装置300へ送信してから20分後に、端末装置110が送信した検索条件データと同じ検索条件データと送信リクエストとを、端末装置120が送信装置300へ送信したとして説明を行う。
LANカード306が端末装置120から検索条件データと送信リクエストとを受信すると、図14の検索結果出力処理が再実行される。
先ず、既に説明したステップS01及びステップS02の処理が実行される。これにより、検索部340は、検索条件「出発地が羽田で、到着地が札幌で、かつ出発日が2013年3月1日」に基づいて、図15に示したキャッシュテーブルから4件のキャッシュデータを検索する。
その後、判定部350は、キャッシュデータを検索できたと判定し(ステップS03;Yes)、検索した4件のキャッシュデータそれぞれについて、図16に示す判定処理を実行する(ステップS04)。
有効性判定処理の実行を開始すると、判定部350は、代替便が不足しているか否かを表す代替便不足フラグをOFFにして初期化する(ステップS51)。
次に、判定部350は、図14のステップS02で検索された全ての航空便について注目したか否かを判別する(ステップS52)。このとき、有効性判定処理の実行を開始したばかりであるので、いずれの航空便についても注目していない。このため、判定部350は、全ての航空便について注目した訳ではないと判別する(ステップS52;No)。
次に、判定部350は、未注目の航空便の内で、最も空席数が少ない航空便に注目する(ステップS53)。ここでは、フライトナンバー「JKL123」で識別される航空便の空席数が0席であるので、この航空便(以下、航空便「JKL123」という)に注目する。
その後、判定部350の期間変更部351は、注目された航空便「JKL123」のキャッシュデータ(以下、注目キャッシュデータという)の有効期間を設定有効期間30分とする(ステップS54)。
次に、期間変更部351は、情報記憶部390から第3閾値を表す情報を読み出す。ここで、第3閾値について説明する前に、同一の検索条件で検索された複数の航空便の関係について説明する。同一の検索条件で検索された複数の航空便は、互いに代替便の関係にある。互いに代替便の関係にある航空便の1つに空席が不足すると、空席が不足していない航空便の予約が増加する。また、これら互いに代替便の関係にある航空便間における空席数の単位時間当たりの減少量の相違は、これらの航空便と代替便の関係にない航空便との間の減少量の相違よりも少ない。このため、ある航空便の空席が不足すると、代替便の空席が不足し始める可能性が高い。
ここで、空席の不足とは、空席が所定の席数を下回ることをいう。このため、第3閾値は、キャッシュデータが保存されてから設定有効期間を経過するまでに予約されると予想される席数に、上記所定の席数を加算した値である。本実施例では、第3閾値は、8席であるとして説明を行うが、これに限定される訳でない。当業者は実験により好適な第3閾値を定めることができる。
期間変更部351は、注目キャッシュデータで表される空席数の0席が、第3閾値の8席以下であると判定し(ステップS55;Yes)、代替便不足フラグをONとする(ステップS56)。
次に、期間変更部351は、注目キャッシュデータで表される航空便の空席が0席であると判定し(ステップS57;Yes)、有効期間を延長有効期間とする(ステップS58)。空席が0の場合は、予約のキャンセルなどが生じない限り、空席数が変化しないためである。
その後、判定部350の実判定部352は、注目キャッシュデータの保存日時からの経過時間を算出する(ステップS59)。ここで、端末装置120は、端末装置110が検索条件データと送信リクエストとを送信装置300へ送信してから25分後に、端末装置110が送信した検索条件データと同じ検索条件データと送信リクエストとを送信装置300へ送信した。このため、経過時間は、約25分である。
その後、実判定部352は、経過時間長が注目キャッシュデータの有効期間長以下であると判別する(ステップS60;Yes)。経過時間が25分であり、注目キャッシュデータの有効期間が延長有効期間45分であるためである。
このため、実判定部352は、注目航空便「JKL123」のキャッシュデータが有効であると判定する(ステップS61)。
次に、判定部350は、ステップS52に戻り、残り3件のキャッシュデータについて未だ注目していないため、全ての航空便について注目した訳ではないと判別する(ステップS52;No)。
次に、判定部350は、未注目の航空便「ABC123」、「DEF123」、及び「GHI123」の内で、最も空席数が少ない航空便「DEF123」に注目する(ステップS53)。
その後、ステップS54からステップS56の処理が実行される。次に、期間変更部351は、注目された航空便「DEF123」のキャッシュデータで表される航空便の空席が3席であり、0席でないと判定し(ステップS57;No)、有効期間を短縮有効期間15分とする(ステップS64)。注目航空便「DEF123」の空席が不足しているためである。
その後、ステップS59の処理が実行された後に、実判定部352は、経過時間長が注目キャッシュデータの有効期間長より長いと判別する(ステップS60;No)。経過時間が25分であり、注目キャッシュデータの有効期間が短縮有効期間15分であるためである。
このため、実判定部352は、注目航空便「DEF123」のキャッシュデータが無効であると判定する(ステップS62)。
次に、判定部350は、ステップS52へ戻り、残り2件のキャッシュデータについて未だ注目していないため、全ての航空便について注目した訳ではないと判別する(ステップS52;No)。
次に、判定部350は、未注目の航空便「ABC123」及び「GHI123」の内で、空席数が9席以上ある航空便「ABC123」に注目する(ステップS53)。
その後、ステップS54の処理が実行されてから、期間変更部351は、注目キャッシュデータで表される空席数の9席以上が、第3閾値の8席でない(8席よりも多い)と判定する(ステップS55;No)。
次に、期間変更部351は、代替便不足フラグがONであると判定し(ステップS63;Yes)、注目した航空便「ABC123」の代替便に空席が不足していると判定する。このため、期間変更部351は、注目した航空便「ABC123」の予約が増加すると判定し、航空便「ABC123」のキャッシュデータの有効期間を短縮有効期間とする(ステップS64)。尚、ステップS63において、期間変更部351は、代替便不足フラグがONでない(つまり、OFFである)と判定すると(ステップS63;No)、注目キャッシュデータの有効期間を変更せずに、ステップS59以降の処理を実行する。
その後、ステップS59の処理が実行された後に、実判定部352は、経過時間長が注目キャッシュデータの有効期間長より長いと判別する(ステップS60;No)。経過時間が25分であり、注目キャッシュデータの有効期間が短縮有効期間15分であるためである。
このため、実判定部352は、注目航空便「ABC123」のキャッシュデータが無効であると判定する(ステップS62)。
次に、判定部350は、ステップS52へ戻り、残り1件のキャッシュデータについて未だ注目していないため、全ての航空便について注目した訳ではないと判別する(ステップS52;No)。
次に、判定部350は、未注目の航空便「GHI123」に注目する(ステップS53)。その後、ステップS54からステップS60の処理が実行され、空席数が9席以上であることを表す航空便「GHI123」のキャッシュデータが無効であると判定する(ステップS62)。
次に、判定部350は、ステップS52へ戻り、全ての航空便について注目したと判別し(ステップS52;Yes)、判定処理の実行を終了する。
判定部350は、図14のステップS04の実行により、無効であると判定されたキャッシュデータが存在すると判定する(ステップS05;Yes)。ステップS04において、航空便「ABC123」、「DEF123」、及び「GHI123」のキャッシュデータが無効と判定されたためである。
次に、データ出力部360は、ステップS01で取得された検索条件データで表される検索条件に、航空便「ABC123」、「DEF123」、及び「GHI123」のフライトナンバーを追加する(ステップS06a)。フライトナンバーが追加された検索条件は、「出発地が羽田で、到着地が札幌で、かつ出発日が2013年3月1日であり、かつフライトナンバーがABC123、DEF123、又はGHI123である」というものである。
その後、データ出力部360は、フライトナンバーが追加された検索条件を表す検索条件データを、取引サーバ200を宛先としてLANカード306へ出力する(ステップS06)。
取引サーバ200は、受信した検索条件データで表される検索条件に基づいて3件の航空便を検索し、検索された3件の航空便の空席数などをそれぞれ表す3件の検索結果データを返信する。
LANカード306は、3件の検索結果データを取引サーバ200から受信すると、データ取得部315は、LANカード306から3件の検索結果データを取得する(ステップS07)。
次に、保存部320は、3件のキャッシュデータと保存日時を表す情報とを対応付けて、図8に示すキャッシュテーブルに保存する(ステップS08)。
その後、データ出力部360は、ステップS08で保存された3件のキャッシュデータと、ステップS02で検索され、かつステップS04で有効と判定された1件のキャッシュデータと、を、端末装置110を宛先としてLANカード306へ出力する(ステップS09)。その後、LANカード306は、出力された4件のキャッシュデータを端末装置110へ送信し、データ出力部360は、検索結果出力処理の実行を終了する。
尚、ステップS05において、判定部350が、ステップS02で検索された複数のキャッシュデータには、無効と判定されたキャッシュデータが存在しないと判定すると(ステップS05;No)、データ出力部360は、ステップS02で検索された複数のキャッシュデータの全てを、端末装置110を宛先としてLANカード306へ出力する(ステップS09)。その後、データ出力部360は、検索結果出力処理の実行を終了する。
これらの構成によれば、同じ検索条件に基づいて検索された複数のキャッシュデータでそれぞれ表される取引可能な役務の数量のいずれか1つ以上が第3閾値以下であると、第3閾値よりも大きい数量を表すキャッシュデータの有効期間を短縮する。ここで、同一の検索条件で検索された複数の役務は、互いに代替関係にある。第3閾値以下の数量しか取引可能でない役務が存在する場合には、代替関係にある役務の取引量が増加する。このため、第3閾値より多い数量を取引可能な役務のキャッシュデータであっても、キャッシュデータの有効期間を短縮するので、キャッシュデータの正確性が向上する。
実施例1から4は、互いに組み合わせることができる。実施例1から4のいずれかに係る機能を実現するための構成を備えた送信装置300として提供できることはもとより、複数の装置で構成されるシステムであって、実施例1から4のいずれかに係る機能を実現するための構成をシステム全体として備えたシステムとして提供することもできる。
尚、実施例1から4のいずれかに係る機能を実現するための構成を予め備えた送信装置300として提供できることはもとより、プログラムの適用により、既存の送信装置300を実施例1から4のいずれかに係る送信装置300として機能させることもできる。すなわち、実施例1から4のいずれかで例示した送信装置300による各機能構成を実現させるためのプログラムを、既存の送信装置を制御するコンピュータ(CPUなど)が実行できるように適用することで、実施例1から4のいずれかに係る送信装置300として機能させることができる。
このようなプログラムの配布方法は任意であり、例えば、メモリカード、CD−ROM、又はDVD−ROMなどの記録媒体に格納して配布できる他、インターネットなどの通信媒体を介して配布することもできる。また、本発明に係る方法は、実施例1から4のいずれかに係る送信装置300を用いて実施できる。
以上本発明の好ましい実施例について詳述したが、本発明は係る特定の実施例に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形、変更が可能である。
また、上述した実施形態は、本発明を説明するためのものであり、本発明の範囲を限定するものではない。つまり、本発明の範囲は、実施形態ではなく、請求の範囲によって示される。そして、請求の範囲内及びそれと同等の発明の意義の範囲内で施される様々な変形が、本発明の範囲内とみなされる。
1:データキャッシュシステム
10:通信網
110、120:端末装置
111、121:入力部
119、129:提示部
200:取引サーバ
300:送信装置
301:CPU
302:ROM
303:RAM
304:ハードディスク
305:メディアコントローラ
306:LANカード
307:ビデオカード
308:LCD
309:キーボード
310:スピーカ
311:タッチパッド
315:データ取得部
320:保存部
330:リクエスト取得部
340:検索部
350:判定部
351:期間変更部
352:実判定部
360:データ出力部
370:相違算出部
380:閾値変更部
390:情報記憶部

Claims (11)

  1. 商品又は役務の数量の出力を求めるリクエストを取得するリクエスト取得部、
    前記リクエストが取得されると、前記商品又は役務の数量を表すキャッシュデータが記憶部に保存されていない場合に、前記商品又は役務の数量をサーバから取得するデータ取得部、
    前記取得された数量を、前記キャッシュデータにより表される数量として、前記記憶部に保存する保存部、
    前記取得された数量を、前記リクエストに対して出力するデータ出力部、
    前記リクエストが取得されると、前記キャッシュデータが記憶部に保存されている場合に、前記キャッシュデータにより表される数量に基づいて既定期間を延長又は短縮した有効期間を、前記リクエストに対して定める期間変更部、
    前記キャッシュデータが取得又は保存された時刻からの経過時間が、前記リクエストに対して定められた前記有効期間以下であれば、前記キャッシュデータが有効であると判定し、前記経過時間が前記リクエストに対して定められた前記有効期間より長ければ、前記キャッシュデータが無効であると判定する実判定部、を備え、
    前記キャッシュデータが有効であると判定されれば、前記データ出力部は、前記リクエストに対して、前記有効であると判定されたキャッシュデータにより表される数量を出力し、
    前記キャッシュデータが無効であると判定されれば、前記データ取得部は、前記商品または役務の数量を前記サーバから取得し、前記保存部は、前記取得された数量を、前記キャッシュデータにより表される数量として、前記記憶部に保存し、前記データ出力部は、前記取得された数量を、前記リクエストに対して出力する、
    ことを特徴とするデータキャッシュシステム。
  2. 前記期間変更部は、前記キャッシュデータにより表される数量と前記リクエストとに基づいて、前記既定期間を延長又は短縮した有効期間を前記リクエストに対して定める、
    ことを特徴とする請求項1に記載のデータキャッシュシステム。
  3. 前記データ取得部は、商品若しくは役務の検索に用いる検索条件に含まれる検索日と、商品の販売予定日、発送予定日、及び、到着予定日のいずれか1つ以上、又は、役務の提供日と、に基づいて検索された商品若しくは役務の数量を取得し、
    前記期間変更部は、前記検索条件に含まれる検索日及び前記検索日までの期間の長さのいずれか1つ以上に基づいて、前記既定期間を短縮又は延長した有効期間を前記リクエストに対して定める
    ことを特徴とする請求項に記載のデータキャッシュシステム。
  4. 前記リクエスト取得部は、商品若しくは役務の検索に用いる検索条件と、検索された商品又は役務量の出力を求めるリクエストと、を取得し、
    前記データ取得部は、前記検索条件に基づいて検索された複数の商品若しくは役務それぞれについて、前記サーバから数を取得し、
    前記期間変更部は、前記キャッシュデータとして保存された複数の数量のいずれか1つ以上が予め定められた第3閾値以下であると、前記第3閾値よりも大きい数量を表すキャッシュデータに対して前記既定期間を短縮した有効期間を定める
    ことを特徴とする請求項に記載のデータキャッシュシステム。
  5. 前記期間変更部は、前記キャッシュデータにより表される数量が、予め定められた第1閾値以下である場合に、前記既定期間を短縮した有効期間を前記リクエストに対して定める
    ことを特徴とする請求項1から3のいずれか一項に記載のデータキャッシュシステム。
  6. 前記期間変更部は、前記キャッシュデータにより表される数量が、前記第1閾値よりも大きい予め定められた第2閾値以上である場合に、前記既定期間を延長した有効期間を前記リクエストに対して定める
    ことを特徴とする請求項に記載のデータキャッシュシステム。
  7. 前記リクエストに対して前記数量が出力された後、前記リクエストに係る商品又は役務の取引の申し込みを表す申込データを取得すると、前記申し込みのあった商品若しくは役務の数量を前記サーバから取得する出力後取得部
    前記申し込みのあった商品又は役務について、前記申込データの取得前に出力された数量と、前記申込データの取得後に取得された数量と、の相違を算出する算出部、
    前記算出された相違が縮小するように、前記第1閾値及び前記第2閾値の1つ以上を変更する閾値変更部、をさらに備える、
    ことを特徴とする請求項に記載のデータキャッシュシステム。
  8. 前記期間変更部は、前記キャッシュデータにより表される数量が予め定められた第1閾値以下である場合に、前記既定期間を短縮した有効期間を前記リクエストに対して定め、当該数量が前記第1閾値よりも大きい予め定められた第2閾値以上である場合に、前記既定期間を延長した有効期間を当該リクエストに対して定め、
    前記リクエストに対して前記数量が出力された後、前記リクエストに係る商品又は役務の取引の申し込みを表す申込データを取得すると、前記申し込みのあった商品若しくは役務の数量を前記サーバから取得する出力後取得部、
    前記申し込みのあった商品又は役務について、前記申込データの取得前に出力された数量と、前記申込データの取得後に取得された数量と、の相違を算出する算出部、
    前記算出された相違が縮小するように、前記第1閾値及び前記第2閾値の1つ以上を変更する閾値変更部、をさらに備える、
    ことを特徴とする請求項に記載のデータキャッシュシステム。
  9. ンピュータを、
    商品又は役務の数量の出力を求めるリクエストを取得するリクエスト取得部、
    前記リクエストが取得されると、前記商品又は役務の数量を表すキャッシュデータが記憶部に保存されていない場合に、前記商品又は役務の数量をサーバから取得するデータ取得部、
    前記取得された数量を、前記キャッシュデータにより表される数量として、前記記憶部に保存する保存部、
    前記取得された数量を、前記リクエストに対して出力するデータ出力部、
    前記リクエストが取得されると、前記キャッシュデータが記憶部に保存されている場合に、前記キャッシュデータにより表される数量に基づいて既定期間を延長又は短縮した有効期間を、前記リクエストに対して定める期間変更部、
    前記キャッシュデータが取得又は保存された時刻からの経過時間が、前記リクエストに対して定められた前記有効期間以下であれば、前記キャッシュデータが有効であると判定し、前記経過時間が前記リクエストに対して定められた前記有効期間より長ければ、前記キャッシュデータが無効であると判定する実判定部、として機能させ、
    前記キャッシュデータが有効であると判定されれば、前記データ出力部は、前記リクエストに対して、前記有効であると判定されたキャッシュデータにより表される数量を出力し、
    前記キャッシュデータが無効であると判定されれば、前記データ取得部は、前記商品または役務の数量を前記サーバから取得し、前記保存部は、前記取得された数量を、前記キャッシュデータにより表される数量として、前記記憶部に保存し、前記データ出力部は、前記取得された数量を、前記リクエストに対して出力する、
    ことを特徴とするプログラム。
  10. ンピュータを、
    商品又は役務の数量の出力を求めるリクエストを取得するリクエスト取得部、
    前記リクエストが取得されると、前記商品又は役務の数量を表すキャッシュデータが記憶部に保存されていない場合に、前記商品又は役務の数量をサーバから取得するデータ取得部、
    前記取得された数量を、前記キャッシュデータにより表される数量として、前記記憶部に保存する保存部、
    前記取得された数量を、前記リクエストに対して出力するデータ出力部、
    前記リクエストが取得されると、前記キャッシュデータが記憶部に保存されている場合に、前記キャッシュデータにより表される数量に基づいて既定期間を延長又は短縮した有効期間を、前記リクエストに対して定める期間変更部、
    前記キャッシュデータが取得又は保存された時刻からの経過時間が、前記リクエストに対して定められた前記有効期間以下であれば、前記キャッシュデータが有効であると判定し、前記経過時間が前記リクエストに対して定められた前記有効期間より長ければ、前記キャッシュデータが無効であると判定する実判定部、として機能させ、
    前記キャッシュデータが有効であると判定されれば、前記データ出力部は、前記リクエストに対して、前記有効であると判定されたキャッシュデータにより表される数量を出力し、
    前記キャッシュデータが無効であると判定されれば、前記データ取得部は、前記商品または役務の数量を前記サーバから取得し、前記保存部は、前記取得された数量を、前記キャッシュデータにより表される数量として、前記記憶部に保存し、前記データ出力部は、前記取得された数量を、前記リクエストに対して出力する、
    ことを特徴とするプログラムを記録したコンピュータ読み取り可能な記録媒体。
  11. 商品又は役務の数量の出力を求めるリクエストを取得するリクエスト取得ステップ、
    前記リクエストが取得されると、前記商品又は役務の数量を表すキャッシュデータが記憶部に保存されていない場合に、前記商品又は役務の数量をサーバから取得するデータ取得ステップ、
    前記取得された数量を、前記キャッシュデータにより表される数量として、前記記憶部に保存する保存ステップ、
    前記取得された数量を、前記リクエストに対して出力するデータ出力ステップ、
    前記リクエストが取得されると、前記キャッシュデータが記憶部に保存されている場合に、前記キャッシュデータにより表される数量に基づいて既定期間を延長又は短縮した有効期間を、前記リクエストに対して定める期間変更ステップ、
    前記キャッシュデータが取得又は保存された時刻からの経過時間が、前記リクエストに対して定められた前記有効期間以下であれば、前記キャッシュデータが有効であると判定し、前記経過時間が前記リクエストに対して定められた前記有効期間より長ければ、前記キャッシュデータが無効であると判定する実判定ステップ、を有し、
    前記キャッシュデータが有効であると判定されれば、前記データ出力ステップでは、前記リクエストに対して、前記有効であると判定されたキャッシュデータにより表される数量を出力し、
    前記キャッシュデータが無効であると判定されれば、前記データ取得ステップでは、前記商品または役務の数量を前記サーバから取得し、前記保存ステップでは、前記取得された数量を、前記キャッシュデータにより表される数量として、前記記憶部に保存し、前記データ出力ステップでは、前記取得された数量を、前記リクエストに対して出力する、
    ことを特徴とする方法。
JP2013555653A 2013-03-29 2013-03-29 データキャッシュシステム、プログラム、記録媒体、及び方法 Active JP5484643B1 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2013/059756 WO2014155737A1 (ja) 2013-03-29 2013-03-29 データキャッシュシステム、プログラム、記録媒体、及び方法

Publications (2)

Publication Number Publication Date
JP5484643B1 true JP5484643B1 (ja) 2014-05-07
JPWO2014155737A1 JPWO2014155737A1 (ja) 2017-02-16

Family

ID=50792132

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013555653A Active JP5484643B1 (ja) 2013-03-29 2013-03-29 データキャッシュシステム、プログラム、記録媒体、及び方法

Country Status (4)

Country Link
US (1) US10261900B2 (ja)
JP (1) JP5484643B1 (ja)
TW (1) TWI475498B (ja)
WO (1) WO2014155737A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018022218A (ja) * 2016-08-01 2018-02-08 富士ゼロックス株式会社 情報処理装置及び情報処理プログラム
US10866893B2 (en) 2018-01-23 2020-12-15 Home Depot Product Authority, Llc Cache coherency engine
KR102253362B1 (ko) 2020-09-22 2021-05-20 쿠팡 주식회사 전자 장치 및 이를 이용한 정보 제공 방법
US12019623B2 (en) 2021-09-30 2024-06-25 Salesforce, Inc. Data transfer resiliency during bulk to streaming transition

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004527820A (ja) * 2001-01-10 2004-09-09 アマデウス エス.エイ.エス コンピュータ予約システムにおけるデータの処理及びアクセス方法、並びにその方法を実施するためのシステム
JP2005157605A (ja) * 2003-11-25 2005-06-16 Hitachi Ltd 商品データ検索装置および同装置におけるデータ更新方法ならびにプログラム
JP2013015926A (ja) * 2011-06-30 2013-01-24 Rakuten Inc 情報提供装置、情報提供方法、情報提供プログラム及び記録媒体

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7747507B2 (en) * 1996-05-23 2010-06-29 Ticketmaster L.L.C. Computer controlled auction system
WO2000068856A2 (en) * 1999-05-11 2000-11-16 Webvan Group, Inc. Electronic commerce enabled delivery system and method
US8996420B2 (en) * 2003-11-21 2015-03-31 Intel Corporation System and method for caching data
US7945463B2 (en) * 2005-03-22 2011-05-17 Ticketmaster Apparatus and methods for providing queue messaging over a network
JP4815934B2 (ja) 2005-08-02 2011-11-16 日本電気株式会社 テキストマイニング装置、テキストマイニング方法、テキストマイニングプログラム
EP2389650A4 (en) * 2009-01-23 2013-11-13 Travelzoo Inc SYSTEM AND METHOD FOR PRESENTING PRICING INFORMATION FOR ONLINE TRAVEL PRODUCTS AND SERVICES
TW201118767A (en) * 2009-11-17 2011-06-01 Inst Information Industry Service workflow generation apparatus and method
US8683465B2 (en) * 2009-12-18 2014-03-25 International Business Machines Corporation Virtual image deployment with a warm cache
US9251478B2 (en) * 2013-07-29 2016-02-02 Amadeus S.A.S. Processing information queries in a distributed information processing environment

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004527820A (ja) * 2001-01-10 2004-09-09 アマデウス エス.エイ.エス コンピュータ予約システムにおけるデータの処理及びアクセス方法、並びにその方法を実施するためのシステム
JP2005157605A (ja) * 2003-11-25 2005-06-16 Hitachi Ltd 商品データ検索装置および同装置におけるデータ更新方法ならびにプログラム
JP2013015926A (ja) * 2011-06-30 2013-01-24 Rakuten Inc 情報提供装置、情報提供方法、情報提供プログラム及び記録媒体

Also Published As

Publication number Publication date
TWI475498B (zh) 2015-03-01
TW201437928A (zh) 2014-10-01
US10261900B2 (en) 2019-04-16
US20150134910A1 (en) 2015-05-14
JPWO2014155737A1 (ja) 2017-02-16
WO2014155737A1 (ja) 2014-10-02

Similar Documents

Publication Publication Date Title
US20220076260A1 (en) Merchandise return and/or exchange systems, methods, and media
JP5484643B1 (ja) データキャッシュシステム、プログラム、記録媒体、及び方法
US20090204504A1 (en) Method and system for pausing, migrating, and restarting retail point-of-sale transactions
US10282774B2 (en) Approach for order resolution
US20160071190A1 (en) Modifying electronic orders during a fulfillment process
JP6206760B2 (ja) 顧客要求管理システム、顧客要求管理方法、プログラム
CN110210940B (zh) 应用于商圈的取货方法及商圈订单系统
US7707202B2 (en) Method and system for improving a reservation or a purchase process of an entity
JP2017138721A (ja) 自動販売機検量システム、管理サーバ、自動販売機、自動販売機の検量方法及びプログラム
JP6944209B2 (ja) 中古二次電池再利用システム
JP2015130000A (ja) 在庫管理支援システム、在庫管理支援装置、在庫管理支援方法
JP2010086055A (ja) 在庫管理装置、在庫管理方法、プログラム
JP5087951B2 (ja) 商品交換プログラム、商品交換方法、商品交換装置
US10991167B2 (en) Information processing system, and non-transitory computer readable medium storing program
JP6456531B1 (ja) 情報処理装置、情報処理方法および情報処理プログラム
JP2018144965A (ja) 配送支援装置及びそのプログラム
JP2018010414A (ja) 商品販売データ処理装置及びプログラム
US11610176B2 (en) Systems and methods for providing availability of inventory having high inventory volatility
JP7241826B1 (ja) 情報処理装置、情報処理方法及び情報処理プログラム
US20180300781A1 (en) Trial system, trial method, trial processing device, and trial processing method
JP2024044154A (ja) 情報処理装置およびプログラム
KR20210121385A (ko) 복수의 클라이언트 단말기들과 정보를 통신하는 네트워크 서버 및 방법
JP5726949B2 (ja) 予約システム
JP5249962B2 (ja) 複数のトランザクションを統合するトランザクション管理サーバ、システム及び方法
JP7140534B2 (ja) サーバ装置、及びプログラム

Legal Events

Date Code Title Description
TRDD Decision of grant or rejection written
A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20140127

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140204

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140218

R150 Certificate of patent or registration of utility model

Ref document number: 5484643

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250