(57)【特許請求の範囲】
【請求項１】
端末とネットワークを介して接続された検索システムにおいて、
前記端末から入力した検索条件に基づいて、検索を実行する検索手段と、
前記検索手段の検索結果に含まれる複数のアイテムの各々の在庫情報に基づいて、各アイテムの在庫の有無を判定する判定手段と、
前記判定手段の判定結果を保持する保持手段と、
前記検索条件に応じた広告リストを取得し、前記保持手段により保持された前記判定結果と前記広告リストとに基づいて、前記検索条件を満たし、かつ、在庫があるアイテムの広告を少なくとも１つ取得する広告取得手段と、
前記検索結果のうち在庫がある少なくとも１つのアイテムと、前記少なくとも１つの広告と、を検索結果画面に表示させる表示制御手段と、
を含むことを特徴とする検索システム。
【請求項２】
端末とネットワークを介して接続された検索システムにおいて、
複数の項目のうち前記端末から入力した少なくとも１つの項目の条件を含む検索条件に基づいて、検索を実行する検索手段と、
前記検索手段の検索結果に含まれる複数のアイテムの各々の在庫情報に基づいて、各アイテムの在庫の有無を判定する判定手段と、
前記判定手段の判定結果に基づいて、前記検索条件を満たし、かつ、在庫があるアイテムの広告を少なくとも１つ取得する広告取得手段と、
前記検索結果のうち在庫がある少なくとも１つのアイテムと、前記少なくとも１つの広告と、を検索結果画面に表示させる表示制御手段と、
を含み、
前記広告取得手段は、前記端末から所定項目の条件が入力されなかった場合には、過去の検索時に前記端末から入力した前記所定項目の条件を満たし、かつ、在庫があるアイテムの広告を少なくとも１つ取得する、
ことを特徴とする検索システム。
【請求項３】
前記検索システムは、ネットワークを介して広告システムと接続され、
前記広告取得手段は、前記広告システムに対し、前記広告リストを要求し、前記広告システムにより生成された前記広告リストを取得する、
ことを特徴とする請求項１に記載の検索システム。
【請求項４】
前記検索結果画面には、予め表示可能な広告の上限数が定められており、
前記広告取得手段は、前記上限数よりも多い広告を含む前記広告リストを取得し、前記広告リストに基づいて前記上限数以下の広告を取得する、
ことを特徴とする請求項１又は３に記載の検索システム。
【請求項５】
前記表示制御手段は、所定の期限までに前記少なくとも１つの広告が取得されなかった場合には、前記少なくとも１つの広告を含まない前記検索結果画面を表示させる、
ことを特徴とする請求項１〜４の何れかに記載の検索システム。
【請求項６】
前記所定項目の条件は、利用日であり、
前記広告取得手段は、前記端末から利用日が入力されなかった場合には、過去の検索時に前記端末から入力した利用日に在庫があるアイテムの広告を少なくとも１つ取得する、
ことを特徴とする請求項２に記載の検索システム。
【請求項７】
前記広告取得手段は、前記端末から入力した利用日における予約が完了した場合には、当該利用日を用いずに、前記検索条件を満たし、かつ、在庫があるアイテムの広告を少なくとも１つ取得する、
ことを特徴とする請求項６に記載の検索システム。
【請求項８】
コンピュータが、
ネットワークを介して接続された端末から入力した検索条件に基づいて、検索を実行する検索ステップと、
前記検索ステップの検索結果に含まれる複数のアイテムの各々の在庫情報に基づいて、各アイテムの在庫の有無を判定する判定ステップと、
前記判定ステップの判定結果を保持する保持ステップと、
前記検索条件に応じた広告リストを取得し、前記保持ステップにより保持された前記判定結果と前記広告リストとに基づいて、前記検索条件を満たし、かつ、在庫があるアイテムの広告を少なくとも１つ取得する広告取得ステップと、
前記検索結果のうち在庫がある少なくとも１つのアイテムと、前記少なくとも１つの広告と、を検索結果画面に表示させる表示制御ステップと、
を実行することを特徴とする検索方法。
【請求項９】
コンピュータが、
複数の項目のうち、ネットワークを介して接続された端末から入力した少なくとも１つの項目の条件を含む検索条件に基づいて、検索を実行する検索ステップと、
前記検索ステップの検索結果に含まれる複数のアイテムの各々の在庫情報に基づいて、各アイテムの在庫の有無を判定する判定ステップと、
前記判定ステップの判定結果に基づいて、前記検索条件を満たし、かつ、在庫があるアイテムの広告を少なくとも１つ取得する広告取得ステップと、
前記検索結果のうち在庫がある少なくとも１つのアイテムと、前記少なくとも１つの広告と、を検索結果画面に表示させる表示制御ステップと、
を実行し、
前記広告取得ステップは、前記端末から所定項目の条件が入力されなかった場合には、過去の検索時に前記端末から入力した前記所定項目の条件を満たし、かつ、在庫があるアイテムの広告を少なくとも１つ取得する、
ことを特徴とする検索方法。
【請求項１０】
ネットワークを介して接続された端末から入力した検索条件に基づいて、検索を実行する検索手段、
前記検索手段の検索結果に含まれる複数のアイテムの各々の在庫情報に基づいて、各アイテムの在庫の有無を判定する判定手段、
前記判定手段の判定結果を保持する保持手段、
前記検索条件に応じた広告リストを取得し、前記保持手段により保持された前記判定結果と前記広告リストとに基づいて、前記検索条件を満たし、かつ、在庫があるアイテムの広告を少なくとも１つ取得する広告取得手段、
前記検索結果のうち在庫がある少なくとも１つのアイテムと、前記少なくとも１つの広告と、を検索結果画面に表示させる表示制御手段、
としてコンピュータを機能させるためのプログラム。
【請求項１１】
複数の項目のうち、ネットワークを介して接続された端末から入力した少なくとも１つの項目の条件を含む検索条件に基づいて、検索を実行する検索手段、
前記検索手段の検索結果に含まれる複数のアイテムの各々の在庫情報に基づいて、各アイテムの在庫の有無を判定する判定手段、
前記判定手段の判定結果に基づいて、前記検索条件を満たし、かつ、在庫があるアイテムの広告を少なくとも１つ取得する広告取得手段、
前記検索結果のうち在庫がある少なくとも１つのアイテムと、前記少なくとも１つの広告と、を検索結果画面に表示させる表示制御手段、
としてコンピュータを機能させるためのプログラムであって、
前記広告取得手段は、前記端末から所定項目の条件が入力されなかった場合には、過去の検索時に前記端末から入力した前記所定項目の条件を満たし、かつ、在庫があるアイテムの広告を少なくとも１つ取得する、
プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、検索システム、検索方法、及びプログラムに関する。
【背景技術】
【０００２】
従来、検索条件に応じた広告を検索結果とともに表示させる検索連動型広告と呼ばれる技術が知られている。例えば、特許文献１には、キーワード、入札額、及びネットワークロケーションに関連付けられた広告（サーチリスティング）をデータベースに予め登録しておき、ユーザにより入力されたキーワードに応じた広告を特定し、検索結果リストの中に、当該特定した広告を表示させるシステムが記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特表２００３−５０１７２９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記のような検索連動型広告を、在庫の概念があるアイテムに適用することが検討されている。この場合、在庫があるアイテムの検索結果とともに、在庫があるアイテムの広告が表示されることになる。しかしながら、検索結果を表示させるための在庫判定と、広告を表示させるための在庫判定と、が別々に実行されると、在庫判定が二重に実行されるので、システムの処理負荷が増大する。【０００５】
本発明は上記課題に鑑みてなされたものであって、その目的は、在庫判定に対する処理負荷を軽減することが可能な検索システム、検索方法、及びプログラムを提供することである。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明に係る検索システムは、端末とネットワークを介して接続された検索システムにおいて、前記端末から入力した検索条件に基づいて、検索を実行する検索手段と、前記検索手段の検索結果に含まれる複数のアイテムの各々の在庫情報に基づいて、各アイテムの在庫の有無を判定する判定手段と、前記判定手段の判定結果に基づいて、前記検索条件を満たし、かつ、在庫があるアイテムの広告を少なくとも１つ取得する広告取得手段と、前記検索結果のうち在庫がある少なくとも１つのアイテムと、前記少なくとも１つの広告と、を検索結果画面に表示させる表示制御手段と、を含むことを特徴とする。【０００７】
本発明に係る検索方法は、ネットワークを介して接続された端末から入力した検索条件に基づいて、検索を実行する検索ステップと、前記検索ステップの検索結果に含まれる複数のアイテムの各々の在庫情報に基づいて、各アイテムの在庫の有無を判定する判定ステップと、前記判定ステップの判定結果に基づいて、前記検索条件を満たし、かつ、在庫があるアイテムの広告を少なくとも１つ取得する広告取得ステップと、前記検索結果のうち在庫がある少なくとも１つのアイテムと、前記少なくとも１つの広告と、を検索結果画面に表示させる表示制御ステップと、を含むことを特徴とする。【０００８】
本発明に係るプログラムは、ネットワークを介して接続された端末から入力した検索条件に基づいて、検索を実行する検索手段、前記検索手段の検索結果に含まれる複数のアイテムの各々の在庫情報に基づいて、各アイテムの在庫の有無を判定する判定手段、前記判定手段の判定結果に基づいて、前記検索条件を満たし、かつ、在庫があるアイテムの広告を少なくとも１つ取得する広告取得手段、前記検索結果のうち在庫がある少なくとも１つのアイテムと、前記少なくとも１つの広告と、を検索結果画面に表示させる表示制御手段、としてコンピュータを機能させる。【０００９】
本発明の一態様では、前記検索システムは、前記判定手段の判定結果を保持する保持手段を更に含み、前記広告取得手段は、前記検索条件に応じた広告リストを取得し、前記保持手段により保持された前記判定結果と前記広告リストとに基づいて、前記少なくとも１つの広告を取得する、ことを特徴とする。【００１０】
本発明の一態様では、前記検索システムは、ネットワークを介して広告システムと接続され、前記広告取得手段は、前記広告システムに対し、前記広告リストを要求し、前記広告システムにより生成された前記広告リストを取得する、ことを特徴とする。【００１１】
本発明の一態様では、前記検索結果画面には、予め表示可能な広告の上限数が定められており、前記広告取得手段は、前記上限数よりも多い広告を含む前記広告リストを取得し、前記広告リストに基づいて前記上限数以下の広告を取得する、ことを特徴とする。【００１２】
本発明の一態様では、前記表示制御手段は、所定の期限までに前記少なくとも１つの広告が取得されなかった場合には、前記少なくとも１つの広告を含まない前記検索結果画面を表示させる、ことを特徴とする。【００１３】
本発明の一態様では、前記検索条件は、複数の項目のうち前記端末から入力した少なくとも１つの項目の条件を含み、前記広告取得手段は、前記端末から所定項目の条件が入力されなかった場合には、過去の検索時に前記端末から入力した前記所定項目の条件を満たし、かつ、在庫があるアイテムの広告を少なくとも１つ取得する、ことを特徴とする。【００１４】
本発明の一態様では、前記所定項目の条件は、利用日であり、前記広告取得手段は、前記端末から利用日が入力されなかった場合には、過去の検索時に前記端末から入力した利用日に在庫があるアイテムの広告を少なくとも１つ取得する、ことを特徴とする。【００１５】
本発明の一態様では、前記広告取得手段は、前記端末から入力した利用日における予約が完了した場合には、当該利用日を用いずに、前記検索条件を満たし、かつ、在庫があるアイテムの広告を少なくとも１つ取得する、ことを特徴とする。
【発明の効果】
【００１６】
本発明によれば、在庫判定に対する処理負荷を軽減することが可能となる。
【図面の簡単な説明】
【００１７】
【図１】検索システム等の全体構成を示す図である。
【図２】トップ画面の一例を示す図である。
【図３】検索条件が送信された後の処理の概要を示す図である。
【図４】検索結果画面の一例を示す図である。
【図５】検索システム等で実現される機能の一例を示す機能ブロック図である。
【図６】施設データベースのデータ格納例を示す図である。
【図７】在庫データベースのデータ格納例を示す図である。
【図８】入札内容データベースのデータ格納例を示す図である。
【図９】広告設定データベースのデータ格納例を示す図である。
【図１０】検索システム等において実行される処理の一例を示すフロー図である。
【発明を実施するための形態】
【００１８】
［１．検索システムの全体構成］
以下、本発明に係る検索システムの実施形態の例を説明する。図１は、検索システム等の全体構成を示す図である。図１に示すように、検索システム１は、端末とネットワークＮを介して接続される。ネットワークＮは、インターネットなどのネットワークである。例えば、検索システム１は、ネットワークＮを介して広告システム２、ユーザ端末３０、施設端末４０、及び事業主端末５０の各々と接続される。なお、図１では、ユーザ端末３０、施設端末４０、及び事業主端末５０の各々を１台ずつ示しているが、これらは複数台あってよい。
【００１９】
検索システム１は、検索を実行するシステムであり、例えば、検索サーバ１０を含む。なお、検索システム１は、少なくとも１つのコンピュータを含めばよく、検索サーバ１０以外のコンピュータを含んでもよい。
【００２０】
検索サーバ１０は、サーバコンピュータである。検索サーバ１０は、制御部１１、記憶部１２、及び通信部１３を含む。制御部１１は、少なくとも１つのプロセッサを含む。制御部１１は、記憶部１２に記憶されたプログラムやデータに従って処理を実行する。記憶部１２は、主記憶部及び補助記憶部を含む。例えば、主記憶部はＲＡＭなどの揮発性メモリであり、補助記憶部は、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリ、又はハードディスクなどの不揮発性メモリである。通信部１３は、有線通信又は無線通信用の通信インタフェースであり、ネットワークＮを介してデータ通信を行う。
【００２１】
広告システム２は、広告を管理するシステムであり、例えば、広告サーバ２０を含む。広告は、商品の購入又はサービスの利用に誘導する情報（コンバージョンに誘導する情報）である。別の言い方をすれば、広告は、商品又はサービスの宣伝を目的とした情報である。広告は、画像によって電子的に提示される。いわゆるクーポンも広告の一例である。
【００２２】
なお、広告システム２は、少なくとも１つのコンピュータを含めばよく、広告サーバ２０以外のコンピュータを含んでもよい。また、検索システム１の管理主体と、広告システム２の管理主体と、は互いに同じであってもよいし、異なっていてもよい。また、検索システム１と広告システム２に分かれていなくてもよく、これらのシステムの機能が１つのシステムによって実現されてもよい。
【００２３】
広告サーバ２０は、サーバコンピュータである。広告サーバ２０は、制御部２１、記憶部２２、及び通信部２３を含む。制御部２１、記憶部２２、及び通信部２３の物理的構成は、それぞれ制御部１１、記憶部１２、及び通信部１３と同様であってよい。
【００２４】
ユーザ端末３０は、ユーザが操作するコンピュータである。ユーザは、検索システム１が提供するサービスの利用者であり、エンドユーザということもできる。例えば、ユーザ端末３０は、携帯電話機（スマートフォンを含む）、携帯情報端末（タブレット型コンピュータを含む）、又は、パーソナルコンピュータ等である。本実施形態では、ユーザ端末３０は、制御部３１、記憶部３２、通信部３３、操作部３４、及び表示部３５を含む。制御部３１、記憶部３２、及び通信部３３の物理的構成は、それぞれ制御部１１、記憶部１２、及び通信部１３と同様であってよい。
【００２５】
操作部３４は、任意の操作を受け付ける入力デバイスであり、例えば、タッチパネルやマウス等のポインティングデバイス、キーボード、又はボタン等である。操作部３４は、ユーザによる操作内容を制御部３１に伝達する。表示部３５は、例えば、液晶表示部又は有機ＥＬ表示部等である。表示部３５は、制御部３１の指示に従って画像を表示する。
【００２６】
施設端末４０は、施設の担当者が操作するコンピュータである。施設は、ユーザが予約可能な施設である。検索システム１は、ユーザによる施設の予約を受け付ける。施設は、任意の種類の施設であってよく、例えば、宿泊施設、公共施設、観光施設、又は運動施設等である。
【００２７】
例えば、施設端末４０は、携帯電話機（スマートフォンを含む）、携帯情報端末（タブレット型コンピュータを含む）、又は、パーソナルコンピュータ等である。本実施形態では、施設端末４０は、制御部４１、記憶部４２、通信部４３、操作部４４、及び表示部４５を含む。制御部４１、記憶部４２、通信部４３、操作部４４、及び表示部４５の物理的構成は、それぞれ制御部１１、記憶部１２、通信部１３、操作部３４、及び表示部３５と同様であってよい。
【００２８】
事業主端末５０は、事業主が操作するコンピュータである。事業主は、ユーザに対するサービスの提供者である。別の言い方をすれば、事業主は、施設から広告の掲載依頼を受け付ける者である。
【００２９】
例えば、事業主端末５０は、携帯電話機（スマートフォンを含む）、携帯情報端末（タブレット型コンピュータを含む）、又は、パーソナルコンピュータ等である。本実施形態では、事業主端末５０は、制御部５１、記憶部５２、通信部５３、操作部５４、及び表示部５５を含む。制御部５１、記憶部５２、通信部５３、操作部５４、及び表示部５５の物理的構成は、それぞれ制御部１１、記憶部１２、通信部１３、操作部３４、及び表示部３５と同様であってよい。
【００３０】
なお、記憶部１２，２２，３２，４２，５２に記憶されるものとして説明するプログラム及びデータは、ネットワークＮを介して供給されるようにしてもよい。また、各コンピュータのハードウェア構成は、上記の例に限られず、種々のハードウェアを適用可能である。例えば、コンピュータ読み取り可能な情報記憶媒体を読み取る読取部（例えば、光ディスクドライブやメモリカードスロット）や外部機器とデータの入出力をするための入出力部（例えば、ＵＳＢポート）が含まれていてもよい。例えば、情報記憶媒体に記憶されたプログラムやデータが読取部や入出力部を介して、各コンピュータに供給されるようにしてもよい。
【００３１】
［２．検索システムの概要］
本実施形態では、検索システム１を旅行予約サービスに適用する場合を一例として説明する。旅行予約サービスは、ユーザの旅行予約を支援するサービスであり、例えば、宿泊施設、航空券、レンタカー、及びバス等の予約が可能である。なお、検索システム１は、旅行予約以外の任意の場面に適用可能であり、例えば、商品の検索等の種々の場面に適用可能である。
【００３２】
例えば、ユーザがユーザ端末３０を操作して、検索サーバ１０にアクセスすると、旅行予約サービスのトップ画面が表示部３５に表示される。なお、以降説明する画面は、ユーザ端末３０に記憶された旅行予約のアプリケーションの画面として表示されてもよいし、ウェブブラウザの画面として示されてもよい。また、本実施形態では、スマートフォン用の画面を例に挙げるが、デスクトップ用又はタブレット用といった他のレイアウトの画面が表示されてもよい。
【００３３】
図２は、トップ画面の一例を示す図である。図２に示すように、例えば、トップ画面Ｇ１には、検索条件を入力するための入力フォームＦ１０〜Ｆ１４と、検索を実行するためのボタンＢ１５と、が表示される。本実施形態では、ユーザがトップ画面Ｇ１から宿泊施設を予約する場合を例に挙げる。なお、検索媒体は、旅行予約のウェブサイトに限られず、検索ツール等の任意の媒体であってよい。
【００３４】
入力フォームＦ１０には、地域名や施設名等の任意の文字列がキーワードとして入力される。入力フォームＦ１１には、予め用意された宿泊地域リストの中から任意の地域が入力される。入力フォームＦ１２には、チェックインの日付とチェックアウトの日付が入力される。入力フォームＦ１３には、予約する部屋数と利用人数が入力される。入力フォームＦ１４には、宿泊料金の下限値と上限値の少なくとも一方が入力される。
【００３５】
なお、ユーザは、入力フォームＦ１０〜Ｆ１４の全てに対して検索条件を入力する必要はなく、少なくとも１つに対して何らかの検索条件を入力すればよい。例えば、ユーザが、入力フォームＦ１０〜Ｆ１４の少なくとも１つに検索条件を入力してボタンＢ１５を選択すると、ユーザ端末３０は、検索サーバ１０に検索条件を送信する。
【００３６】
図３は、検索条件が送信された後の処理の概要を示す図である。図３に示すように、検索サーバ１０は、検索条件を受信すると、検索条件を満たす宿泊施設を検索して検索結果Ａを取得する。図３の例では、検索結果Ａに含まれる宿泊施設を一意に識別する施設ＩＤを「ｈ００００１」等の文字列で示している。
【００３７】
なお、本実施形態では、検索条件を受信した検索サーバ１０が自ら検索を実行する場合を説明するが、検索サーバ１０は、外部の検索エンジンに検索を要求してもよい。また、検索エンジンは、人気順、価格が安い順、又は評価が高い順といった条件で検索を実行し、検索結果Ａを取得してもよい。
【００３８】
検索サーバ１０は、検索結果Ａを取得すると、検索結果Ａに含まれる宿泊施設ごとに、検索条件が示す日付における在庫（空室）の有無を判定し、当該日付に在庫がある宿泊施設を判定結果Ｂとして取得する。図３の例では、施設ＩＤが「ｈ００００４」と「ｈ００００５」の宿泊施設については、検索結果を満たすが、検索条件が示す日付に在庫がなかったため、判定結果Ｂからは除外される。
【００３９】
なお、宿泊施設に予約開始日が設定されている場合、予約開始日より前であれば、検索条件が示す日付に在庫があったとしても在庫なしと判定されるようにしてもよい。また、宿泊施設が保有する部屋の収容人数や日時といった条件に応じて在庫の有無が判定されてもよい。また、検索条件に子どもの利用が設定されている場合、在庫判定の際に子どもの利用可能性が判定されてもよい。
【００４０】
本実施形態では、検索結果だけではなく、検索条件に応じた広告もユーザ端末３０に表示される。ユーザ端末３０に表示させる広告は、上限数が定められており、本実施形態では、２つとする。宿泊施設は、広告を出すか否かを自由に決めることができ、入札額等の条件も決めることができる。
【００４１】
例えば、検索サーバ１０は、広告サーバ２０に検索条件を送信し、広告リストＣを要求する。広告サーバ２０は、検索条件を受信すると、検索条件を満たす宿泊施設を検索して広告リストＣを取得する。本実施形態では、広告サーバ２０は、宿泊施設の在庫については管理しておらず、広告リストには、在庫がない宿泊施設が含まれることもある。図３の例であれば、施設ＩＤが「ｈ００００９」の宿泊施設については、広告の掲載を希望しており、ユーザの検索条件も満たすが、検索条件が示す日付に在庫がない（判定結果Ｂに含まれていない）。このため、広告サーバ２０は、広告リストＣに余裕を持たせるために、上限数よりも多くの広告を広告リストＣに含める。
【００４２】
広告リストＣには、検索条件が示す日付に在庫がない宿泊施設の広告も含まれているので、検索サーバ１０は、判定結果Ｂと広告リストＣを比較して、検索条件が示す日付に在庫がある宿泊施設の広告を特定する。図３の例では、広告リストＣにおける施設ＩＤが「ｈ００００９」の宿泊施設は、検索条件が示す日付に在庫がない（判定結果Ｂに存在しない）ので、この宿泊施設は、広告の対象から除外される。更に、広告の上限数が定められているので、検索サーバ１０は、上限数以下の広告を取得する。図４の例であれば、施設ＩＤが「ｈ００００１」と「ｈ００００２」の２つの宿泊施設の広告Ｄが取得される。
【００４３】
上記のように、本実施形態では、検索結果Ａを取得する場合と、広告Ｄを取得する場合と、の各々で在庫の有無に関する情報が必要になる。この点、在庫判定を別々に実行すると、在庫判定を二重に実行することになり、検索サーバ１０の処理負荷が増大する。そこで、検索サーバ１０は、検索結果を取得したときの在庫の判定結果Ｂを保持し、判定結果Ｂと広告リストＣを比較することによって、在庫判定を１回で済ませている。検索サーバ１０は、広告Ｄを特定すると、検索結果画面をユーザ端末３０に表示させる。
【００４４】
図４は、検索結果画面の一例を示す図である。図４に示すように、検索結果画面Ｇ２の表示領域Ａ２０には、ユーザが入力した検索条件が表示される。なお、図４の例では、検索条件として、チェックイン日とチェックアウト日、宿泊地域、大人の人数、及び子どもの人数が指定されており、これらの検索条件を満たし、かつ、検索条件が示す日付に在庫がある宿泊施設が検索される。
【００４５】
検索結果画面Ｇ２の表示領域Ａ２１には、上限数の数だけ広告Ｄの内容が表示され、表示領域Ａ２２には、判定結果Ｂの全部又は一部の内容が表示される。図４に示すように、広告は、ユーザの目に留まりやすいように、検索結果よりも優先的に表示され、例えば、検索結果よりも上に表示される。なお、図４では、各宿泊施設の名前と合計金額だけを示しているが、サムネイル画像や宿泊条件といった他の情報が表示されてもよい。
【００４６】
検索結果画面Ｇ２には、宿泊施設の予約画面に進むためのボタンＢ２３が表示される。ユーザは、表示領域Ａ２１のボタンＢ２３を選択して広告Ｄの宿泊施設を予約することもできるし、表示領域Ａ２２のボタンＢ２３を選択して検索結果Ａの宿泊施設を予約することもできる。何れの宿泊施設についても、検索条件が示す日付の在庫が確認されているので、ユーザは、どのボタンＢ２３を選択しても、検索条件が示す日付に在庫がある宿泊施設の予約画面へと進むことができる。
【００４７】
以上のように、検索サーバ１０は、検索結果における宿泊施設の在庫判定と、広告リストにおける宿泊施設の在庫判定と、を別々に実行するのではなく、在庫判定を１回で済ませることによって、処理負荷を軽減するようにしている。以降、この技術の詳細を説明する。
【００４８】
［３．検索システム等で実現される機能］
図５は、検索システム１等で実現される機能の一例を示す機能ブロック図である。本実施形態では、検索システム１、広告システム２、ユーザ端末３０、施設端末４０、及び事業主端末５０の各々で実現される機能を説明する。
【００４９】
[３−１．検索システムで実現される機能]
図５に示すように、検索システム１では、データ記憶部１００、検索部１０１、判定部１０２、保持部１０３、広告取得部１０４、及び表示制御部１０５が実現される。本実施形態では、これら各機能が検索サーバ１０で実現される。
【００５０】
［データ記憶部］
データ記憶部１００は、記憶部１２を主として実現される。データ記憶部１００は、検索や在庫判定に必要なデータを記憶する。ここでは、データ記憶部１００が記憶するデータの一例として、施設データベースＤＢ１、在庫データベースＤＢ２、入札内容データベースＤＢ３、及び広告設定データベースＤＢ４を説明する。
【００５１】
図６は、施設データベースＤＢ１のデータ格納例を示す図である。図６に示すように、施設データベースＤＢ１は、宿泊施設に関する各種情報を格納するデータベースである。例えば、施設データベースＤＢ１には、宿泊施設の施設ＩＤ、施設情報、及び部屋情報が格納される。
【００５２】
施設情報は、宿泊施設全体に関する情報であり、例えば、宿泊施設の名前、住所、連絡先、建物の画像、敷地内の施設、設備、及び価格帯などが格納される。部屋情報は、宿泊施設における個々の部屋に関する情報であり、例えば、部屋を一意に識別する部屋ＩＤ、部屋の名前、利用可能人数、部屋のタイプ、間取り、広さ、バス・トイレの有無、及び部屋の紹介文などが格納される。
【００５３】
各施設ＩＤに関連付けられた施設情報と部屋情報は、検索時のインデックスとして用いられる。例えば、宿泊地が検索条件として入力された場合には、施設情報の住所がインデックスとなる。また例えば、利用人数が検索条件として入力された場合には、部屋情報の利用可能人数がインデックスとなる。各宿泊施設の担当者は、施設端末４０を操作し、施設情報と部屋情報を登録することができる。
【００５４】
なお、施設データベースＤＢ１に格納される情報は、上記の例に限られない。例えば、複数の属性の中で宿泊施設又は各部屋が属する属性が格納されていてもよい。属性は、宿泊施設が属するカテゴリであり、例えば、施設のタイプ、エリア、又は価格帯等である。他にも例えば、属性は、子どもの利用可否、ペットの利用可否、バリアフリー対応であるか否か、又は英語対応の可否であってもよい。また例えば、施設データベースＤＢ１には、各部屋の価格又は宿泊施設の口コミといった情報が格納されていてもよい。これらの情報は、検索時のインデックスとして利用可能である。
【００５５】
図７は、在庫データベースＤＢ２のデータ格納例を示す図である。図７に示すように、在庫データベースＤＢ２は、各宿泊施設の在庫情報を格納するデータベースである。例えば、在庫データベースＤＢ２には、施設ＩＤ、部屋ＩＤ、利用日、及び在庫情報が格納される。即ち、各宿泊施設の部屋ごとに、複数の利用日の各々の在庫情報が管理されている。
【００５６】
在庫情報は、在庫の有無を示す情報である。宿泊施設の場合、空きがあることは在庫があることに相当し、空きがないことは在庫がないことに相当する。在庫情報は、残りの在庫数を示す。宿泊施設の場合、残りの在庫数は、残室数である。在庫情報が閾値以上であることは、在庫があることを意味し、在庫情報が閾値未満であることは、在庫がないことを意味する。本実施形態では、この閾値を１とするが、２以上の閾値を設けておき、在庫が少なくなったときに実質的に在庫がないと判定されるようにしてもよい。なお、在庫情報は、任意の形式の情報であってよく、数値に限られない。例えば、在庫情報は、在庫があるか否かを示すフラグのような情報であってもよい。
【００５７】
各宿泊施設の在庫情報は、常に最新の状態に保たれており、リアルタイムで更新される。例えば、検索サーバ１０は、宿泊施設の予約を受け付けると、当該宿泊施設の在庫情報を変更する。また例えば、宿泊施設が直接予約を受け付けた分については、施設の担当者が施設端末４０を操作して検索サーバ１０にアクセスし、在庫情報を変更する。また例えば、提携する他の旅行予約サービスが存在する場合には、検索サーバ１０は、他の旅行予約サービスとの間で在庫情報の整合性を取る。なお、在庫情報を更新する手段は、これらに限られず、他の手段によって在庫情報が更新されるようにしてもよい。例えば、施設端末４０は、外部管理システムを介して、一括で在庫情報を入力してもよい。
【００５８】
なお、図７の例では、宿泊施設の部屋ごとに在庫情報が存在する場合を説明したが、在庫情報は、宿泊施設全体の在庫を示してもよい。この場合、在庫情報は、宿泊施設が有する部屋全体の在庫の合計数となる。
【００５９】
図８は、入札内容データベースＤＢ３のデータ格納例を示す図である。図８に示すように、入札内容データベースＤＢ３は、宿泊施設によって登録された広告の入札内容を格納するデータベースである。例えば、入札内容データベースＤＢ３には、施設ＩＤと広告条件とが格納される。広告条件は、宿泊施設により登録された広告の条件であり、例えば、キーワード、地域名称、及び入札金額等の情報が格納される。広告条件は、広告リストに含める宿泊施設を検索する際のインデックスとなる。なお、入札金額は、広告が表示されたり選択されたりした場合に宿泊施設が事業主に支払う単価である。
【００６０】
図９は、広告設定データベースＤＢ４のデータ格納例を示す図である。図９に示すように、広告設定データベースＤＢ４は、事業者によって登録された広告の設定内容を格納するデータベースである。例えば、広告設定データベースＤＢ４には、検索結果画面Ｇ２に表示させる広告の上限数、日程条件、及び入札条件等の情報が格納される。なお、日程条件は、ユーザが検索した時点、ユーザが検索時に指定した利用日、又はユーザが予約した日付の何れかを示す。
【００６１】
なお、データ記憶部１００に記憶されるデータは、上記の例に限られない。例えば、データ記憶部１００は、ユーザ端末３０に表示させる画面のレイアウトデータ（ユーザインタフェースデータ）や画像データ等を記憶してもよい。また例えば、データ記憶部１００は、複数のユーザの各々に関する情報を格納するユーザデータベースを記憶してもよい。例えば、ユーザデータベースには、氏名、住所、性別、年齢、職業、画面の閲覧履歴、及び宿泊施設の予約履歴といった情報が格納される。また例えば、データ記憶部１００は、検索エンジンのプログラムを記憶してもよい。
【００６２】
［検索部］
検索部１０１は、制御部１１を主として実現される。検索部１０１は、ユーザ端末３０（ネットワークＮを介して接続された端末の一例）から入力した検索条件に基づいて、検索を実行する。
【００６３】
検索条件は、検索時のクエリとなる情報である。検索条件は、任意の条件を入力可能であり、例えば、キーワード（文字列）、数値、属性、又はこれらの組み合わせによって表現される。検索条件は、ＡＮＤ条件が指定されてもよいし、ＯＲ条件が指定されてもよい。
【００６４】
例えば、検索条件は、複数項目のうちユーザ端末から入力した少なくとも１つの項目を含む。項目とは、検索条件の構成要素（検索条件に含まれる情報）の種類である。図２の入力フォームＦ１１〜Ｆ１４の例であれば、「宿泊地」、「日程」、「部屋数／人数」、「合計料金」といった４項目が用意されており、ユーザは、少なくとも１つの項目の条件を入力する。入力フォームＦ１０に入力されるキーワードも検索条件の一例である。
【００６５】
本実施形態では、検索部１０１により検索される宿泊施設は、アイテムの一例である。このため、本実施形態で宿泊施設と記載した箇所は、アイテムと読み替えることができる。アイテムとは、検索対象となる情報（データ項目）であり、例えば、ユーザが予約するサービスであってもよいし、ユーザが購入する商品であってもよい。アイテムは、データアイテムと呼ばれることもあり、データベース内の個々のレコードということもできる。なお、宿泊施設内の個々の部屋がアイテムに相当してもよい。
【００６６】
検索部１０１は、ユーザ端末３０が検索サーバ１０に送信した検索条件に基づいて、検索を実行する。検索部１０１は、当該検索条件をクエリとし、施設データベースＤＢ１に格納された各宿泊施設の施設情報及び部屋情報をインデックスとして、検索を実行する。
【００６７】
本実施形態では、ウェブページの検索等で利用される公知の検索エンジンによって検索が実行される場合を例に挙げる。例えば、検索部１０１は、検索エンジンに検索条件を入力し、検索エンジンから出力された検索結果を取得する。本実施形態では、検索エンジンがデータ記憶部１００に記憶されているものとするが、外部コンピュータの検索エンジンを利用してもよい。検索エンジンは、施設データベースＤＢ１にアクセス可能であり、宿泊施設ごとに、検索条件との一致度を示すスコアを計算する。検索エンジンは、各宿泊施設のスコアに基づいて、検索結果を出力する。
【００６８】
検索結果は、検索条件に応じた宿泊施設のリストである。検索条件に応じた宿泊施設は、検索条件を満たす宿泊施設、検索条件と合致（一致）する宿泊施設、又は検索でヒットした宿泊施設ということもできる。検索結果には、検索条件に応じた少なくとも１つの宿泊施設が含まれており、その件数は任意であってよい。検索結果に含まれる宿泊施設の件数は、上限数が定められていてもよいし、特に上限数が定められていなくてもよい。検索条件に応じた宿泊施設が存在しなければ、検索結果が０件になることもある。
【００６９】
例えば、検索エンジンは、スコアが閾値以上の全ての宿泊施設を検索結果に含める。また例えば、検索エンジンは、スコアが高い順に所定数の宿泊施設を選択して検索結果に含める。検索部１０１は、検索エンジンから出力された検索結果を取得する。本実施形態では、検索エンジンは、在庫の有無は判定しないので、検索エンジンから出力された検索結果には、検索条件が示す日付に在庫がない宿泊施設が含まれることもある。なお、検索エンジンは、検索条件が示す日付の在庫の有無を判定してもよい。即ち、検索エンジンは、後述する判定部１０２に相当する機能を備えていてもよい。
【００７０】
なお、検索自体は、公知の検索アルゴリズムを利用可能であり、検索エンジンを利用した方法に限られない。例えば、検索部１０１は、インターネット等の検索で利用される検索エンジンではなく、独自の検索アルゴリズムを利用して検索を実行してもよい。この検索アルゴリズムは、任意の内容であってよく、例えば、キーワードとの完全一致又は部分一致を利用してもよいし、検索条件に含まれる数値と同じ又は似た値が検索されてもよい。
【００７１】
［判定部］
判定部１０２は、制御部１１を主として実現される。判定部１０２は、検索部１０１の検索結果に含まれる複数の宿泊施設の各々の在庫情報に基づいて、各宿泊施設の在庫の有無を判定する。各宿泊施設の在庫情報は、在庫データベースＤＢ２に格納されているので、判定部１０２は、在庫データベースＤＢ２に基づいて、検索結果に含まれる各宿泊施設の在庫の有無を判定する。
【００７２】
本実施形態では、判定部１０２が、検索結果に含まれる全ての宿泊施設について、検索条件が示す日付における在庫の有無を判定する場合を説明するが、判定部１０２は、一部の宿泊施設についてのみ、検索条件が示す日付における在庫の有無を判定してもよい。例えば、判定部１０２は、検索条件が示す日付における宿泊施設の在庫情報が閾値以上であるか否かを判定する。判定部１０２は、当該在庫情報が閾値以上であれば在庫があると判定し、当該在庫情報が閾値未満であれば在庫が無いと判定する。
【００７３】
［保持部］
保持部１０３は、制御部１１を主として実現される。保持部１０３は、判定部１０２の判定結果を保持する。判定部１０２の判定結果とは、検索条件が示す日付における各宿泊施設の在庫の有無を識別可能な情報である。保持とは、データ記憶部１００又は他の情報記憶媒体に情報を記録することである。別の言い方をすれば、保持は、判定部１０２の判定結果をすぐに消去せず、事後的に参照できるように残すことである。保持された判定結果は、任意のタイミングで参照可能であり、本実施形態では、広告取得部１０４によって参照される。
【００７４】
図３で説明したように、本実施形態では、検索結果には、検索条件に応じた宿泊施設の施設ＩＤが含まれる。なお、検索結果には、施設ＩＤだけではなく、部屋ＩＤも格納されるようにしてもよい。保持部１０３は、検索結果のうち、検索条件が示す日付に在庫がないと判定された宿泊施設の施設ＩＤを消去し、検索条件が示す日付に在庫があると判定された宿泊施設の施設ＩＤを残す。施設ＩＤが残った宿泊施設は、検索条件が示す日付に在庫があることを意味する。保持部１０３は、検索結果のうち、検索条件が示す日付に在庫があると判定された宿泊施設の施設ＩＤについてのみデータ記憶部１００に記録することによって、判定結果を保持する。
【００７５】
なお、判定部１０２の判定結果を保持する方法は、上記の例に限られない。例えば、保持部１０３は、検索結果に含まれる各宿泊施設の施設ＩＤに関連付けて、検索条件が示す日付における在庫の有無を示す在庫フラグを保持してもよい。他にも例えば、保持部１０３は、検索結果に含まれる各宿泊施設の在庫情報を、そのまま判定結果として保持してもよい。保持された判定結果は、任意のタイミングで消去され、例えば、検索結果画面Ｇ２が表示された場合に消去される。
【００７６】
［広告取得部］
広告取得部１０４は、制御部１１を主として実現される。広告取得部１０４は、判定部１０２の判定結果に基づいて、検索条件を満たし、かつ、在庫がある宿泊施設の広告を少なくとも１つ取得する。先述したように、本実施形態では、日付ごとに在庫情報が管理されているので、在庫がある宿泊施設は、検索条件が示す日付に在庫がある宿泊施設を意味する。即ち、他の日付に在庫があったとしても、検索条件が示す日付に在庫がない宿泊施設については、在庫がある宿泊施設に該当しない。
【００７７】
広告は、検索条件の全てを満たす宿泊施設の広告であってもよいし、検索条件の一部だけを満たす宿泊施設の広告であってもよい。別の言い方をすれば、検索結果の取得で利用される検索条件と、広告の検索で利用される検索条件と、は同じであってもよいし異なっていてもよい。例えば、検索条件には含まれないユーザ属性等の情報が広告の検索で利用されてもよい。
【００７８】
広告を取得するとは、広告を表示させるために必要な情報を取得することである。別の言い方をすれば、広告を取得するとは、表示すべき広告を特定することである。例えば、広告が示す宿泊施設の施設ＩＤを取得すること、広告の画像データを取得すること、広告が示す宿泊施設のページへのリンクを取得すること、及び、宿泊施設の施設情報又は部屋情報を取得することは、広告を取得することに相当する。
【００７９】
広告取得部１０４は、判定部１０２の判定結果を流用することによって、検索条件を満たす宿泊施設の広告のうち、検索条件が示す日付に在庫がある宿泊施設の広告を少なくとも１つ特定する。例えば、広告取得部１０４は、検索条件に応じた広告リストを取得し、保持部１０３により保持された判定結果と広告リストとに基づいて、検索条件が示す日付に在庫があるアイテムの広告を少なくとも１つ取得する。
【００８０】
図３で説明したように、広告リストは、検索条件を満たす宿泊施設の広告の一覧である。先述したように、広告リストの生成時点では、在庫判定は実行されていないので、広告リストには、検索条件が示す日付に在庫がない宿泊施設の広告が含まれることもある。例えば、広告リストには、施設ＩＤだけではなく、部屋ＩＤ、広告が示す宿泊施設のページへのリンク、及び広告の画像データ等が含まれていてもよい。
【００８１】
広告取得部１０４は、保持部１０３により保持された判定結果と広告リストとを比較し、広告を取得する。例えば、広告取得部１０４は、保持された判定結果に含まれる宿泊施設が広告リストに含まれるか否かを判定し、広告リストに含まれる宿泊施設の広告を取得する。また例えば、広告取得部１０４は、保持された判定結果に基づいて、広告リストの中から、検索条件が示す日付に在庫がある宿泊施設の広告を取得する。
【００８２】
本実施形態では、広告リストは、外部の広告システム２によって生成されるので、広告取得部１０４は、外部の広告システム２に対し、広告リストを要求し、広告システム２により生成された広告リストを取得する。広告取得部１０４は、広告システム２から取得した広告リストの中から、検索条件が示す日付に在庫がある宿泊施設の広告を取得する。なお、広告取得部１０４は、１つの広告だけを取得してもよいし、複数の広告を取得してもよい。検索条件を満たす宿泊施設の広告が存在しない場合、又は、検索条件が示す日付に在庫がある宿泊施設の広告が存在しない場合には、広告が取得されないこともある。
【００８３】
本実施形態では、検索結果画面Ｇ２には、予め表示可能な広告の上限数が定められており、広告取得部１０４は、上限数よりも多い広告を含む広告リストを取得し、広告リストに基づいて上限数以下の広告を取得する。上限数は、固定値であってもよいし可変値であってもよい。また、上限数は、全ユーザで共通であってもよいし、ユーザに応じて定められていてもよい。広告取得部１０４は、上限数いっぱいの広告を取得しなければならないわけではなく、１つ以上上限数以下の広告を取得すればよい。
【００８４】
［表示制御部］
表示制御部１０５は、制御部１１を主として実現される。表示制御部１０５は、検索結果のうち在庫がある少なくとも１つの宿泊施設と、少なくとも１つの広告と、を検索結果画面Ｇ２に表示させる。本実施形態では、表示制御部１０５が検索サーバ１０によって実現されるので、表示制御部１０５は、判定部１０２の判定結果と広告取得部１０４の取得結果とに基づいて、検索結果画面Ｇ２の表示データを生成し、ユーザ端末３０に送信する。
【００８５】
表示データは、検索結果画面Ｇ２を表示させるためのデータであればよく、検索結果画面Ｇ２全体を示すデータであってもよいし、検索結果画面Ｇ２の一部を示すデータであってもよい。例えば、ウェブブラウザで検索結果画面Ｇ２を表示させる場合には、表示データは、ＨＴＭＬデータである。また例えば、ユーザ端末３０のプログラム（例えば、旅行予約アプリ）を利用して各画面を表示させる場合には、表示データは、画面のフレームにはめ込む画像やテキスト情報である。
【００８６】
[３−２．広告システムで実現される機能]
図５に示すように、広告システム２では、広告リスト生成部２００が実現される。本実施形態では、広告リスト生成部２００が広告サーバ２０で実現される。なお、広告サーバ２０は、施設データベースＤＢ１、入札内容データベースＤＢ３、及び広告設定データベースＤＢ４と同等の内容のデータベースを記憶してもよいし、これらのデータベースを記憶せずに、検索サーバ１０に記憶されたこれらのデータベースにアクセス可能であってもよい。広告リストは、これらの少なくとも１つのデータベースの内容に基づいて生成される。
【００８７】
広告リスト生成部２００は、制御部２１を主として実現される。広告リスト生成部２００は、検索条件を満たす宿泊施設の広告リストを生成する。全ての宿泊施設が広告の対象となってもよいが、本実施形態では、各宿泊施設が広告を出すか否かを自由に指定できるので、広告リスト生成部２００は、検索条件を満たし、かつ、広告を出す宿泊施設の広告リストを生成する。
【００８８】
本実施形態では、広告リスト生成部２００は、検索結果画面Ｇ２における広告の上限数よりも多くの広告を含む広告リストを生成する。広告リストに含まれる広告には、上限数（検索結果画面Ｇ２における広告の上限数よりも多い数）が設けられていてもよいし、特に上限数が設けられていなくてもよい。また、検索条件を満たす宿泊施設が少ない場合には、検索結果画面Ｇ２における広告の上限数よりも少ない広告を含む広告リストが生成されてもよい。
【００８９】
先述したように、検索結果を取得するための検索条件と、広告リストを生成するための検索条件と、は異なっていてもよい。例えば、広告リスト生成部２００は、ユーザにより入力された検索条件だけでなく、ユーザの属性に基づいて広告リストを生成してもよい。また例えば、広告リスト生成部２００は、各宿泊施設が登録した広告条件に基づいて、広告リストを生成してもよい。例えば、広告リスト生成部２００は、広告条件に含まれるキーワードや地域名に合致する広告リストを生成してもよいし、入札金額に応じて重み付けしたスコアに基づいて広告リストを生成してもよい。
【００９０】
なお、広告リストに含まれる広告には、優先度が付けられていてもよい。例えば、広告リスト生成部２００は、入札金額が高いほど優先度が高くなるように、広告リストを生成してもよい。また例えば、広告リスト生成部２００は、広告条件に含まれるキーワードや地域名に合致するほど優先度が高くなるようにしてもよい。優先度が高いほど、広告取得部１０４によって選択されやすくなるものとする。
【００９１】
[３−３．ユーザ端末で実現される機能]
図５に示すように、ユーザ端末３０では、検索条件入力部３００が実現される。検索条件入力部３００は、制御部３１を主として実現される。検索条件入力部３００は、操作部３４の検出信号に基づいて、ユーザによる検索条件の入力を受け付け、当該検索条件を検索サーバ１０に送信する。例えば、ユーザがトップ画面Ｇ１のボタンＢ１５を選択すると、検索条件入力部３００は、入力フォームＦ１０〜Ｆ１４の各々に入力された情報を含む検索条件を、検索サーバ１０に送信する。
【００９２】
[３−４．施設端末で実現される機能]
図５に示すように、施設端末４０では、施設設定部４００、在庫設定部４０１、及び入札内容設定部４０２が実現される。
【００９３】
［施設設定部］
施設設定部４００は、制御部４１を主として実現される。施設設定部４００は、操作部４４の検出信号に基づいて、施設データベースＤＢ１に施設情報と部屋情報を登録する。例えば、施設設定部４００は、宿泊施設の担当者によって入力された施設情報と部屋情報を検索サーバ１０に送信し、宿泊施設の施設ＩＤに関連付けて施設データベースＤＢ１に登録する。
【００９４】
［在庫設定部］
在庫設定部４０１は、制御部４１を主として実現される。在庫設定部４０１は、操作部４４の検出信号に基づいて、在庫データベースＤＢ２の在庫情報を更新する。例えば、在庫設定部４０１は、宿泊施設の担当者によって在庫情報の変更操作が行われると、その旨を検索サーバ１０に送信し、宿泊施設の施設ＩＤに関連付けられた在庫情報を変更する。変更操作は、在庫の増減を指示する操作であってもよいし、最新の在庫数を入力する操作であってもよい。
【００９５】
［入札内容設定部］
入札内容設定部４０２は、制御部４１を主として実現される。入札内容設定部４０２は、操作部４４の検出信号に基づいて、入札内容データベースＤＢ３に入札条件を設定する。例えば、入札内容設定部４０２は、宿泊施設の担当者によって入力された広告条件を検索サーバ１０に送信し、入札内容データベースＤＢ３に登録する。
【００９６】
[３−５．事業主端末で実現される機能]
図５に示すように、事業主端末５０では、広告設定部５００が実現される。広告設定部５００は、制御部５１を主として実現される。広告設定部５００は、操作部５４の検出信号に基づいて、広告設定データベースＤＢ４に広告の設定内容を登録する。例えば、広告設定部５００は、事業主によって入力された広告の上限数、日程条件、及び入札条件等を検索サーバ１０に送信し、広告設定データベースＤＢ４に登録する。
【００９７】
［４．検索システム等において実行される処理］
図１０は、検索システム１等において実行される処理の一例を示すフロー図である。図１０に示す処理は、制御部１１，２１，３１が、それぞれ記憶部１２，２２，３２に記憶されたプログラムに従って動作することによって実行される。下記に説明する処理は、図５に示す機能ブロックにより実行される処理の一例である。なお、図１０においては、Ｓ３〜Ｓ５における検索処理が実行された後に、Ｓ６〜Ｓ７における広告リストの生成処理が実行される場合を説明するが、検索処理と、広告リストの生成処理と、は並行して実行可能である。
【００９８】
図１０に示すように、まず、ユーザ端末３０は、トップ画面Ｇ１を表示部３５に表示させる（Ｓ１）。例えば、トップ画面Ｇ１のＵＲＬが選択された場合、又は、旅行予約アプリが起動された場合に、Ｓ１の処理が実行される。ユーザ端末３０は、検索サーバ１０からトップ画面Ｇ１の表示に必要なデータを受信し、トップ画面Ｇ１を表示させる。
【００９９】
ユーザ端末３０は、操作部３４の検出信号に基づいて、ユーザが入力した検索条件を検索サーバ１０に送信する（Ｓ２）。Ｓ２においては、ユーザ端末３０は、入力フォームＦ１０〜Ｆ１４の各々にユーザが入力した検索条件を表示させる。ユーザ端末３０は、ボタンＢ１５が選択されると、入力フォームＦ１０〜Ｆ１４の各々に入力された検索条件を検索サーバ１０に送信する。
【０１００】
検索サーバ１０は、検索条件を受信すると、施設データベースＤＢ１の検索を実行する（Ｓ３）。Ｓ３においては、検索サーバ１０は、検索条件をクエリとし、施設データベースＤＢ１に格納された施設情報及び部屋情報をインデックスとして検索を実行し、検索結果を取得する。
【０１０１】
検索サーバ１０は、在庫データベースＤＢ２に基づいて、Ｓ３における検索結果に含まれる各宿泊施設の在庫の有無を判定する（Ｓ４）。Ｓ４においては、検索サーバ１０は、在庫データベースＤＢ２を参照し、検索結果に含まれる宿泊施設ごとに、検索条件が示す日付の在庫情報を取得する。検索サーバ１０は、在庫情報が１以上の宿泊施設については在庫ありと判定し、在庫情報が０の宿泊施設については在庫なしと判定する。
【０１０２】
検索サーバ１０は、Ｓ４における在庫の判定結果を保持する（Ｓ５）。Ｓ５においては、検索サーバ１０は、検索結果に含まれる宿泊施設ごとに、Ｓ４における判定結果を記憶部１２に記録する。
【０１０３】
検索サーバ１０は、広告システム２に対し、検索条件を送信して広告リストを要求する（Ｓ６）。広告リストの要求は、所定形式のデータが送信されることによって行われるようにすればよい。広告リストの要求には、ユーザが入力した検索条件が含まれるものとする。なお、広告リストの要求には、検索結果画面Ｇ２における広告の上限数等の情報が含まれていてもよい。
【０１０４】
広告サーバ２０は、要求を受信すると、広告リストを生成して検索サーバ１０に送信する（Ｓ７）。Ｓ７においては、広告サーバ２０は、検索条件をクエリとし、広告条件をインデックスとして広告を検索する。広告は、施設データベースＤＢ１及び入札内容データベースＤＢ３に基づいて検索されてもよいし、広告用に用意された施設のデータベースに基づいて検索されてもよい。広告サーバ２０は、検索結果に含まれる広告のうち、入札金額の高い順に所定個数の広告を選択し、広告リストを生成する。先述したように、当該所定個数は、検索結果画面Ｇ２における広告の上限数よりも多いものとする。
【０１０５】
検索サーバ１０は、広告リストを受信すると、Ｓ５において保持した判定結果に基づいて、広告リストの中から、検索条件が示す日付に在庫がある宿泊施設を特定し、当該宿泊施設の広告を取得する（Ｓ８）。Ｓ８においては、検索サーバ１０は、広告リストに含まれる広告が示す宿泊施設のうち、Ｓ４で在庫ありと判定された宿泊施設を特定し、当該宿泊施設の広告を取得する。
【０１０６】
検索サーバ１０は、Ｓ４における検索結果と、Ｓ８で取得した広告と、を含む検索結果画面Ｇ２の表示データを生成してユーザ端末３０に送信する（Ｓ９）。Ｓ９においては、検索サーバ１０は、Ｓ４における検索結果を表示領域Ａ２２に配置し、Ｓ８で取得した広告を表示領域Ａ２１に配置して検索結果画面Ｇ２の表示データを生成する。
【０１０７】
ユーザ端末３０は、表示データを受信すると、検索結果画面Ｇ２を表示部３５に表示させ（Ｓ１０）、本処理は終了する。以降、ユーザがボタンＢ２３を選択すると、宿泊施設の予約画面に進む。ユーザがトップ画面Ｇ１に戻る操作をすると、Ｓ１の処理から再び実行され、ユーザが検索条件を入力し直すとＳ２の処理から再び実行される。
【０１０８】
以上説明した検索システム１によれば、宿泊施設の検索時に実行した在庫の判定結果に基づいて、検索条件が示す日付に在庫がある宿泊施設の広告を取得して検索結果画面Ｇ２を表示させ、在庫の判定を二重に実行せず１回の判定で済ませることにより、在庫判定に対する検索サーバ１０の処理負荷を軽減することができる。また、在庫判定を１回で済ませることにより、検索条件が示す日付に在庫がある宿泊施設の広告を迅速に特定することができ、検索結果画面Ｇ２の表示に要する時間を短縮し、検索結果画面Ｇ２を表示させる処理を高速化することができる。また、広告サーバ２０が在庫の有無を判定する場合には、広告サーバ２０側でも在庫データベースＤＢ２を管理する必要があるが、広告サーバ２０は、検索条件が示す日付における在庫の有無を判定する必要がなく、在庫データベースＤＢ２を管理する必要がないので、広告サーバ２０のメモリ消費量を削減することができる。また、検索結果画面Ｇ２における検索結果と広告は、何れも在庫があることが確認されているので、広告主である宿泊施設の利用増大が期待される。ユーザからしてみても検索の二度手間が生じることなく宿泊施設を予約することができる。
【０１０９】
また、検索システム１は、宿泊施設の検索時に実行した在庫の判定結果を保持し、保持された判定結果と広告リストに基づいて、検索条件が示す日付に在庫がある宿泊施設の広告を取得することにより、判定結果と広告リストの比較という簡易な処理により、検索条件が示す日付に在庫がある宿泊施設の広告を特定することができる。
【０１１０】
また、検索システム１は、外部の広告システム２に対し、広告リストを要求し、広告システム２から広告リストを取得することにより、検索サーバ１０が広告リストを生成する処理を実行する必要がなくなるので、検索サーバ１０の処理負荷を軽減することができる。
【０１１１】
また、検索システム１は、検索結果画面Ｇ２に予め表示可能な広告の上限数よりも多い広告を含む広告リストの中から上限数以下の広告を取得することにより、検索結果画面Ｇ２に表示される広告数が上限数よりも少なくなることを防止することができる。即ち、広告リストに含まれる広告が上限数と同値である場合、何れかの広告の在庫がなかった場合には、検索結果画面Ｇ２に表示される広告が上限数よりも少なくなってしまう。しかし、本実施形態のように、上限数より多くの広告を含めて広告リストを生成することにより、上限数の広告を表示させる確率を高めることができる。
【０１１２】
［５．変形例］
なお、本発明は、以上に説明した実施の形態に限定されるものではない。本発明の趣旨を逸脱しない範囲で、適宜変更可能である。
【０１１３】
（１）例えば、広告サーバ２０が広告リストの生成処理に時間を要した場合、検索結果画面Ｇ２がユーザ端末３０になかなか表示されない可能性がある。このため、検索サーバ１０は、所定の期限までに広告リストを取得できなかった場合には、広告を含まない検索結果画面Ｇ２をユーザ端末３０に表示させてもよい。
【０１１４】
本変形例の表示制御部１０５は、所定の期限までに少なくとも１つの広告が取得されなかった場合には、少なくとも１つの広告を含まない検索結果画面を表示させる。所定の期限は、任意の期限が設定されてよく、例えば、検索条件を受信してから所定時間後であってもよいし、広告リストを要求してから所定時間後であってもよい。当該所定時間の長さは、任意の長さであってよく、例えば、１秒〜１０秒程度であってもよいし、それ以上であってもよい。
【０１１５】
表示制御部１０５は、リアルタイムクロック等を利用して計時処理を実行し、所定の期限が訪れたか否かを判定する。表示制御部１０５は、所定の期限が訪れるまでに広告が取得された場合には、広告を含む検索結果画面Ｇ２をユーザ端末３０に表示させる。一方、表示制御部１０５は、所定の期限が訪れるまでに広告が取得されなかった場合には、広告を含まない検索結果画面Ｇ２をユーザ端末３０に表示させる。即ち、表示制御部１０５は、広告の取得が完了するのを待つことなく、広告を含まない検索結果画面Ｇ２をユーザ端末３０に表示させる。
【０１１６】
変形例（１）によれば、所定の期限までに広告が取得されなかった場合には、広告を含まない検索結果画面Ｇ２がユーザ端末３０に表示されるので、検索結果画面Ｇ２の表示に要する時間を短縮し、検索結果画面Ｇ２を表示させる処理を高速化することができる。また、所定の期限が訪れた場合には、検索サーバ１０は、検索結果画面Ｇ２を表示させて広告を取得しないので、検索サーバ１０の処理負荷を軽減することができる。更に、広告サーバ２０に広告リストを取得させる処理を中断させる場合には、広告サーバ２０の処理負荷を軽減することもできる。
【０１１７】
（２）また例えば、検索サーバ１０が在庫のある宿泊施設の広告を取得しようとしても、ユーザが利用日を入力しなかった場合には、どの時点の在庫の有無を判定すべきかを特定できない。この場合、検索サーバ１０は、ユーザが直近で入力した利用日の在庫の有無を判定してもよい。
【０１１８】
なお、利用日は、所定項目の条件の一例である。このため、本変形例で利用日と記載した箇所は、所定項目の条件と読み替えることができる。所定項目は、利用日に限られず、任意の項目であってよい。所定項目は、検索条件として指定可能な複数の項目のうち、重要な項目として定められた項目であってよく、例えば、利用人数や地域名であってもよい。
【０１１９】
本変形例のデータ記憶部１００は、過去の検索時にユーザにより入力された検索条件を記憶する。データ記憶部１００は、所定項目の入力内容だけを記憶してもよいし、検索条件の全てを記憶してもよい。また、データ記憶部１００は、ユーザが過去に入力した全ての検索条件を記憶してもよいし、直近の検索条件（今回入力された検索条件の１回前に入力された検索条件）だけを記憶してもよい。他にも例えば、データ記憶部１００は、過去数ヶ月に入力された検索条件を記憶してもよい。
【０１２０】
広告取得部１０４は、ユーザ端末３０から所定項目の条件が入力されなかった場合には、過去の検索時にユーザ端末３０から入力した所定項目の条件を満たし、かつ、在庫がある宿泊施設の広告を少なくとも１つ取得する。本変形例では、所定項目の条件が利用日なので、広告取得部１０４は、ユーザ端末３０から利用日が入力されなかった場合には、過去の検索時にユーザ端末から入力した利用日に在庫がある宿泊施設の広告を少なくとも１つ取得する。
【０１２１】
例えば、検索部１０１は、実施形態で説明した処理と同様にして、利用日を含まない検索条件に基づいて、検索結果を取得する。判定部１０２は、過去の検索時にユーザにより入力された利用日を取得し、検索結果に含まれる宿泊施設の当該利用日の在庫情報に基づいて、当該利用日における在庫の有無を判定する。広告取得部１０４は、当該判定結果に基づいて、少なくとも１つの広告を取得する。判定部１０２の判定結果に基づいて広告を取得する処理自体は、実施形態で説明した通りである。
【０１２２】
変形例（２）によれば、ユーザ端末３０から所定項目の条件が入力されなかった場合には、過去の検索時にユーザ端末３０から入力した所定項目の条件に基づいて広告を取得することにより、ユーザにとって有益な広告を提示することができる。
【０１２３】
また、過去の検索時にユーザ端末３０から入力した利用日は、今回の検索でもユーザが検索しようとしている確率が高いので、このような利用日に基づいて広告を取得することにより、より有益な広告を提示することができる。
【０１２４】
（３）また例えば、変形例（２）において、ユーザが過去に入力した利用日で宿泊施設の予約が完了している場合には、その利用日に在庫がある宿泊施設の広告を出しても、ユーザがその広告を選択する確率が低く、広告の効果が低い。このため、この場合には、特に利用日を指定せずに、任意の日付で在庫がある宿泊施設が検索されて広告が表示されるようにしてもよい。
【０１２５】
本変形例のデータ記憶部１００は、ユーザの予約履歴を記憶する。例えば、検索サーバ１０は、ユーザによる宿泊施設の予約を受け付けるたびに、当該ユーザのユーザＩＤに関連付けて、予約内容をデータ記憶部１００に記録する。予約内容には、ユーザが予約した宿泊施設の施設ＩＤ、部屋ＩＤ、利用日、及び利用人数といった情報が含まれる。また、予約内容には、ユーザが検索時に入力した検索条件が含まれていてもよい。
【０１２６】
本変形例の広告取得部１０４は、ユーザ端末３０から入力した利用日における予約が完了した場合には、当該利用日を用いずに、検索条件を満たし、かつ、在庫があるアイテムの広告を少なくとも１つ取得する。広告取得部１０４は、ユーザ端末３０から利用日が入力されなかった場合、ユーザの予約履歴に基づいて、過去の検索時にユーザ端末３０から入力した利用日で予約が完了しているか否かを判定する。
【０１２７】
予約が完了していないと判定された場合には、広告取得部１０４は、変形例（２）のようにして、過去の検索時にユーザ端末３０から入力した利用日に基づいて広告を取得する。一方、予約が完了したと判定された場合には、広告取得部１０４は、過去の検索時にユーザ端末３０から入力した利用日を用いずに広告を取得する。この場合、判定部１０２は、在庫の判定をしなくてもよいし、予め定められた日付の在庫の判定をしてもよい。判定部１０２が在庫の判定をしない場合には、特に在庫の有無を判定せずに検索結果と広告が表示されることになる。
【０１２８】
変形例（３）によれば、ユーザが過去に入力した利用日で宿泊施設の予約が完了している場合には、当該利用日を用いずに広告を取得することにより、有益な広告を提示することができる。
【０１２９】
（４）また例えば、上記変形例を組み合わせてもよい。
【０１３０】
また例えば、実施形態では、旅行予約サービスのトップページに相当するトップ画面Ｇ１から検索条件が入力された場合の画面遷移について説明したが、他のページから同様の画面遷移がなされてもよい。例えば、検索サーバ１０がエリアごとの観光案内を示す観光ページを提供し、当該観光ページからユーザが施設情報を閲覧した場合に、同様の画面遷移がなされてもよい。即ち、観光ページからユーザが施設情報を閲覧した場合に、利用日に応じた在庫判定と、広告リストの生成と、が実行されて、施設情報のページに広告が表示されてもよい。また例えば、外部の検索エンジンから検索条件が入力され、当該検索エンジンの検索結果から施設情報が閲覧された場合に、同様の画面遷移がなされてもよい。即ち、外部の検索エンジンの検索結果から施設情報が閲覧された場合に、検索条件が示す日付に応じた在庫判定と、広告リストの生成と、が実行されて、施設情報のページに広告が表示されてもよい。
【０１３１】
また例えば、広告取得部１０４が判定部１０２の判定結果に基づいて広告を取得する処理は、上記説明した例に限られない。広告取得部１０４は、検索結果のうち、検索条件が示す日付に在庫がある少なくとも１つの宿泊施設の中から、広告として指定された少なくとも１つのアイテムを特定し、当該特定した少なくとも１つの宿泊施設の広告を取得してもよい。即ち、広告取得部１０４は、入札内容データベースＤＢ３に基づいて、検索結果のうち、検索条件が示す日付に在庫がある宿泊施設の中から、広告の掲載を希望する宿泊施設を特定し、当該宿泊施設の広告を取得してもよい。この場合、広告リストを取得せずに、検索条件が示す日付に在庫のある宿泊施設の広告を取得することができる。
【０１３２】
また例えば、検索システム１は、検索結果の取得と広告リストの生成の両方を実行してもよい。また例えば、検索結果画面Ｇ２には、広告の上限数が定められていなくてもよい。
【０１３３】
また例えば、検索システム１を旅行予約サービスに適用する場合を説明したが、検索システム１は、任意の検索をする場面に適用可能である。日付ごとの在庫の概念がないサービスに検索システム１を適用してもよく、例えば、検索システム１を電子商取引に適用してもよい。この場合、検索システム１は、ユーザが入力した検索条件に基づいて、商品を検索し、在庫の有無を判定する。検索システム１は、在庫の判定結果に基づいて、検索条件を満たし、かつ、在庫がある商品を少なくとも１つ取得し、検索結果とともに表示させるようにすればよい。他にも例えば、検索システム１は、レストラン予約、チケット購入、イベント予約、又はセミナー申し込みといった在庫の概念のある種々のサービスに適用可能である。
【０１３４】
また例えば、複数のコンピュータの各々で機能が分担されてもよい。例えば、また例えば、データ記憶部１００で記憶されるものとして説明したデータは、検索サーバ１０とは異なるデータベースサーバによって記憶されてもよいし、検索システム１の外部にあるデータベースサーバによって記憶されていてもよい。
【要約】
端末（３０）とネットワークを介して接続された検索システム（１）の検索手段（１０１）は、端末（３０）から入力した検索条件に基づいて、検索を実行する。判定手段（１０２）は、検索手段（１０１）の検索結果に含まれる複数のアイテムの各々の在庫情報に基づいて、各アイテムの在庫の有無を判定する。広告取得手段（１０４）は、判定手段（１０２）の判定結果に基づいて、検索条件を満たし、かつ、在庫があるアイテムの広告を少なくとも１つ取得する。表示制御手段（１０５）は、検索結果のうち在庫がある少なくとも１つのアイテムと、少なくとも１つの広告と、を検索結果画面に表示させる。【図１】
0006844071.tif 000002
【図２】
0006844071.tif 000003
【図３】
0006844071.tif 000004
【図４】
0006844071.tif 000005
【図５】
0006844071.tif 000006
【図６】
0006844071.tif 000007
【図７】
0006844071.tif 000008
【図８】
0006844071.tif 000009
【図９】
0006844071.tif 000010
【図１０】
0006844071.tif 000011