(57)【特許請求の範囲】
【請求項１】
商品又は役務の数量の出力を求めるリクエストを取得するリクエスト取得部、
前記リクエストが取得されると、前記商品又は役務の数量を表すキャッシュデータが記憶部に保存されていない場合に、前記商品又は役務の数量をサーバから取得するデータ取得部、
前記取得された数量を、前記キャッシュデータにより表される数量として、前記記憶部に保存する保存部、
前記取得された数量を、前記リクエストに対して出力するデータ出力部、
前記リクエストが取得されると、前記キャッシュデータが記憶部に保存されている場合に、前記キャッシュデータにより表される数量に基づいて既定期間を延長又は短縮した有効期間を、前記リクエストに対して定める期間変更部、
前記キャッシュデータが取得又は保存された時刻からの経過時間が、前記リクエストに対して定められた前記有効期間以下であれば、前記キャッシュデータが有効であると判定し、前記経過時間が前記リクエストに対して定められた前記有効期間より長ければ、前記キャッシュデータが無効であると判定する実判定部、を備え、
前記キャッシュデータが有効であると判定されれば、前記データ出力部は、前記リクエストに対して、前記有効であると判定されたキャッシュデータにより表される数量を出力し、
前記キャッシュデータが無効であると判定されれば、前記データ取得部は、前記商品または役務の数量を前記サーバから取得し、前記保存部は、前記取得された数量を、前記キャッシュデータにより表される数量として、前記記憶部に保存し、前記データ出力部は、前記取得された数量を、前記リクエストに対して出力する、
ことを特徴とするデータキャッシュシステム。
【請求項２】
前記期間変更部は、前記キャッシュデータにより表される数量と前記リクエストとに基づいて、前記既定期間を延長又は短縮した有効期間を前記リクエストに対して定める、
ことを特徴とする請求項１に記載のデータキャッシュシステム。
【請求項３】
前記データ取得部は、商品若しくは役務の検索に用いる検索条件に含まれる検索日と、商品の販売予定日、発送予定日、及び、到着予定日のいずれか１つ以上、又は、役務の提供日と、に基づいて検索された商品若しくは役務の数量を取得し、
前記期間変更部は、前記検索条件に含まれる検索日及び前記検索日までの期間の長さのいずれか１つ以上に基づいて、前記既定期間を短縮又は延長した有効期間を前記リクエストに対して定める、
ことを特徴とする請求項２に記載のデータキャッシュシステム。
【請求項４】
前記リクエスト取得部は、商品若しくは役務の検索に用いる検索条件と、検索された商品又は役務の数量の出力を求めるリクエストと、を取得し、
前記データ取得部は、前記検索条件に基づいて検索された複数の商品若しくは役務それぞれについて、前記サーバから数量を取得し、
前記期間変更部は、前記キャッシュデータとして保存された複数の数量のいずれか１つ以上が予め定められた第３閾値以下であると、前記第３閾値よりも大きい数量を表すキャッシュデータに対して前記既定期間を短縮した有効期間を定める、
ことを特徴とする請求項２に記載のデータキャッシュシステム。
【請求項５】
前記期間変更部は、前記キャッシュデータにより表される数量が、予め定められた第１閾値以下である場合に、前記既定期間を短縮した有効期間を前記リクエストに対して定める、
ことを特徴とする請求項１から３のいずれか一項に記載のデータキャッシュシステム。
【請求項６】
前記期間変更部は、前記キャッシュデータにより表される数量が、前記第１閾値よりも大きい予め定められた第２閾値以上である場合に、前記既定期間を延長した有効期間を前記リクエストに対して定める、
ことを特徴とする請求項５に記載のデータキャッシュシステム。
【請求項７】
前記リクエストに対して前記数量が出力された後、前記リクエストに係る商品又は役務の取引の申し込みを表す申込データを取得すると、前記申し込みのあった商品若しくは役務の数量を前記サーバから取得する出力後取得部、
前記申し込みのあった商品又は役務について、前記申込データの取得前に出力された数量と、前記申込データの取得後に取得された数量と、の相違を算出する算出部、
前記算出された相違が縮小するように、前記第１閾値及び前記第２閾値の１つ以上を変更する閾値変更部、をさらに備える、
ことを特徴とする請求項６に記載のデータキャッシュシステム。
【請求項８】
前記期間変更部は、前記キャッシュデータにより表される数量が予め定められた第１閾値以下である場合に、前記既定期間を短縮した有効期間を前記リクエストに対して定め、当該数量が前記第１閾値よりも大きい予め定められた第２閾値以上である場合に、前記既定期間を延長した有効期間を当該リクエストに対して定め、
前記リクエストに対して前記数量が出力された後、前記リクエストに係る商品又は役務の取引の申し込みを表す申込データを取得すると、前記申し込みのあった商品若しくは役務の数量を前記サーバから取得する出力後取得部、
前記申し込みのあった商品又は役務について、前記申込データの取得前に出力された数量と、前記申込データの取得後に取得された数量と、の相違を算出する算出部、
前記算出された相違が縮小するように、前記第１閾値及び前記第２閾値の１つ以上を変更する閾値変更部、をさらに備える、
ことを特徴とする請求項１に記載のデータキャッシュシステム。
【請求項９】
コンピュータを、
商品又は役務の数量の出力を求めるリクエストを取得するリクエスト取得部、
前記リクエストが取得されると、前記商品又は役務の数量を表すキャッシュデータが記憶部に保存されていない場合に、前記商品又は役務の数量をサーバから取得するデータ取得部、
前記取得された数量を、前記キャッシュデータにより表される数量として、前記記憶部に保存する保存部、
前記取得された数量を、前記リクエストに対して出力するデータ出力部、
前記リクエストが取得されると、前記キャッシュデータが記憶部に保存されている場合に、前記キャッシュデータにより表される数量に基づいて既定期間を延長又は短縮した有効期間を、前記リクエストに対して定める期間変更部、
前記キャッシュデータが取得又は保存された時刻からの経過時間が、前記リクエストに対して定められた前記有効期間以下であれば、前記キャッシュデータが有効であると判定し、前記経過時間が前記リクエストに対して定められた前記有効期間より長ければ、前記キャッシュデータが無効であると判定する実判定部、として機能させ、
前記キャッシュデータが有効であると判定されれば、前記データ出力部は、前記リクエストに対して、前記有効であると判定されたキャッシュデータにより表される数量を出力し、
前記キャッシュデータが無効であると判定されれば、前記データ取得部は、前記商品または役務の数量を前記サーバから取得し、前記保存部は、前記取得された数量を、前記キャッシュデータにより表される数量として、前記記憶部に保存し、前記データ出力部は、前記取得された数量を、前記リクエストに対して出力する、
ことを特徴とするプログラム。
【請求項１０】
コンピュータを、
商品又は役務の数量の出力を求めるリクエストを取得するリクエスト取得部、
前記リクエストが取得されると、前記商品又は役務の数量を表すキャッシュデータが記憶部に保存されていない場合に、前記商品又は役務の数量をサーバから取得するデータ取得部、
前記取得された数量を、前記キャッシュデータにより表される数量として、前記記憶部に保存する保存部、
前記取得された数量を、前記リクエストに対して出力するデータ出力部、
前記リクエストが取得されると、前記キャッシュデータが記憶部に保存されている場合に、前記キャッシュデータにより表される数量に基づいて既定期間を延長又は短縮した有効期間を、前記リクエストに対して定める期間変更部、
前記キャッシュデータが取得又は保存された時刻からの経過時間が、前記リクエストに対して定められた前記有効期間以下であれば、前記キャッシュデータが有効であると判定し、前記経過時間が前記リクエストに対して定められた前記有効期間より長ければ、前記キャッシュデータが無効であると判定する実判定部、として機能させ、
前記キャッシュデータが有効であると判定されれば、前記データ出力部は、前記リクエストに対して、前記有効であると判定されたキャッシュデータにより表される数量を出力し、
前記キャッシュデータが無効であると判定されれば、前記データ取得部は、前記商品または役務の数量を前記サーバから取得し、前記保存部は、前記取得された数量を、前記キャッシュデータにより表される数量として、前記記憶部に保存し、前記データ出力部は、前記取得された数量を、前記リクエストに対して出力する、
ことを特徴とするプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項１１】
商品又は役務の数量の出力を求めるリクエストを取得するリクエスト取得ステップ、
前記リクエストが取得されると、前記商品又は役務の数量を表すキャッシュデータが記憶部に保存されていない場合に、前記商品又は役務の数量をサーバから取得するデータ取得ステップ、
前記取得された数量を、前記キャッシュデータにより表される数量として、前記記憶部に保存する保存ステップ、
前記取得された数量を、前記リクエストに対して出力するデータ出力ステップ、
前記リクエストが取得されると、前記キャッシュデータが記憶部に保存されている場合に、前記キャッシュデータにより表される数量に基づいて既定期間を延長又は短縮した有効期間を、前記リクエストに対して定める期間変更ステップ、
前記キャッシュデータが取得又は保存された時刻からの経過時間が、前記リクエストに対して定められた前記有効期間以下であれば、前記キャッシュデータが有効であると判定し、前記経過時間が前記リクエストに対して定められた前記有効期間より長ければ、前記キャッシュデータが無効であると判定する実判定ステップ、を有し、
前記キャッシュデータが有効であると判定されれば、前記データ出力ステップでは、前記リクエストに対して、前記有効であると判定されたキャッシュデータにより表される数量を出力し、
前記キャッシュデータが無効であると判定されれば、前記データ取得ステップでは、前記商品または役務の数量を前記サーバから取得し、前記保存ステップでは、前記取得された数量を、前記キャッシュデータにより表される数量として、前記記憶部に保存し、前記データ出力ステップでは、前記取得された数量を、前記リクエストに対して出力する、
ことを特徴とする方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データキャッシュシステム、プログラム、記録媒体、及び方法に関する。
【背景技術】
【０００２】
従来から、外部サーバから所定時間間隔でデータを取得し、取得したデータをキャッシュデータとして当該所定時間に亘って保持し、外部装置のリクエストに応じて、保持しているデータを返信するキャッシュサーバが知られている（例えば、特許文献１）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第４８１５９３４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ここで、特許文献１の技術では、外部サーバからデータを取得する時間間隔を短くすれば、外部サーバが有するデータとキャッシュデータとの整合性（以下、正確性ともいう）が向上するが、外部サーバとの通信量が増加してしまう。これに対して、時間間隔を長くすれば、外部サーバとの通信量が減少するが、キャッシュデータの正確性が低下してしまうという問題があった。【０００５】
本発明は、このような問題点に鑑みてなされたものであり、その目的とするところは、通信量の増加を抑制しつつ、キャッシュデータの正確性を向上できるデータキャッシュシステム、プログラム、記録媒体、及び方法を提供することにある。
【課題を解決するための手段】
【０００６】
上記目的を達成するため、本発明の第１の観点に係るデータキャッシュシステムは、
取引可能な商品又は役務の数量を表すデータを記憶部に保存するシステムであって、
前記商品又は前記役務の取引を受け付けるサーバから送信された、取引可能な前記商品又は前記役務の数量を表す数量データを取得するデータ取得部、
前記取得された数量データをキャッシュデータとして前記記憶部に保存する保存部、
取引可能な前記商品又は前記役務の数量を表すデータの出力を求めるリクエストを取得するリクエスト取得部、
前記リクエストが取得されると、前記キャッシュデータが取得又は保存された時刻からの経過時間と、前記キャッシュデータで表される数量と、に基づいて、前記キャッシュデータが有効であるか否かを判定する判定部、を備え、
前記データ取得部は、前記キャッシュデータが無効であると判定されると、前記サーバから送信された新たな数量データを取得し、
前記保存部は、前記取得された新たな数量データを新たなキャッシュデータとして前記記憶部に保存する、
ことを特徴とする。【０００７】
また、第１の観点に係るデータキャッシュシステムにおいて、
前記キャッシュデータが有効であると判定されると、前記有効と判定されたキャッシュデータを出力し、前記キャッシュデータが無効であると判定されると、前記新たなキャッシュデータを出力するデータ出力部、をさらに備える、
としても良い。【０００８】
また、第１の観点に係るデータキャッシュシステムにおいて、
前記判定部は、
前記キャッシュデータが有効と判定される期間として予め定められた有効期間を、前記キャッシュデータで表される数量に基づいて延長又は短縮する期間変更部、
前記キャッシュデータが取得又は保存された時刻からの経過時間が、前記延長又は短縮された有効期間以下である場合に、前記キャッシュデータが有効であると判定し、前記経過時間が前記延長又は短縮された有効期間より長い場合に、前記キャッシュデータが無効であると判定する実判定部、を有する、
としても良い。【０００９】
また、第１の観点に係るデータキャッシュシステムにおいて、
前記期間変更部は、前記キャッシュデータで表される数量が、予め定められた第１閾値以下である場合に、前記有効期間を短縮する、
としても良い。【００１０】
また、第１の観点に係るデータキャッシュシステムにおいて、
前記期間変更部は、前記キャッシュデータで表される数量が、予め定められた閾値であって、かつ前記第１閾値よりも大きい第２閾値以上である場合に、前記有効期間を延長する、
としても良い。【００１１】
また、第１の観点に係るデータキャッシュシステムにおいて、
前記データ取得部は、前記出力されたキャッシュデータで数量が表された商品又は役務の取引の申し込みを表す申込データを取得すると、前記申し込みのあった商品若しくは役務の数量データを取得し、
前記申し込みのあった商品又は役務について、前記申込データの取得前に出力されたキャッシュデータで表された数量と、前記申込データの取得後に取得された前記数量データで表される数量と、の相違を算出する算出部、
前記算出された相違が縮小するように、前記第１閾値及び前記第２閾値のいずれか１つ以上を変更する閾値変更部、をさらに備える、
としても良い。【００１２】
また、第１の観点に係るデータキャッシュシステムにおいて、
前記データ取得部は、商品若しくは役務の検索に用いる検索条件に含まれる検索日と、商品の販売予定日、発送予定日、及び、到着予定日のいずれか１つ以上、又は、役務の提供日と、に基づいて検索された商品若しくは役務の数量を表す数量データを取得し、
前記期間変更部は、前記検索条件を表す検索条件データで表される検索日及び前記検索日までの期間の長さのいずれか１つ以上に基づいて、前記キャッシュデータの有効期間を短縮又は延長する、
としても良い。【００１３】
また、第１の観点に係るデータキャッシュシステムにおいて、
前記リクエスト取得部は、商品若しくは役務の検索に用いる検索条件と、検索された商品又は役務について取引可能な数量を表すデータの出力を求めるリクエストと、を取得し、
前記データ取得部は、前記検索条件に基づいて検索された複数の商品若しくは役務それぞれについて、前記サーバから送信された取引可能な数量を表す数量データを、取得し、
前記期間変更部は、前記キャッシュデータとして保存された数量データで表される複数の数量のいずれか１つ以上が予め定められた第３閾値以下であると、前記第３閾値よりも大きい数量を表すキャッシュデータの有効期間を短縮する、
としても良い。【００１４】
上記目的を達成するため、本発明の第２の観点に係るプログラムは、
取引可能な商品又は役務の数量を表すデータを記憶部に保存するプログラムであって、
コンピュータを、
前記商品又は前記役務の取引を受け付けるサーバから送信された、取引可能な前記商品又は前記役務の数量を表す数量データを取得するデータ取得部、
前記取得された数量データをキャッシュデータとして前記記憶部に保存する保存部、
取引可能な前記商品又は前記役務の数量を表すデータの出力を求めるリクエストを取得するリクエスト取得部、
前記リクエストが取得されると、前記キャッシュデータが取得又は保存された時刻からの経過時間と、前記キャッシュデータで表される数量と、に基づいて、前記キャッシュデータが有効であるか否かを判定する判定部、として機能させ、
前記データ取得部は、前記キャッシュデータが無効であると判定されると、前記サーバから送信された新たな数量データを取得し、
前記保存部は、前記取得された新たな数量データを新たなキャッシュデータとして前記記憶部に保存する、
ことを特徴とする。【００１５】
上記目的を達成するため、本発明の第３の観点に係るコンピュータ読み取り可能な記録媒体は、
取引可能な商品又は役務の数量を表すデータを記憶部に保存するプログラムであって、
コンピュータを、
前記商品又は前記役務の取引を受け付けるサーバから送信された、取引可能な前記商品又は前記役務の数量を表す数量データを取得するデータ取得部、
前記取得された数量データをキャッシュデータとして前記記憶部に保存する保存部、
取引可能な前記商品又は前記役務の数量を表すデータの出力を求めるリクエストを取得するリクエスト取得部、
前記リクエストが取得されると、前記キャッシュデータが取得又は保存された時刻からの経過時間と、前記キャッシュデータで表される数量と、に基づいて、前記キャッシュデータが有効であるか否かを判定する判定部、として機能させ、
前記データ取得部は、前記キャッシュデータが無効であると判定されると、前記サーバから送信された新たな数量データを取得し、
前記保存部は、前記取得された新たな数量データを新たなキャッシュデータとして前記記憶部に保存する、
ことを特徴とするプログラムを記録している。【００１６】
上記目的を達成するため、本発明の第４の観点に係る方法は、
取引可能な商品又は役務の数量を表すデータを記憶部に保存する方法であって、
前記商品又は前記役務の取引を受け付けるサーバから送信された、取引可能な前記商品又は前記役務の数量を表す数量データを取得するデータ取得ステップ、
前記取得された数量データをキャッシュデータとして前記記憶部に保存する保存ステップ、
取引可能な前記商品又は前記役務の数量を表すデータの出力を求めるリクエストを取得するリクエスト取得ステップ、
前記リクエストが取得されると、前記キャッシュデータが取得又は保存された時刻からの経過時間と、前記キャッシュデータで表される数量と、に基づいて、前記キャッシュデータが有効であるか否かを判定する判定ステップ、
前記キャッシュデータが無効であると判定されると、前記サーバから送信された新たな数量データを取得するデータ再取得ステップ、
前記取得された新たな数量データを新たなキャッシュデータとして前記記憶部に保存する再保存ステップ、を有する、
ことを特徴とする。
【発明の効果】
【００１７】
本発明に係るデータキャッシュシステム、プログラム、記録媒体、及び方法によれば、通信量の増加を抑制しつつ、キャッシュデータの正確性を向上できる。
【図面の簡単な説明】
【００１８】
【図１】データキャッシュシステムの一構成例を表すシステム構成図である。
【図２】検索画面の一例を表す図である。
【図３】問合中画面の一例を表す図である。
【図４】検索結果表示画面の一例を表す図である。
【図５】送信装置の一例を表すハードウェア構成図である。
【図６】実施例１に係る送信装置が実行する検索結果出力処理の一例を表すフローチャートである。
【図７】実施例１に係る送信装置が有する機能の一例を表す機能ブロック図である。
【図８】実施例１に係る送信装置が記憶するキャッシュテーブルの一例を表す図である。
【図９】実施例１に係る送信装置が実行する判定処理の一例を表すフローチャートである。
【図１０】実施例２に係る送信装置が記憶する繁忙期テーブルの一例を表す図である。
【図１１】実施例２に係る送信装置が実行する判定処理の一部を表すフローチャートである。
【図１２】実施例３に係る送信装置が実行する閾値変更処理の一例を表すフローチャートである。
【図１３】実施例３に係る送信装置が有する機能の一例を表す機能ブロック図である。
【図１４】実施例４に係る送信装置が実行する検索結果出力処理の一例を表すフローチャートである。
【図１５】実施例４に係る送信装置が記憶するキャッシュテーブルの一例を表す図である。
【図１６】実施例４に係る送信装置が実行する判定処理の一例を表すフローチャートである。
【発明を実施するための形態】
【００１９】
以下、本発明の実施例について添付図面を参照しつつ説明する。
【００２０】
＜実施例１＞
本発明の実施例１に係るデータキャッシュシステム１は、取引可能な役務の数量を提示する。
【００２１】
ここで、役務とは、他人のために行う労務又は便益であって、独立して商取引の目的たりうべきものをいう。本実施例では、役務の一例として、ユーザをある日にある場所から他の場所へある航空機で送り届ける航空便を挙げて説明する。本実施例では、航空便が異なれば（つまり、出発日、出発地、到着地、及び、航空機のいずれか１つでも異なれば）、異なる役務であるとして説明を行う。このため、ある航空便について提供できる数量というときは、その航空便の空席数をいうとして説明する。
【００２２】
本実施例では、取引の一例として、役務の提供を予約する取引を挙げて説明する。役務の提供を予約する取引の一例として、航空便の空席を予約する取引、すなわち、航空券の発行予約をする取引、を挙げて説明する。尚、航空便は、出発地と到着地とが同じ国の地点である国内航空便であっても良いし、出発地と到着地とが異なる国の地点である海外航空便であっても良い。このため、発行予約される航空券は、国内航空便の航空券である国内航空券でも良いし、海外航空便の航空券である海外航空券でも良い。
【００２３】
データキャッシュシステム１は、コンピュータ通信網１０（以下単に、通信網１０という）で互いに通信可能に接続された、端末装置１１０及び１２０と、取引サーバ２００と、送信装置３００と、で構成される。
【００２４】
通信網１０は、例えば、インターネットで構成される。通信網１０は、ＬＡＮ（Local Area Network）又は公衆回線網であっても良い。
【００２５】
端末装置１１０は、例えば、キーボード及びマウスなどの入力部１１１と、ＬＣＤ（Liquid Crystal Display）などの提示部１１９と、を備えたパーソナル・コンピュータで構成される。端末装置１２０は、端末装置１１０の有する入力部１１１及び提示部１１９と同様の構成を有する入力部１２１及び提示部１２９で構成される。
【００２６】
端末装置１１０及び１２０は、互いに同様の構成を有し、同様の動作を行うため、以下主に、端末装置１１０について説明を行う。
【００２７】
端末装置１１０は、図２に示すような検索画面を表示する。検索画面は、予約可能な航空便の空席数を検索するために用いられる。端末装置１１０は、入力部１１１をユーザに操作されると、当該操作に応じて航空便の検索条件を入力し、入力された検索条件を表すデータ（以下、検索条件データという）を送信装置３００へ送信する。
【００２８】
その後、端末装置１１０は、図３に示すような問合中画面を表示する。問合中画面は、データを問い合わせていることを表す。次に、端末装置１１０は、送信装置３００から、航空便の空席を含む検索結果を表すデータ（以下、検索結果データ）を受信すると、問合中画面の表示を終了する。このため、検索条件データの送信から、検索結果データの受信までに時間がかかると、ユーザには、問合中画面が提示され続けるため、ユーザの利便性が低下する。
【００２９】
その後、端末装置１１０は、受信したデータに基づいて図４に示すような検索結果表示画面を提示部１１９に表示する。検索結果表示画面は、検索条件に基づいて予約可能な航空便の空席数を検索した結果を表す。
【００３０】
取引サーバ２００は、送信装置３００から検索条件データを受信する。次に、取引サーバ２００は、検索条件データで表される検索条件にマッチする航空便の空席数や航空便を識別する番号（以下、フライトナンバーという）などを表すデータ（つまり、検索結果データ）を送信装置３００へ返信する。
【００３１】
また、取引サーバ２００は、送信装置３００から、フライトナンバーと、航空便を予約するユーザを識別する情報（以下、ユーザＩＤという）と、を受信する。次に、取引サーバ２００は、フライトナンバーで識別される航空便に空席が存在するか否かを確認する。その後、取引サーバ２００は、空席が存在すると確認すると、ユーザＩＤで識別されるユーザによる当該航空便の予約を受け付ける。
【００３２】
送信装置３００は、図５に示すようなサーバ機で構成される。送信装置３００は、ＣＰＵ（Central Processing Unit）３０１、ＲＯＭ（Read Only Memory）３０２、ＲＡＭ（Random Access Memory）３０３、ハードディスク３０４、メディアコントローラ３０５、ＬＡＮ（Local Area Network）カード３０６、ビデオカード３０７、ＬＣＤ（Liquid Crystal Display）３０８、キーボード３０９、スピーカ３１０、及びタッチパッド３１１で構成される。
【００３３】
ＣＰＵ３０１は、ＲＯＭ３０２又はハードディスク３０４に保存されたプログラムに従ってプログラムを実行することで、送信装置３００の全体制御を行う。ＲＡＭ３０３は、ＣＰＵ３０１によるプログラムの実行時において、処理対象とするデータを一時的に記憶するワークメモリである。
【００３４】
ハードディスク３０４は、各種のデータを保存したテーブルを記憶する情報記憶部である。尚、送信装置３００は、ハードディスク３０４の代わりに、フラッシュメモリを備えても良い。
【００３５】
メディアコントローラ３０５は、フラッシュメモリ、ＣＤ（Compact Disc）、ＤＶＤ（Digital Versatile Disc）、及びブルーレイディスク（Blu-ray（登録商標） Disc）を含む記録媒体から各種のデータ及びプログラムを読み出す。
【００３６】
ＬＡＮカード３０６は、通信網１０を介して接続する端末装置１１０及び１２０との間でデータを送受信する。キーボード３０９及びタッチパッド３１１は、ユーザの操作に応じた信号を入力する。
【００３７】
ビデオカード３０７は、ＣＰＵ３０１から出力されたデジタル信号に基づいて画像を描画（つまり、レンダリング）すると共に、描画された画像を表す画像信号を出力する。ＬＣＤ３０８は、ビデオカード３０７から出力された画像信号に従って画像を表示する。尚、送信装置３００は、ＬＣＤ３０８の代わりに、ＰＤＰ（Plasma Display Panel）又はＥＬ（Electroluminescence）ディスプレイを備えても良い。スピーカ３１０は、ＣＰＵ３０１から出力された信号に基づいて音声を出力する。
【００３８】
次に、送信装置３００の有する機能について説明する。
ＣＰＵ３０１は、図６に示す検索結果出力処理を実行する。検索結果出力処理は、航空便の検索結果を表すデータ（つまり、検索結果データ）を、端末装置１１０又は１２０を宛先にして、図５に示したＬＡＮカード３０６に出力する処理である。ＬＡＮカード３０６は、出力された検索結果データを宛先として指定された端末装置１１０又は１２０へ送信する。
【００３９】
この処理の実行により、ＣＰＵ３０１は、図７に示すデータ取得部３１５、保存部３２０、リクエスト取得部３３０、検索部３４０、判定部３５０、及びデータ出力部３６０として機能する。また、図４に示したハードディスク３０４は、ＣＰＵ３０１と協働して、情報記憶部３９０として機能する。
【００４０】
データ取得部３１５、保存部３２０、リクエスト取得部３３０、検索部３４０、判定部３５０、及びデータ出力部３６０について説明する前に、情報記憶部３９０について説明する。
【００４１】
情報記憶部３９０は、図８に示すようなキャッシュテーブルを記憶している。キャッシュテーブルには、取引サーバ２００から受信した検索結果データがキャッシュデータとして保存される。キャッシュテーブルには、に、キャッシュデータの保存日時を表す情報と、キャッシュデータと、が対応付けられて複数保存される。キャッシュデータとして保存される検索結果データは、航空便の出発日、出発地、到着地、フライトナンバー、航空会社、及び空席数をそれぞれ表す情報が対応付けられたデータである。
【００４２】
データ取得部３１５は、図５に示したＬＡＮカード３０６が取引サーバ２００から受信した検索結果データを、ＬＡＮカード３０６から取得する。
【００４３】
保存部３２０は、データ取得部３１５が取得した検索結果データをキャッシュデータとして、情報記憶部３９０のキャッシュテーブルへ保存する。
【００４４】
リクエスト取得部３３０は、検索条件データと、検索された航空便の予約可能な空席数を表すデータの送信を求める送信リクエストと、を端末装置１１０又は１２０からＬＡＮカード３０６が受信すると、検索条件データと送信リクエストとをＬＡＮカード３０６から取得する。
【００４５】
検索部３４０は、検索条件データで表される検索条件に基づいて、キャッシュテーブルに保存されたキャッシュデータを検索する。
【００４６】
判定部３５０は、検索部３４０が検索したキャッシュデータが有効であるか否かを判定する。キャッシュデータが有効であるとは、当該キャッシュデータの検索に用いられた検索条件で、判定時において取引サーバ２００が航空便の空席数を検索した場合に、空席数が存在する又は空席数が所定数よりも多く存在する確率が所定の確率値よりも高いことをいう。すなわち、当該キャッシュデータで空席数が表される航空便について１席又は所定数の席の予約を、判定時に取引サーバ２００へ申し込んだ場合に、１又は所定数以上の空席が存在するため、取引サーバ２００が当該申し込みを受け付けられる確率が所定の確率値よりも高いことをいう。尚、当業者は、この所定の確率値の好適な値を実験により定めることができる。
【００４７】
判定部３５０は、キャッシュデータが有効であるか否かの判定を、キャッシュデータの保存時刻からの経過時間と、キャッシュデータで表される空席数と、に基づいて行う。
【００４８】
判定部３５０は、期間変更部３５１と実判定部３５２とを有する。期間変更部３５１は、キャッシュデータが有効と判定される期間（以下、有効期間という）を予め定められた期間（以下、設定有効期間という）とする。期間変更部３５１は、設定有効期間とした有効期間を、キャッシュデータで表される数量に基づいて延長又は短縮する。尚、設定有効期間を表す情報は、情報記憶部３９０に予め記憶されている。
【００４９】
実判定部３５２は、キャッシュデータの保存時刻からの経過時間が、延長又は短縮された有効期間以下である場合に、キャッシュデータが有効であると判定する。これに対して、実判定部３５２は、経過時間が延長又は短縮された有効期間より長い場合に、キャッシュデータが無効であると判定する。
【００５０】
データ出力部３６０は、キャッシュデータが有効であると判定されると、有効と判定されたキャッシュデータを、端末装置１１０又は１２０を宛先としてＬＡＮカード３０６へ出力する。
【００５１】
これに対して、データ出力部３６０は、キャッシュデータが無効であると判定されると、キャッシュデータの検索に用いられた検索条件データを、取引サーバ２００を宛先としてＬＡＮカード３０６へ出力する。その後、データ取得部３１５が、取引サーバ２００から送信された新たな検索結果データを取得し、保存部３２０が新たな検索結果データをキャッシュデータとして情報記憶部３９０へ保存すると、新たなキャッシュデータをＬＡＮカード３０６へ出力する。
【００５２】
ＣＰＵ３０１は、ＬＡＮカード３０６が検索条件データと送信リクエストとを端末装置１１０又は１２０から受信すると、図６に示す検索結果出力処理の実行を開始する。
【００５３】
ここでは、送信装置３００が、初めて検索条件データと送信リクエストとを受信した場合を例に挙げて説明を行う。この検索条件データと送信リクエストとを送信装置３００に送信したのは、端末装置１１０であり、送信装置３００が、この検索条件データと送信リクエストとを受信したとき、図８に示したキャッシュテーブルにはいかなるデータも保存されていないとして説明を行う。
【００５４】
先ず、リクエスト取得部３１５は、ＬＡＮカード３０６から検索条件データと送信リクエストとを取得する（ステップＳ０１）。
【００５５】
ここでは、検索条件データで表される検索条件が、「出発地が羽田で、到着地が札幌で、かつ出発日が２０１３年３月１日」である場合を例に挙げて説明する。
【００５６】
次に、検索部３４０は、取得された検索条件データで表される検索条件に基づいて、情報記憶部３９０が記憶するキャッシュテーブルからキャッシュデータを検索する（ステップＳ０２）。このとき、キャッシュテーブルにはいかなるデータも保存されていないため、検索部３４０は、キャッシュデータを検索できない。
【００５７】
その後、判定部３５０は、キャッシュデータを検索できなかったと判定する（ステップＳ０３；Ｎｏ）。
【００５８】
データ出力部３６０は、ステップＳ０１で取得された検索条件データを、取引サーバ２００を宛先としてＬＡＮカード３０６へ出力する（ステップＳ０６）。その後、ＬＡＮカード３０６は、検索条件データを取引サーバ２００へ送信する。
【００５９】
以下、取引サーバ２００は、受信した検索条件データで表される検索条件「出発地が羽田で、到着地が札幌で、出発日が２０１３年３月１日」にマッチする１つの航空便を検索し、検索された航空便には、６席の空席があるとして説明を行う。
【００６０】
ＬＡＮカード３０６は、取引サーバ２００が検索した航空便の空席数などを表す検索結果データを、取引サーバ２００から受信する。ＬＡＮカード３０６が検索結果データを受信すると、データ取得部３１５は、ＬＡＮカード３０６から検索結果データを取得する（ステップＳ０７）。
【００６１】
次に、保存部３２０は、例えば、ＯＳ（Operating System）から現在日時を取得する。その後、保存部３２０は、取得された検索結果データをキャッシュデータとし、取得した現在日時をキャッシュデータの保存日時とする。次に、保存部３２０は、キャッシュデータと保存日時を表す情報とを対応付けて、図８に示すキャッシュテーブルに保存する（ステップＳ０８）。
【００６２】
その後、データ出力部３６０は、ステップＳ０８で保存されたキャッシュデータを、端末装置１１０を宛先としてＬＡＮカード３０６へ出力した後に（ステップＳ０９）、検索結果出力処理の実行を終了する。尚、ＬＡＮカード３０６は、出力されたキャッシュデータを端末装置１１０へ送信する。
【００６３】
次に、端末装置１１０が検索条件データと送信リクエストとを送信装置３００へ送信してから５分後に、端末装置１１０が送信した検索条件データと同じ検索条件データと送信リクエストとを、端末装置１２０が送信装置３００へ送信したとして説明を行う。
【００６４】
ＬＡＮカード３０６が端末装置１２０から検索条件データと送信リクエストとを受信すると、図６の検索結果出力処理が再実行される。
【００６５】
先ず、既に説明したステップＳ０１の処理が実行される。次に、検索部３４０は、検索条件「出発地が羽田で、到着地が札幌で、かつ出発日が２０１３年３月１日」に基づいて、情報記憶部３９０が記憶するキャッシュテーブルからキャッシュデータを検索する（ステップＳ０２）。
【００６６】
このとき、情報記憶部３９０には、前回に保存された１件のキャッシュデータが保存されている。この保存されたキャッシュデータデータは、出発地が羽田、到着地が札幌、及び出発日が２０１３年３月１日の全てを表す。このため、検索部３４０は、当該キャッシュデータを検索により取得する。
【００６７】
その後、判定部３５０は、キャッシュデータを検索できたと判定する（ステップＳ０３；Ｙｅｓ）。
【００６８】
次に、判定部３５０は、図９に示す有効性判定処理を実行する（ステップＳ０４）。有効性判定処理は、検索されたキャッシュデータが有効であるか否かを判定する処理である。
【００６９】
有効性判定処理の実行を開始すると、判定部３５０の期間変更部３５１は、情報記憶部３９０に保存されている設定有効期間を表す情報を読み出す。
【００７０】
本実施例では、設定有効期間は、３０分に設定されているとして説明を行うが、これに限定される訳ではない。当業者は、実験により設定有効期間の好適な値を定めることができる。
【００７１】
次に、期間変更部３５１は、キャッシュデータの有効期間を設定有効期間とする（ステップＳ１１）。
【００７２】
その後、期間変更部３５１は、キャッシュデータで表される空席数が値０より多く、かつ、空席数が第１閾値以下であるか否かを判定する（ステップＳ１２）。
【００７３】
ここで、第１閾値は、キャッシュデータが保存されてから設定有効期間を経過するまでに予約されると予想される席数である。本実施例では、第１閾値は、６席であるとして説明を行うが、これに限定される訳ではない。当業者は、実験などにより第１閾値の好適な値を定めることができる。例えば、複数の時点間における空席数から、単位時間当たりの空席数の減少量の平均値を算出し、算出した平均値に設定有効期間長を乗算した値を第１閾値としてもいい。
【００７４】
ここでは、検索されたキャッシュデータは、空席数３を表すため、期間変更部３５１は、空席数が値０より多く、かつ、空席数が第１閾値の６席以下であると判定する（ステップＳ１２；Ｙｅｓ）。
【００７５】
次に、期間変更部３５１は、情報記憶部３９０に予め保存されている短縮時間を表す情報を読み出す。次に、期間変更部３５１は、キャッシュデータの有効期間を短縮時間分だけ短くした短縮有効期間とする（ステップＳ１３）。
【００７６】
本実施例では、短縮時間は、１５分に設定されており、短縮有効期間は、有効期間３０分から短縮時間１５分だけ短い１５分である、として説明を行う。しかし、これに限定される訳ではなく、当業者は、実験により短縮時間の好適な値を定めることができる。
【００７７】
次に、実判定部３５２は、ＯＳから現在日時を取得する。その後、実判定部３５２は、ステップＳ０３で検索されたキャッシュデータに対応付けられた情報で表される保存日時を、図８に示すキャッシュテーブルから取得する。次に、実判定部３５２は、現在日時から保存日時を減算することで、キャッシュデータの保存日時からの経過時間を算出する（ステップＳ１４）。
【００７８】
その後、実判定部３５２は、経過時間長がキャッシュデータの有効期間長以下であるか否かを判別する（ステップＳ１５）。
【００７９】
ここで、端末装置１２０は、端末装置１１０が検索条件データと送信リクエストとを送信装置３００へ送信してから５分後に、端末装置１１０が送信した検索条件データと同じ検索条件データと送信リクエストとを送信装置３００へ送信した。このため、経過時間は、約５分である。
【００８０】
このため、実判定部３５２は、経過時間約５分は、キャッシュデータの有効期間１５分よりも短いと判定し（ステップＳ１５；Ｙｅｓ）、キャッシュデータが有効であると判定する（ステップＳ１６）。
【００８１】
ステップＳ０４の実行により、判定部３５０は、キャッシュデータが無効でない（つまり、有効である）と判定した（ステップＳ０５；Ｎｏ）。このため、ステップＳ０６からステップＳ０８の通信処理が実行されない。判定部３５０の判定後、直ちに、データ出力部３６０は、ステップＳ０２で検索されたキャッシュデータを、端末装置１２０を宛先に指定してＬＡＮカード３０６へ出力する（ステップＳ０９）。その後、検索結果出力処理の実行が終了される。
【００８２】
このため、端末装置１２０が、検索条件データと送信リクエストを送信してから、キャッシュデータを検索結果データとして受信するまでの時間が短縮され、図３に示す問合中画面が表示される時間が短くなる。
【００８３】
次に、検索条件データと送信リクエストとが最初に（つまり、前々回に）送信装置３００へ送信されてから２５分後に、端末装置１１０が、前々回と同じ検索条件データと送信リクエストとを送信装置３００へ送信したとして説明を行う。
【００８４】
ＬＡＮカード３０６が端末装置１１０から検索条件データと送信リクエストとを受信すると、検索結果出力処理の実行が開始され、既に説明したステップＳ０１及びステップＳ０２の処理が実行される。これにより、前々回に保存された１件のキャッシュデータが検索される。
【００８５】
その後、判定部３５０は、キャッシュデータを検索できたと判定し（ステップＳ０３；Ｙｅｓ）、図９に示す有効性判定処理を実行する（ステップＳ０４）。
【００８６】
有効性判定処理の実行を開始すると、判定部３５０の期間変更部３５１は、ステップＳ１１からステップＳ１５の処理を実行する。
【００８７】
ここで、端末装置１２０は、検索条件データと送信リクエストとが最初に送信装置３００へ送信されてから２５分後に、当該検索条件データと同じ検索条件データと送信リクエストとを送信装置３００へ送信した。このため、経過時間は、約２５分である。
【００８８】
このため、実判定部３５２は、経過時間約２５分は、キャッシュデータの有効期間１５分よりも長いと判定し（ステップＳ１５；Ｎｏ）、キャッシュデータが無効であると判定する（ステップＳ１７）。
【００８９】
図６のステップＳ０４の実行により、判定部３５０は、キャッシュデータが無効であると判定した（ステップＳ０５；Ｙｅｓ）。このため、ステップＳ０６からステップＳ０８の処理が実行された後に、データ出力部３６０は、ステップＳ０７で新たに取得された検索結果データを、端末装置１１０を宛先に指定してＬＡＮカード３０６へ出力する（ステップＳ０９）。その後、検索結果出力処理の実行が終了される。このため、端末装置１２０に送信される検索条件データの正確性が向上する。
【００９０】
次に、端末装置１１０が、新たな検索条件「出発地が羽田で、到着地が広島で、かつ出発日が２０１３年３月３１日」を表す検索条件データと送信リクエストとを送信したとして説明を行う。
【００９１】
ＬＡＮカード３０６が新たな検索条件データと送信リクエストとを受信すると、図６に示す検索結果出力処理の実行が開始される。
【００９２】
先ず、ステップＳ０１の処理が実行されてから、検索部３４０は、新たな検索条件データで表される検索条件に基づいて、情報記憶部３９０が記憶するキャッシュテーブルからキャッシュデータを検索する（ステップＳ０２）。このとき、新たな検索条件にマッチするキャッシュデータは、キャッシュテーブルに保存されていない。
【００９３】
その後、ステップＳ０３及びステップＳ０６の処理が実行され、新たな検索条件データが取引サーバ２００へ送信される。
【００９４】
以下、取引サーバ２００は、受信した検索条件データで表される検索条件「出発地が羽田で、到着地が広島で、出発日が２０１３年３月３１日」にマッチする１つの航空便を検索し、検索された航空便には、１２席の空席があるとして説明を行う。
【００９５】
データ取得部３１５は、ＬＡＮカード３０６が取引サーバ２００から受信した検索結果データを取得し（ステップＳ０７）、保存部３２０は、検索結果データをキャッシュデータとして、保存日時を表す情報とを対応付け、図８のキャッシュテーブルに保存する（ステップＳ０８）。
【００９６】
その後、データ出力部３６０は、保存されたキャッシュデータを、端末装置１１０を宛先としてＬＡＮカード３０６へ出力した後に（ステップＳ０９）、検索結果出力処理の実行を終了する。
【００９７】
次に、端末装置１１０が新たな検索条件データと送信リクエストとを送信装置３００へ送信してから３５分後に、前回に送信した新たな検索条件データと同じ検索条件データと送信リクエストとを、端末装置１２０が送信装置３００へ送信したとして説明を行う。
【００９８】
ＬＡＮカード３０６が端末装置１２０から検索条件データと送信リクエストとを受信すると、検索結果出力処理が実行される。
【００９９】
先ず、既に説明したステップＳ０１の処理が実行され、検索部３４０が、前回に保存された１件のキャッシュデータをキャッシュテーブルから検索する（ステップＳ０２）。このキャッシュデータは、空席数が１２席であることを表す。
【０１００】
その後、判定部３５０は、ステップＳ０３の処理を実行した後に、図９に示す有効性判定処理を実行する（ステップＳ０４）。
【０１０１】
有効性判定処理の実行を開始すると、判定部３５０の期間変更部３５１は、ステップＳ１１の処理を実行した後に、キャッシュデータが表す空席数１２席は、値０より多いが、第１閾値以下ではないと判定する（ステップＳ１２；Ｎｏ）。本実施例において、第１閾値は６席であるとして説明するためである。
【０１０２】
次に、期間変更部３５１は、キャッシュデータが表す空席数が、値０であるか又は第２閾値以上であるか否かを判定する（ステップＳ１２）。
【０１０３】
ここで、第２閾値は、キャッシュデータが保存されてから延長有効期間を経過するまでに予約されると予想される席数である。尚、延長有効期間とは、設定有効期間を予め定められた延長時間だけ延長した期間をいう。
【０１０４】
本実施例では、延長時間は、１５分に設定されており、延長有効期間は、有効期間３０分から延長時間１５分だけ長い４５分である、として説明を行う。しかし、これに限定される訳ではなく、当業者は、実験により延長時間の好適な値を定めることができる。
【０１０５】
また本実施例では、第２閾値は、１２席であるとして説明を行う。しかし、これに限定される訳ではない。当業者は、実験などにより第１閾値の好適な値を定めることができる。例えば、上記の方法で単位時間当たりの空席数の減少量の平均値を算出し、算出した平均値に延長有効期間長を乗算した値を第２閾値としても良い。
【０１０６】
このとき、キャッシュデータが表す空席数は１２席であるので、期間変更部３５１は、キャッシュデータが表す空席数が０席ではないが、第２閾値以上であると判定する（ステップＳ１８；Ｙｅｓ）。
【０１０７】
次に、期間変更部３５１は、情報記憶部３９０に予め保存されている延長時間を表す情報を読み出す。次に、期間変更部３５１は、キャッシュデータの有効期間を延長時間分だけ長くした延長有効期間とする（ステップＳ１９）。
【０１０８】
ここで、端末装置１２０は、端末装置１１０が新たな検索条件データと送信リクエストとを送信装置３００へ送信してから３５分後に、同じ検索条件データと送信リクエストとを送信装置３００へ送信した。このため、経過時間は、約３５分である。
【０１０９】
実判定部３５２は、経過時間約３５分は、キャッシュデータの有効期間４５分よりも短いと判定し（ステップＳ１５；Ｙｅｓ）、キャッシュデータが有効であると判定する（ステップＳ１６）。
【０１１０】
ステップＳ０４の実行により、判定部３５０は、キャッシュデータが無効でない（つまり、有効である）と判定したため（ステップＳ０５；Ｎｏ）、ステップＳ０６からステップＳ０８の通信処理が実行されない。判定部３５０の判定後、直ちに、データ出力部３６０は、ステップＳ０２で検索されたキャッシュデータを、端末装置１２０を宛先に指定してＬＡＮカード３０６へ出力する（ステップＳ０９）。その後、検索結果出力処理の実行が終了される。
【０１１１】
このため、図３に示す問合中画面が端末装置１２０に表示される時間が短くなり、かつ図４に示す検索結果画面に正確性が高い検索結果を表示させることができる。
【０１１２】
尚、図６のステップＳ０２で検索されたキャッシュデータが空席数０を表す場合、期間変更部３５１は、図９のステップＳ１８の条件が満足されると判定し、ステップＳ１９でキャッシュデータの有効期間を延長有効期間とする。これは、空席数０となった後には、予約のキャンセルがある、又は、別の航空便の予約が開始されるなど、設定有効期間内で生じる確率が非常に低いイベントが生じない限り、空席数が変化しないためである。
【０１１３】
また、図６のステップＳ０２で検索されたキャッシュデータで表される空席数が、第１閾値よりも多く、かつ第２閾値よりも少ない場合、期間変更部３５１は、図９のステップＳ１８の条件が満足されないと判定し（ステップＳ１８；Ｎｏ）、キャッシュデータの有効期間を設定有効期間のままとする。設定有効期間を調整する必要がないためである。
【０１１４】
本実施例に係るデータキャッシュシステム１は、取引可能な役務の数量を提示すると説明したが、これに限定される訳ではない。データキャッシュシステム１は、取引可能な商品の数量を提示しても良い。
【０１１５】
ここで、商品とは、商取引の目的たりうべきものをいう。本実施例では、商品は、動産に限定されるのではなく、不動産も含むとして説明する。
【０１１６】
本実施例では、取引サーバ２００は、検索条件データを受信すると、検索条件データで表される検索条件に基づいて検索した役務の取引可能な数量などを表す検索結果データを返信するとして説明した。また本実施例では、航空便の検索に用いられる検索条件は、航空機の出発日を特定の日に指定する条件を含むとして説明した。しかし、これに限定される訳でなく、取引サーバ２００は、検索条件データを受信すると、検索条件データで表される検索条件に基づいて検索した商品の取引可能な数量などを表す検索結果データを返信するとしても良い。また、検索条件は、商品の販売予定日、発送予定日、及び、到着予定日のいずれか１つ以上を特定の日に指定する条件を含んでも良い。
【０１１７】
また本実施例では、取引の一例として、役務の提供を予約する取引を挙げて説明した。しかし、これに限定される訳でなく、取引の一例としては、商品を売買する取引、商品の販売又は購入を予約する取引が挙げられる。
【０１１８】
本実施例では、データ取得部３１５は、検索結果データを取得し、保存部３２０は、検索結果データをキャッシュデータ図８に示すキャッシュテーブルに、として、キャッシュデータの保存日時を表す情報とを対応付けて保存すると説明した。また、判定部３５０は、キャッシュデータが有効であるか否かの判定を、キャッシュテーブルに保存されたキャッシュデータの保存時刻からの経過時間と、キャッシュデータで表される空席数と、に基づいて行うとして説明した。
【０１１９】
しかし、これに限定される訳ではなく、データ取得部３１５、保存部３２０、判定部３５０について、以下の構成を採用できる。データ取得部３１５が、検索結果データを取得するとＯＳから現在日時を取得し、取得した日時を検索結果データの取得日時とする構成。保存部３２０が、キャッシュテーブルに、検索結果データをキャッシュデータとして、検索結果データの取得日時を表す情報とを対応付けて保存する構成。判定部３５０が、キャッシュデータが有効であるか否かの判定を、キャッシュテーブルに保存されたキャッシュデータとして保存された検索結果データの取得時刻からの経過時間と、キャッシュデータで表される空席数と、に基づいて行う構成。
【０１２０】
これらの構成によれば、キャッシュデータが取得又は保存された時刻からの経過時間と、キャッシュデータで表される数量と、に基づいて、キャッシュデータが無効であると判定されると、取引サーバ２００から送信された新たな検索結果データが新たなキャッシュデータとして情報記憶部３９０に保存される。このため、通信量の増加を抑制しつつ、キャッシュデータの正確性を向上できる。
【０１２１】
これらの構成によれば、キャッシュデータが有効であると判定されると、有効と判定されたキャッシュデータを出力し、キャッシュデータが無効であると判定されると、新たなキャッシュデータを出力する。このため、キャッシュデータが有効であると判定されると、取引サーバ２００から検索結果データを取得せずに、既に記憶されているキャッシュデータを直ちに出力する。このため、通信量の増加を抑制するだけでなく、データの送信に要する時間の増加を抑制しながら、従来よりも正確性が高いデータを送信できる。
【０１２２】
＜実施例２＞
本実施例では、検索条件データで表された検索日及び検索日までの期間の長さのいずれか１つ以上に基づいて、検索条件データで表される検索条件に基づいて検索されたキャッシュデータの有効期間を短縮又は延長する。
【０１２３】
本実施例に係るデータキャッシュシステム１や送信装置３００は、実施例１で説明したデータキャッシュシステム１や送信装置３００と同様の構成を有し、同様に動作し、同様の機能を有する。このため、以下、本実施例に係るデータキャッシュシステム１や送信装置３００と、実施例１で説明したデータキャッシュシステム１や送信装置３００と、の相違について説明する。
【０１２４】
本実施例に係る送信装置３００は、図１０に示すような繁忙期テーブルを記憶している。繁忙期テーブルには、旅行客の多い時期である繁忙期の名称（以下、繁忙期名という）を表す情報と、繁忙期の開始日を表す情報と、繁忙期の終了日を表す情報と、を対応付けたデータが、予め複数保存されている。
【０１２５】
本実施例に係る送信装置３００は、実施例１に係る送信装置３００と同様に、図６に示した検索結果出力処理を実行する。しかし、本実施例に係る送信装置３００は、検索結果出力処理のステップＳ０４において、図１０に示した繁忙期テーブルを用いて、図９に示した判定処理とほぼ同様の処理を実行する。
【０１２６】
実施例１に係る送信装置３００は、繁忙期テーブルを用いずに、図９に示した判定処理を実行する。このため、以下、実施例１に係る判定処理と、本実施例に係る判定処理と、の相違について主に説明する。
【０１２７】
実施例１に係る送信装置３００の期間変更部３５１は、図９に示した判定処理のステップＳ１２及びステップＳ１３において、キャッシュデータで表される空席数が、第１閾値より大きく、かつ第２閾値よりも少ないと判定すると（ステップＳ１８；Ｎｏ)、キャッシュデータの有効期間を設定有効期間のまま変更せずに、ステップＳ１４以降の処理を実行する。
【０１２８】
これに対して、本実施例に係る送信装置３００の期間変更部３５１は、キャッシュデータで表される空席数が、第１閾値より大きく、かつ第２閾値よりも少ないと判定すると（ステップＳ１８；Ｎｏ)、図１１に示すステップＳ２１の処理を実行する。
【０１２９】
ステップＳ２１において、期間変更部３５１は、ステップＳ０２で取得された検索条件データから、当該検索条件データで表される検索条件に含まれる検索日を取得する。次に、期間変更部３５１は、検索日を含む繁忙期を検索する（ステップＳ２１）。ステップＳ２１の処理は、例えば、期間変更部３５１が、検索日以前の開始日を表す情報と、検索日以後の終了日を表す情報と、に対応付けられた繁忙期名を表す情報を、図１０に示した繁忙期テーブルから検索する処理である。
【０１３０】
次に、期間変更部３５１は、ステップＳ２１で繁忙期が検索されたか否かに基づいて、検索日が繁忙期であるか否かを判定する（ステップＳ２２）。このとき、期間変更部３５１は、繁忙期が検索された場合には、検索日が繁忙期であると判定し、繁忙期が検索されなかった場合には、検索日が繁忙期でないと判定する。
【０１３１】
ステップＳ２２において、期間変更部３５１は、検索日が繁忙期であると判別すると（ステップＳ２２；Ｙｅｓ）、キャッシュデータの有効期間を短縮有効期間とする（ステップＳ２３）。繁忙期は、単位時間当たりの予約量が、繁忙期でない期間よりも多いからである。
【０１３２】
ステップＳ２２において、期間変更部３５１は、検索日が繁忙期でないと判別すると（ステップＳ２２；Ｎｏ）、ＯＳから現在日時を取得し、現在日時から検索日までの残日数を算出する（ステップＳ２４）。
【０１３３】
その後、期間変更部３５１は、設定日数を表す情報を情報記憶部３９０から読み出す。次に、残日数が、読み出した情報で表される設定日数以下であるか否かを判別する（ステップＳ２５）。
【０１３４】
通常、単位時間当たりの航空便の予約数量は、例えば、出発日などの検索日が近づくにつれて増加する。このため、残日数が設定日数以下の場合の単位時間当たりの航空便の予約数量と、残日数が設定日数より多い場合の単位時間当たりの航空便の予約数量と、の差異が所定値以上となるように、設定日数は、設定されている。
【０１３５】
本実施例では、残日数が設定日数以下の場合の単位時間当たりの航空便の予約数量が、残日数が設定日数より多い場合の単位時間当たりの航空便の予約数量の倍となるように設定日数が設定されているとして説明を行。しかし、これに限定される訳ではなく、当業者は実験により好適な設定日数を定めることができる。
【０１３６】
ステップＳ２５において、期間変更部３５１は、残日数が設定日数以下であると判別すると（ステップＳ２５；Ｙｅｓ）、キャッシュデータの有効期間を短縮有効期間とする（ステップＳ２３）。
【０１３７】
これに対して、期間変更部３５１は、残日数が設定日数以下でないと判別すると（ステップＳ２５；Ｎｏ）、キャッシュデータの有効期間を延長有効期間とする（ステップＳ２６）。
【０１３８】
ステップＳ２３又はステップＳ２６を実行した後に、図９のステップＳ１４及びそれ以降のステップが実行されると、判定処理の実行が終了される。
【０１３９】
尚、図１１に示したステップＳ２１及びステップＳ２２の実行を省略することで、検索日に基づかないが、検索日までの期間の長さに基づいて、キャッシュデータの有効期間を短縮又は延長しても良い。
【０１４０】
また、図１１に示したステップＳ２４及びステップＳ２５の実行を省略することで、検索日までの期間の長さに基づかないが、検索日に基づいて、キャッシュデータの有効期間を短縮又は延長しても良い。
【０１４１】
本実施例では、航空便の検索に用いられる検索条件は、航空機の出発日を特定の日に指定する条件を含むとして説明した。しかし、これに限定される訳でなく、検索条件は、商品の販売予定日、発送予定日、及び、到着予定日のいずれか１つ以上を特定の日に指定する条件を含んでも良い。
【０１４２】
ここで、役務又は商品の取引量は、例えば、役務の提供日、並びに、商品の販売予定日、発送予定日、及び、到着予定日などの検索日として指定される日に依存して変化することが多い。また、役務又は商品の取引量は、検索日として指定される日までの残日数に依存して変化することが多い。このため、これらの構成によれば、検索条件データで表された検索日及び検索日までの期間の長さのいずれか１つ以上に基づいて、キャッシュデータの有効期間を短縮又は延長するので、キャッシュデータが有効であるか否かを精度良く判定できる。
【０１４３】
＜実施例３＞
本実施例では、航空便の予約が申し込まれる前に送信されたキャッシュデータで表される空席数と、申し込み後に取得された検索結果データで表される空席数と、の相違が縮小するように、キャッシュデータの有効期間を延長若しくは縮小するために用いられる第１閾値及び第２閾値を変更する。
【０１４４】
本実施例に係るデータキャッシュシステム１や送信装置３００は、実施例１で説明したデータキャッシュシステム１や送信装置３００と同様の構成を有し、同様に動作し、同様の機能を有する。このため、以下、本実施例に係るデータキャッシュシステム１や送信装置３００と、実施例１で説明したデータキャッシュシステム１や送信装置３００と、の相違について説明する。
【０１４５】
以下、端末装置１１０は、航空便の検索条件を表す検索条件データと、検索条件に基づいて検索された航空便の空席数などを表すデータを送信するように求める送信リクエストと、を、送信装置３００へ送信したとして説明を行う。
【０１４６】
送信装置３００は、検索条件データと、送信リクエストと、を受信すると、図６に示した検索結果出力処理を実行する。これにより、検索条件データで表される検索条件に基づいて検索された航空便の空席数を表すキャッシュデータを、送信装置３００は、端末装置１１０に送信する。この際に、送信装置３００は、送信したキャッシュデータと、例えば、ＩＰ（Internet Protocol）アドレスなどのキャッシュデータの送信先を識別する情報と、を対応付けて、情報記憶部３９０に保存する。
【０１４７】
次に、端末装置１２０は、端末装置１１０が送信した検索条件データと同じ検索条件データと、送信リクエストと、を、送信装置３００へ送信したとして説明を行う。
【０１４８】
その後、端末装置１１０は、空席数などを表すキャッシュデータを送信装置３００から受信する。このキャッシュデータは、図９に示した判定処理において、送信装置３００が、第１閾値及び第２閾値を用いて有効と判定したキャッシュデータであるか、送信装置３００が無効と判定したキャッシュデータに代えて、取引サーバ２００から送信装置３００が新たに取得したキャッシュデータである。
【０１４９】
端末装置１１０は、受信したキャッシュデータに基づいて、図４に示す検索結果表示画面を表示する。端末装置１１０は、検索結果表示画面に表示された航空便のフライトナンバー、航空会社、及び空席数を視認し、検索された航空便を予約するか否か決定する。ユーザが、航空便を予約する場合には、図１に示す入力部１１１を操作して航空便の予約を行う。
【０１５０】
端末装置１１０は、入力部１１１の操作に応じて、予約する航空便を識別するフライトナンバー及びユーザを識別するユーザＩＤを入力する。その後、端末装置１１０は、これらフライトナンバー及びユーザＩＤを含み、フライトナンバーで識別される航空便の予約を申し込むことを表す申込データを、送信装置３００へ送信する。
【０１５１】
図５に示した送信装置３００のＬＡＮカード３０６は、端末装置１１０から申込データを受信する。図５に示した送信装置３００のＣＰＵ３０１は、ＬＡＮカード３０６が申込データを受信すると、図１２に示すような第１閾値及び第２閾値を変更する閾値変更処理を実行する。
【０１５２】
これにより、ＣＰＵ３０１は、図１３に示すような相違算出部３７０及び閾値変更部３８０として機能する。
【０１５３】
相違算出部３７０は、予約の申し込みがあった航空便について、申込データの取得前に送信されたキャッシュデータで表される空席数と、申込データの取得後に取得される新たな検索結果データで表される空席数と、の相違を算出する。
【０１５４】
閾値変更部３８０は、相違算出部３７０が算出した相違が縮小するように、第１閾値及び第２閾値を変更する。
【０１５５】
図１２に示す閾値変更処理の実行が開始されると、データ取得部３１５は、図５に示したＬＡＮカード３０６から、端末装置１１０の送信した申込データを取得する（ステップＳ３１）。
【０１５６】
次に、データ出力部３６０は、申込データに含まれるフライトナンバーで識別される航空便を検索する検索条件を、取引サーバ２００を宛先としてＬＡＮカード３０６へ出力する（ステップＳ３２）。その後、ＬＡＮカード３０６は、出力された検索条件を取引サーバ２００へ送信する。
【０１５７】
その後、ＬＡＮカード３０６は、取引サーバ２００から検索結果データを受信する。データ取得部３１５は、ＬＡＮカード３０６から検索結果データを取得する（ステップＳ３３）。
【０１５８】
次に、データ出力部３６０は、取得された検索結果データを用いた予約処理を実行する（ステップＳ３４）。
【０１５９】
予約処理では、データ出力部３６０は、検索結果データで表される空席数が０席より多いか否かを判別する。このとき、データ出力部３６０は、空席数が０席であると判別すると、予約の受付前に空席が無くなってしまったことを表すエラーメッセージを生成し、生成したエラーメッセージをＬＡＮカード３０６に出力する。端末装置１１０が、ＬＡＮカード３０６からエラーメッセージを受信すると、受信したメッセージを、図１に示した提示部１１９に提示する。
【０１６０】
これに対して、データ出力部３６０は、空席数が０席より多い（つまり、空席がある）と判別すると、取引サーバ２００を宛先として申込データをＬＡＮカード３０６に出力する。
【０１６１】
取引サーバ２００は、申込データを送信装置３００から受信すると、申込データによる航空便の予約を受け付ける。その後、取引サーバ２００は、予約を受け付けた旨を表すメッセージ（以下、予約受付メッセージという）を送信装置３００に返信する。
【０１６２】
送信装置３００は、予約受付メッセージを受信すると、端末装置１１０へ予約受付メッセージを転送する。その後、端末装置１１０は、予約受付メッセージを受信すると、受信したメッセージを、図１に示した提示部１１９に提示する。
【０１６３】
ステップＳ３４の予約処理が終了すると、相違算出部３７０は、端末装置１１０のＩＰアドレスに基づいて、情報記憶部３９０から、端末装置１１０に送信したキャッシュデータを検索する。
【０１６４】
次に、相違算出部３７０は、ステップＳ３３で取得した検索結果データで表される空席数（つまり、予約時の空席数）と、端末装置１１０に送信したキャッシュデータで表される空席数（つまり、予約前の空席数）と、の相違を算出する（ステップＳ３６）。
【０１６５】
その後、閾値変更部３８０は、算出された相違が値０であるか否かを判別する（ステップＳ３６）。このとき、閾値変更部３８０は、相違が値０であると判別すると（ステップＳ３６；Ｙｅｓ）、第１閾値も第２閾値も変更させず、閾値変更処理の実行を終了する。
【０１６６】
これに対して、閾値変更部３８０は、相違が値０でないと判別すると（ステップＳ３６；Ｎｏ）、予約時の空席が０席である（つまり、予約できない）か否かを判別する（ステップＳ３７）。
【０１６７】
このとき、閾値変更部３８０は、予約時の空席が０席でない（つまり、予約できた）と判別すると（ステップＳ３７；Ｎｏ）、第１閾値も第２閾値も変更させず、閾値変更処理の実行を終了する。
【０１６８】
これに対して、閾値変更部３８０は、予約時の空席が０席である（つまり、予約できない）と判別すると（ステップＳ３７；Ｙｅｓ）、第１閾値と第２閾値とを所定値だけ増加させる（ステップＳ３８及びステップＳ３９）。その後、閾値変更処理の実行を終了する。
【０１６９】
その後、保存部３２０は、次回に、図９に示す有効性判定処理が実行された場合に、情報記憶部３９０から読み出される第１閾値を表す情報と第２閾値を表す情報とを、変更された第１閾値を表す情報と変更された第２閾値を表す情報とで更新する。尚、第１閾値及び第２閾値の変更に用いられる所定値を表す情報は、情報記憶部３９０に予め保存されている。当業者は実験により、より好適な所定値の値を定めることができる。
【０１７０】
第１閾値は、図９のステップＳ１２において使用され、ステップＳ１２では、キャッシュデータで表される空席数が第１閾値以下の場合に、キャッシュデータの有効期間を短縮する。このため、第１閾値を所定値だけ増加させれば、増加させる前よりも多くのキャッシュデータの有効期間が短縮されるので、より多くのキャッシュデータの正確性が向上する。この結果、予約前の空席数と予約時の空席数との相違の平均値が縮小する。
【０１７１】
第２閾値は、図９のステップＳ１８において使用され、ステップＳ１８では、キャッシュデータで表される空席数が第２閾値以上の場合に、キャッシュデータの有効期間を延長する。このため、第２閾値を所定値だけ増加させれば、増加させる前よりも有効期間が延長されるキャッシュデータが少なくなるので、より多くのキャッシュデータの正確性が向上する。この結果、予約時の空席数と予約前の空席数との相違の平均値が縮小する。
【０１７２】
本実施例では、ステップＳ３８及びステップＳ３９において、第１閾値と第２閾値とを所定値だけ増加させることで、予約時の空席数と予約前の空席数との相違を縮小させるとして説明した。しかし、これに限定される訳ではなく、ステップＳ３８及びステップＳ３９において、有効期間の短縮時間を所定時間だけ長くし、延長時間を所定時間だけ短くしても良い。当業者は実験により、より好適な所定時間の値を定めることができる。
【０１７３】
＜実施例４＞
実施例１では、取引サーバ２００は、検索条件「出発地が羽田で、到着地が札幌で、かつ出発日が２０１３年３月１日」に基づいて唯１つの航空便を検索するとして説明した。本実施例では、取引サーバ２００が、上記検索条件に基づいて、複数の航空便を検索するとして説明を行う。
【０１７４】
また、本実施例では、取引サーバ２００は、検索した航空便の空席数が９以上ある場合でも、空席数を９席とする検索結果データを送信するとして説明する。このため、検索された航空便が大型旅客機によるものである場合には、検索結果データが空席数を９席と表していると、実際の空席が９席しかないのか、あるいは数百席あるのか、判別できないとして説明を行う。
【０１７５】
本実施例に係るデータキャッシュシステム１や送信装置３００は、実施例１で説明したデータキャッシュシステム１や送信装置３００と同様の構成を有し、同様に動作し、同様の機能を有する。このため、以下、本実施例に係るデータキャッシュシステム１や送信装置３００と、実施例１で説明したデータキャッシュシステム１や送信装置３００と、の相違について説明する。
【０１７６】
先ず、送信装置３００が、検索条件「出発地が羽田で、到着地が札幌で、かつ出発日が２０１３年３月１日」を表す検索条件データと送信リクエストとを受信した場合を例に挙げて説明を行う。この検索条件データと送信リクエストとを送信装置３００に送信したのは、端末装置１１０であり、送信装置３００が、この検索条件データと送信リクエストとを受信したとき、図８に示したキャッシュテーブルにはいかなるデータも保存されていない。
【０１７７】
本実施例に係る送信装置３００は、図５のＬＡＮカード３０６が検索条件データと送信リクエストとを受信すると、図１４に示す検索結果出力処理を実行する。
【０１７８】
検索結果出力処理の実行を開始すると、図６に示したステップＳ０１からステップＳ０３の処理を実行する。キャッシュテーブルにはいかなるデータも保存されていないため、判定部３５０は、キャッシュデータを検索できなかったと判定する（ステップＳ０３；Ｎｏ）。
【０１７９】
次に、図６に示したステップＳ０６からステップＳ０９の処理が実行された後に、検索結果出力処理の実行が終了される。これにより、図１５に示すような検索結果データがキャッシュデータとして、キャッシュテーブルに保存される。保存されたキャッシュデータは、検索条件「出発地が羽田で、到着地が札幌で、かつ出発日が２０１３年３月１日」に基づいて検索された４件のデータである。４件のキャッシュデータは、それぞれフライトナンバー「ＡＢＣ１２３」、「ＤＥＦ１２３」、「ＧＨＩ１２３」、及び「ＪＫＬ１２３」でそれぞれ識別される航空便の空席数などを表す。フライトナンバー「ＡＢＣ１２３」及び「ＧＨＩ１２３」で識別される航空便の空席数は、９席以上であり、フライトナンバー「ＤＥＦ１２３」で識別される航空便の空席数は、３席であり、フライトナンバー「ＪＫＬ１２３」で識別される航空便の空席数は、０席である。
【０１８０】
次に、端末装置１１０が検索条件データと送信リクエストとを送信装置３００へ送信してから２０分後に、端末装置１１０が送信した検索条件データと同じ検索条件データと送信リクエストとを、端末装置１２０が送信装置３００へ送信したとして説明を行う。
【０１８１】
ＬＡＮカード３０６が端末装置１２０から検索条件データと送信リクエストとを受信すると、図１４の検索結果出力処理が再実行される。
【０１８２】
先ず、既に説明したステップＳ０１及びステップＳ０２の処理が実行される。これにより、検索部３４０は、検索条件「出発地が羽田で、到着地が札幌で、かつ出発日が２０１３年３月１日」に基づいて、図１５に示したキャッシュテーブルから４件のキャッシュデータを検索する。
【０１８３】
その後、判定部３５０は、キャッシュデータを検索できたと判定し（ステップＳ０３；Ｙｅｓ）、検索した４件のキャッシュデータそれぞれについて、図１６に示す判定処理を実行する（ステップＳ０４）。
【０１８４】
有効性判定処理の実行を開始すると、判定部３５０は、代替便が不足しているか否かを表す代替便不足フラグをＯＦＦにして初期化する（ステップＳ５１）。
【０１８５】
次に、判定部３５０は、図１４のステップＳ０２で検索された全ての航空便について注目したか否かを判別する（ステップＳ５２）。このとき、有効性判定処理の実行を開始したばかりであるので、いずれの航空便についても注目していない。このため、判定部３５０は、全ての航空便について注目した訳ではないと判別する（ステップＳ５２；Ｎｏ）。
【０１８６】
次に、判定部３５０は、未注目の航空便の内で、最も空席数が少ない航空便に注目する（ステップＳ５３）。ここでは、フライトナンバー「ＪＫＬ１２３」で識別される航空便の空席数が０席であるので、この航空便（以下、航空便「ＪＫＬ１２３」という）に注目する。
【０１８７】
その後、判定部３５０の期間変更部３５１は、注目された航空便「ＪＫＬ１２３」のキャッシュデータ（以下、注目キャッシュデータという）の有効期間を設定有効期間３０分とする（ステップＳ５４）。
【０１８８】
次に、期間変更部３５１は、情報記憶部３９０から第３閾値を表す情報を読み出す。ここで、第３閾値について説明する前に、同一の検索条件で検索された複数の航空便の関係について説明する。同一の検索条件で検索された複数の航空便は、互いに代替便の関係にある。互いに代替便の関係にある航空便の１つに空席が不足すると、空席が不足していない航空便の予約が増加する。また、これら互いに代替便の関係にある航空便間における空席数の単位時間当たりの減少量の相違は、これらの航空便と代替便の関係にない航空便との間の減少量の相違よりも少ない。このため、ある航空便の空席が不足すると、代替便の空席が不足し始める可能性が高い。
【０１８９】
ここで、空席の不足とは、空席が所定の席数を下回ることをいう。このため、第３閾値は、キャッシュデータが保存されてから設定有効期間を経過するまでに予約されると予想される席数に、上記所定の席数を加算した値である。本実施例では、第３閾値は、８席であるとして説明を行うが、これに限定される訳でない。当業者は実験により好適な第３閾値を定めることができる。
【０１９０】
期間変更部３５１は、注目キャッシュデータで表される空席数の０席が、第３閾値の８席以下であると判定し（ステップＳ５５；Ｙｅｓ）、代替便不足フラグをＯＮとする（ステップＳ５６）。
【０１９１】
次に、期間変更部３５１は、注目キャッシュデータで表される航空便の空席が０席であると判定し（ステップＳ５７；Ｙｅｓ）、有効期間を延長有効期間とする（ステップＳ５８）。空席が０の場合は、予約のキャンセルなどが生じない限り、空席数が変化しないためである。
【０１９２】
その後、判定部３５０の実判定部３５２は、注目キャッシュデータの保存日時からの経過時間を算出する（ステップＳ５９）。ここで、端末装置１２０は、端末装置１１０が検索条件データと送信リクエストとを送信装置３００へ送信してから２５分後に、端末装置１１０が送信した検索条件データと同じ検索条件データと送信リクエストとを送信装置３００へ送信した。このため、経過時間は、約２５分である。
【０１９３】
その後、実判定部３５２は、経過時間長が注目キャッシュデータの有効期間長以下であると判別する（ステップＳ６０；Ｙｅｓ）。経過時間が２５分であり、注目キャッシュデータの有効期間が延長有効期間４５分であるためである。
【０１９４】
このため、実判定部３５２は、注目航空便「ＪＫＬ１２３」のキャッシュデータが有効であると判定する（ステップＳ６１）。
【０１９５】
次に、判定部３５０は、ステップＳ５２に戻り、残り３件のキャッシュデータについて未だ注目していないため、全ての航空便について注目した訳ではないと判別する（ステップＳ５２；Ｎｏ）。
【０１９６】
次に、判定部３５０は、未注目の航空便「ＡＢＣ１２３」、「ＤＥＦ１２３」、及び「ＧＨＩ１２３」の内で、最も空席数が少ない航空便「ＤＥＦ１２３」に注目する（ステップＳ５３）。
【０１９７】
その後、ステップＳ５４からステップＳ５６の処理が実行される。次に、期間変更部３５１は、注目された航空便「ＤＥＦ１２３」のキャッシュデータで表される航空便の空席が３席であり、０席でないと判定し（ステップＳ５７；Ｎｏ）、有効期間を短縮有効期間１５分とする（ステップＳ６４）。注目航空便「ＤＥＦ１２３」の空席が不足しているためである。
【０１９８】
その後、ステップＳ５９の処理が実行された後に、実判定部３５２は、経過時間長が注目キャッシュデータの有効期間長より長いと判別する（ステップＳ６０；Ｎｏ）。経過時間が２５分であり、注目キャッシュデータの有効期間が短縮有効期間１５分であるためである。
【０１９９】
このため、実判定部３５２は、注目航空便「ＤＥＦ１２３」のキャッシュデータが無効であると判定する（ステップＳ６２）。
【０２００】
次に、判定部３５０は、ステップＳ５２へ戻り、残り２件のキャッシュデータについて未だ注目していないため、全ての航空便について注目した訳ではないと判別する（ステップＳ５２；Ｎｏ）。
【０２０１】
次に、判定部３５０は、未注目の航空便「ＡＢＣ１２３」及び「ＧＨＩ１２３」の内で、空席数が９席以上ある航空便「ＡＢＣ１２３」に注目する（ステップＳ５３）。
【０２０２】
その後、ステップＳ５４の処理が実行されてから、期間変更部３５１は、注目キャッシュデータで表される空席数の９席以上が、第３閾値の８席でない（８席よりも多い）と判定する（ステップＳ５５；Ｎｏ）。
【０２０３】
次に、期間変更部３５１は、代替便不足フラグがＯＮであると判定し（ステップＳ６３；Ｙｅｓ）、注目した航空便「ＡＢＣ１２３」の代替便に空席が不足していると判定する。このため、期間変更部３５１は、注目した航空便「ＡＢＣ１２３」の予約が増加すると判定し、航空便「ＡＢＣ１２３」のキャッシュデータの有効期間を短縮有効期間とする（ステップＳ６４）。尚、ステップＳ６３において、期間変更部３５１は、代替便不足フラグがＯＮでない（つまり、ＯＦＦである）と判定すると（ステップＳ６３；Ｎｏ）、注目キャッシュデータの有効期間を変更せずに、ステップＳ５９以降の処理を実行する。
【０２０４】
その後、ステップＳ５９の処理が実行された後に、実判定部３５２は、経過時間長が注目キャッシュデータの有効期間長より長いと判別する（ステップＳ６０；Ｎｏ）。経過時間が２５分であり、注目キャッシュデータの有効期間が短縮有効期間１５分であるためである。
【０２０５】
このため、実判定部３５２は、注目航空便「ＡＢＣ１２３」のキャッシュデータが無効であると判定する（ステップＳ６２）。
【０２０６】
次に、判定部３５０は、ステップＳ５２へ戻り、残り１件のキャッシュデータについて未だ注目していないため、全ての航空便について注目した訳ではないと判別する（ステップＳ５２；Ｎｏ）。
【０２０７】
次に、判定部３５０は、未注目の航空便「ＧＨＩ１２３」に注目する（ステップＳ５３）。その後、ステップＳ５４からステップＳ６０の処理が実行され、空席数が９席以上であることを表す航空便「ＧＨＩ１２３」のキャッシュデータが無効であると判定する（ステップＳ６２）。
【０２０８】
次に、判定部３５０は、ステップＳ５２へ戻り、全ての航空便について注目したと判別し（ステップＳ５２；Ｙｅｓ）、判定処理の実行を終了する。
【０２０９】
判定部３５０は、図１４のステップＳ０４の実行により、無効であると判定されたキャッシュデータが存在すると判定する（ステップＳ０５；Ｙｅｓ）。ステップＳ０４において、航空便「ＡＢＣ１２３」、「ＤＥＦ１２３」、及び「ＧＨＩ１２３」のキャッシュデータが無効と判定されたためである。
【０２１０】
次に、データ出力部３６０は、ステップＳ０１で取得された検索条件データで表される検索条件に、航空便「ＡＢＣ１２３」、「ＤＥＦ１２３」、及び「ＧＨＩ１２３」のフライトナンバーを追加する（ステップＳ０６ａ）。フライトナンバーが追加された検索条件は、「出発地が羽田で、到着地が札幌で、かつ出発日が２０１３年３月１日であり、かつフライトナンバーがＡＢＣ１２３、ＤＥＦ１２３、又はＧＨＩ１２３である」というものである。
【０２１１】
その後、データ出力部３６０は、フライトナンバーが追加された検索条件を表す検索条件データを、取引サーバ２００を宛先としてＬＡＮカード３０６へ出力する（ステップＳ０６）。
【０２１２】
取引サーバ２００は、受信した検索条件データで表される検索条件に基づいて３件の航空便を検索し、検索された３件の航空便の空席数などをそれぞれ表す３件の検索結果データを返信する。
【０２１３】
ＬＡＮカード３０６は、３件の検索結果データを取引サーバ２００から受信すると、データ取得部３１５は、ＬＡＮカード３０６から３件の検索結果データを取得する（ステップＳ０７）。
【０２１４】
次に、保存部３２０は、３件のキャッシュデータと保存日時を表す情報とを対応付けて、図８に示すキャッシュテーブルに保存する（ステップＳ０８）。
【０２１５】
その後、データ出力部３６０は、ステップＳ０８で保存された３件のキャッシュデータと、ステップＳ０２で検索され、かつステップＳ０４で有効と判定された１件のキャッシュデータと、を、端末装置１１０を宛先としてＬＡＮカード３０６へ出力する（ステップＳ０９）。その後、ＬＡＮカード３０６は、出力された４件のキャッシュデータを端末装置１１０へ送信し、データ出力部３６０は、検索結果出力処理の実行を終了する。
【０２１６】
尚、ステップＳ０５において、判定部３５０が、ステップＳ０２で検索された複数のキャッシュデータには、無効と判定されたキャッシュデータが存在しないと判定すると（ステップＳ０５；Ｎｏ）、データ出力部３６０は、ステップＳ０２で検索された複数のキャッシュデータの全てを、端末装置１１０を宛先としてＬＡＮカード３０６へ出力する（ステップＳ０９）。その後、データ出力部３６０は、検索結果出力処理の実行を終了する。
【０２１７】
これらの構成によれば、同じ検索条件に基づいて検索された複数のキャッシュデータでそれぞれ表される取引可能な役務の数量のいずれか１つ以上が第３閾値以下であると、第３閾値よりも大きい数量を表すキャッシュデータの有効期間を短縮する。ここで、同一の検索条件で検索された複数の役務は、互いに代替関係にある。第３閾値以下の数量しか取引可能でない役務が存在する場合には、代替関係にある役務の取引量が増加する。このため、第３閾値より多い数量を取引可能な役務のキャッシュデータであっても、キャッシュデータの有効期間を短縮するので、キャッシュデータの正確性が向上する。
【０２１８】
実施例１から４は、互いに組み合わせることができる。実施例１から４のいずれかに係る機能を実現するための構成を備えた送信装置３００として提供できることはもとより、複数の装置で構成されるシステムであって、実施例１から４のいずれかに係る機能を実現するための構成をシステム全体として備えたシステムとして提供することもできる。
【０２１９】
尚、実施例１から４のいずれかに係る機能を実現するための構成を予め備えた送信装置３００として提供できることはもとより、プログラムの適用により、既存の送信装置３００を実施例１から４のいずれかに係る送信装置３００として機能させることもできる。すなわち、実施例１から４のいずれかで例示した送信装置３００による各機能構成を実現させるためのプログラムを、既存の送信装置を制御するコンピュータ（ＣＰＵなど）が実行できるように適用することで、実施例１から４のいずれかに係る送信装置３００として機能させることができる。
【０２２０】
このようなプログラムの配布方法は任意であり、例えば、メモリカード、ＣＤ−ＲＯＭ、又はＤＶＤ−ＲＯＭなどの記録媒体に格納して配布できる他、インターネットなどの通信媒体を介して配布することもできる。また、本発明に係る方法は、実施例１から４のいずれかに係る送信装置３００を用いて実施できる。
【０２２１】
以上本発明の好ましい実施例について詳述したが、本発明は係る特定の実施例に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形、変更が可能である。
【０２２２】
また、上述した実施形態は、本発明を説明するためのものであり、本発明の範囲を限定するものではない。つまり、本発明の範囲は、実施形態ではなく、請求の範囲によって示される。そして、請求の範囲内及びそれと同等の発明の意義の範囲内で施される様々な変形が、本発明の範囲内とみなされる。
【符号の説明】
【０２２３】
１：データキャッシュシステム
１０：通信網
１１０、１２０：端末装置
１１１、１２１：入力部
１１９、１２９：提示部
２００：取引サーバ
３００：送信装置
３０１：ＣＰＵ
３０２：ＲＯＭ
３０３：ＲＡＭ
３０４：ハードディスク
３０５：メディアコントローラ
３０６：ＬＡＮカード
３０７：ビデオカード
３０８：ＬＣＤ
３０９：キーボード
３１０：スピーカ
３１１：タッチパッド
３１５：データ取得部
３２０：保存部
３３０：リクエスト取得部
３４０：検索部
３５０：判定部
３５１：期間変更部
３５２：実判定部
３６０：データ出力部
３７０：相違算出部
３８０：閾値変更部
３９０：情報記憶部
【要約】
データキャッシュシステムを構成する送信装置（３００）は、サーバから送信された取引可能な商品又は役務の数量を表す数量データを取得するデータ取得部（３１５）を備える。送信装置（３００）は、取得された数量データをキャッシュデータとして情報記憶部（３９０）に保存する保存部（３２０）及び数量の出力を求めるリクエストを取得するリクエスト取得部（３３０）を備える。送信装置（３００）は、リクエストが取得されると、キャッシュデータが受信又は保存された時刻からの経過時間と、キャッシュデータで表される数量と、に基づいて、キャッシュデータが有効であるか否かを判定する判定部（３５０）、を備える。データ取得部（３１５）は、キャッシュデータが無効であると判定されると、サーバから新たな数量データを受信し、保存部（３２０）は、新たな数量データを新たなキャッシュデータとして情報記憶部（３９０）に保存する。【図１】
0005484643.tif 000002
【図２】
0005484643.tif 000003
【図３】
0005484643.tif 000004
【図４】
0005484643.tif 000005
【図５】
0005484643.tif 000006
【図６】
0005484643.tif 000007
【図７】
0005484643.tif 000008
【図８】
0005484643.tif 000009
【図９】
0005484643.tif 000010
【図１０】
0005484643.tif 000011
【図１１】
0005484643.tif 000012
【図１２】
0005484643.tif 000013
【図１３】
0005484643.tif 000014
【図１４】
0005484643.tif 000015
【図１５】
0005484643.tif 000016
【図１６】
0005484643.tif 000017