以下に、本願に係る情報提供装置、情報提供方法、および情報提供プログラムを実施するための形態(以下、「実施形態」と呼ぶ)について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る情報提供装置、情報提供方法、および情報提供プログラムが限定されるものではない。また、各実施形態は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略される。
〔1.情報提供処理の一例〕
まず、図1を参照し、実施形態に係る情報提供装置が行う情報提供方法について説明する。図1は、実施形態に係る情報提供装置が行う情報提供方法を説明するための図である。
情報提供装置1は、電子商取引(EC:Electronic Commerce)サービスで取引される取引対象に関する情報提供を実行する。ここで、取引対象とは、商品またはサービスである。なお、電子商取引サービスで取引される取引対象には、電子商店街(オンラインモール)、オンラインショッピングサイト、オークションサイト、フリーマーケットサイトなどの様々な態様にて取引される取引対象が含まれる。
情報提供装置1は、ユーザUが利用する端末装置2からの提供要求に応じたウェブコンテンツを端末装置2に提供する。ウェブコンテンツは、例えば、電子商店街、オンラインショッピングサイト、オークションサイト、フリーマーケットサイトなどのウェブサイトのコンテンツである。
まず、情報提供装置1は、外部装置3からユーザUに関する情報であるユーザ情報を取得する(ステップS1)。外部装置3は、ユーザ情報を情報提供装置1に送信する。例えば、外部装置3は、ユーザUの属性情報を含むユーザ情報を情報提供装置1に送信する。属性情報には、例えば、年齢、性別、居住地域、職業などのデモグラフィック属性を示す情報や、興味・関心、ライフスタイルなどのサイコグラフィック属性を示す情報などの様々な情報が含まれる。なお、属性情報は一例に過ぎず、ユーザ情報には、ユーザUに関する情報であれば、どのような情報が含まれてもよい。例えば、ユーザ情報には、インターネットにおける行動などのユーザUの行動の履歴が含まれてもよい。例えば、ユーザ情報には、電子商店街などの電子商取引サービスにおける取引対象についての情報の閲覧履歴、購買履歴などのユーザUの行動履歴が含まれてもよい。
また、情報提供装置1は、外部装置3から取引対象に関する情報である取引対象情報を取得する(ステップS2)。例えば、情報提供装置1は、電子商店街やショッピングサイトなどで取引される取引対象の取引対象情報を外部装置3から取得する。例えば、情報提供装置1は、電子商店街にて販売(出品)中の取引対象の取引対象情報を外部装置3から取得する。例えば、情報提供装置1は、所定の期間毎に、取引対象の取引対象情報を外部装置3から取得する。
ここで、取引対象情報には、取引対象に関する様々な情報が含まれる。例えば、取引対象情報には、取引対象の情報提供に用いられる様々な情報が含まれる。例えば、取引対象情報には、販売元、販売価格、取引対象の画像、カテゴリ、タイトル、説明文、支払方法、販売期間、販売個数などが含まれる。
また、例えば、取引対象情報には、取引対象の販売履歴が含まれる。例えば、取引対象情報には、取引対象の予約数、注文数、販売数、注文金額(売上)などの情報が含まれる。また、例えば、取引対象情報には、取引対象が販売された日時から経過した期間、取引対象を示す情報の閲覧回数(PV(Page View)数)、取引対象に対するレビュー数、取引対象に対する評価などの情報が含まれる。
なお、上記例では、情報提供装置1が、ステップS1と、ステップS2とに分けて取得処理を行う例を挙げて説明したが、情報提供装置1は、外部装置3からユーザ情報と取引対象情報とを同時に取得してもよい。
また、情報提供装置1は、サイトの管理者が用いる端末装置である管理者装置4から各種サイトのウェブコンテンツの構成情報を取得する(ステップS3)。ウェブコンテンツの構成情報は、ウェブコンテンツを端末装置2で表示するためのウェブコンテンツのレイアウトなどの情報である。ウェブコンテンツの構成情報は、例えば、HTML(Hyper Text Markup Language)またはXML(eXtensible Markup Language)などのマークアップ言語で記述された情報、およびスクリプト言語などのプログラム言語で記述された情報などを含む。
ウェブコンテンツは、互いに異なる領域に配置される複数のモジュールを含む。ウェブコンテンツを構成する複数のモジュールは、例えば、ヘッダとして機能するヘッダモジュール、取引対象を検索するための検索枠を含む検索モジュール、複数の取引対象の情報をカルーセル表示するカルーセル表示モジュール、および複数の取引対象の情報をランキング表示するランキング表示モジュールなどを含む。複数のモジュールのうちの少なくとも一部のモジュールは、ウェブコンテンツの提供先となるユーザUの情報であるユーザ情報を用いてカスタマイズされる。
また、情報提供装置1は、管理者装置4からファーストビュー設定要求を受け付ける(ステップS4)。ファーストビュー設定要求は、ウェブコンテンツを構成する複数のモジュールのうちファーストビューの対象となるモジュールを指定する情報を含む。
情報提供装置1は、ファーストビュー設定要求に含まれるファーストビューの対象を示す情報に基づいて、ウェブコンテンツを構成する複数のモジュールの各々がファーストビューの対象であるか否かを設定する。
例えば、情報提供装置1は、複数のモジュールのうちファーストビュー設定要求によって一部のモジュールがファーストビューの対象として設定されたウェブコンテンツを第1ウェブコンテンツとして扱う。また、情報提供装置1は、複数のモジュールのうちファーストビュー設定要求によってすべてのモジュールがファーストビューの対象として設定されたウェブコンテンツを第2ウェブコンテンツとして扱う。また、情報提供装置1は、複数のモジュールのいずれもファーストビューの対象として設定されていないウェブコンテンツを第3ウェブコンテンツとして扱う。
なお、情報提供装置1は、予め定められた条件を満たす第3ウェブコンテンツを第2ウェブコンテンツとして設定することもできる。また、情報提供装置1は、第3ウェブコンテンツを構成する複数のモジュールのうち予め定められた条件を満たすモジュールをファーストビューの対象として設定して、第3ウェブコンテンツを第1ウェブコンテンツとして扱うこともできる。
以下において、第1ウェブコンテンツの複数のモジュールのうちファーストビューの対象として設定されているモジュールを第1モジュールと記載し、ファーストビューの対象として設定されていないモジュールを第2モジュールと記載する場合がある。
情報提供装置1は、ユーザUが用いる端末装置2からのウェブコンテンツの提供要求を受け付ける(ステップS5)。情報提供装置1は、提供要求の対象となるウェブコンテンツに含まれる1以上のモジュールのレンダリングを行う(ステップS6)。
ステップS6の処理において、情報提供装置1は、提供要求の対象となるウェブコンテンツが第1ウェブコンテンツであるか第2ウェブコンテンツであるかによってレンダリングの対象となるモジュールが異なる。なお、情報提供装置1は、提供要求の対象となるウェブコンテンツが第3ウェブコンテンツである場合、ステップS6の処理を行わない。
情報提供装置1は、提供要求の対象となるウェブコンテンツが第1ウェブコンテンツである場合、第1ウェブコンテンツを構成する複数のモジュールのうち第1モジュールのレンダリングを行う。
具体的には、情報提供装置1は、第1ウェブコンテンツを構成する複数のモジュールのうち第1モジュールの複数の要素を外部装置3から取得した取引対象情報の中から収集する。例えば、情報提供装置1は、ユーザUのユーザ情報に基づいて、収集対象となる複数の要素を決定し、決定した複数の要素を第1モジュールの複数の要素として取引対象情報の中から収集する。そして、情報提供装置1は、取引対象情報の中から収集した複数の要素に基づいて、第1モジュールのレンダリングを行う。
例えば、情報提供装置1は、第1モジュールがカルーセル表示モジュールである場合、ユーザUのユーザ情報に基づいて、ユーザUが興味関心を有するカテゴリの複数の取引対象の情報を第1モジュールの複数の要素として取引対象情報の中から収集する。そして、情報提供装置1は、収集した複数の取引対象の情報をカルーセル表示可能にレンダリングする。
また、ステップS6の処理において、情報提供装置1は、提供要求の対象となるウェブコンテンツが第2ウェブコンテンツである場合、第2ウェブコンテンツを構成する複数のモジュールの各々のレンダリングを行う。
具体的には、情報提供装置1は、第2ウェブコンテンツを構成する複数のモジュールの各々の複数の要素を取引対象情報の中から収集する。例えば、情報提供装置1は、ユーザUのユーザ情報に基づいて、収集対象となる複数の要素を決定し、決定した複数の要素を取引対象情報の中から収集する。そして、情報提供装置1は、取引対象情報の中から収集した複数の要素に基づいて、複数の第2モジュールのレンダリングを行う。
次に、情報提供装置1は、提供要求の対象となるウェブコンテンツの情報である提供情報を端末装置2に提供する情報提供を行う(ステップS7)。提供情報は、例えば、提供要求の対象となるウェブコンテンツの構成情報であり、複数のタグ情報を含む。
ステップS7の処理において、情報提供装置1は、提供要求の対象となるウェブコンテンツが第1ウェブコンテンツであるか第2ウェブコンテンツである場合、第1情報と第2情報とユーザUのユーザ情報とを含む提供情報を端末装置2に提供する。
第1情報は、提供要求の対象となるウェブコンテンツが第1ウェブコンテンツである場合、第1ウェブコンテンツを構成する複数のモジュールのうちステップS6においてレンダリングされた第1モジュールを取得するための情報である。換言すれば、第1情報は、サーバサイドレンダリングによって生成されたモジュールを取得するための情報である。例えば、第1情報は、ステップS6においてレンダリングされた第1モジュールの取得先のアドレスの情報を含むタグ情報である。
また、第1情報は、提供要求の対象となるウェブコンテンツが第2ウェブコンテンツである場合、第2ウェブコンテンツを構成する複数のモジュールであってステップS6においてレンダリングされた複数のモジュールを取得するための情報である。例えば、第1情報は、ステップS6においてレンダリングされた各モジュールの取得先のアドレスの情報を含むタグ情報である。
第2情報は、提供要求の対象となるウェブコンテンツが第1ウェブコンテンツである場合、第1レンダリング処理および第1表示処理を端末装置2に実行させるための情報である。換言すれば、第2情報は、クライアントサイドレンダリングによってモジュールを生成するための情報である。
第1レンダリング処理は、第1ウェブコンテンツを構成する複数のモジュールのうち第2モジュールの複数の要素を情報提供装置1から収集し、収集した第2モジュールの複数の要素に基づいて、第2モジュールをレンダリングする処理である。第1表示処理は、第1レンダリング処理によってレンダリングされた複数のモジュールを端末装置2に表示する処理である。
第2情報は、提供要求の対象となるウェブコンテンツが第2ウェブコンテンツである場合、第2レンダリング処理および第2表示処理を端末装置2に実行させるための情報である。
第2レンダリング処理は、第2ウェブコンテンツを構成する複数のモジュールの各々の複数の要素を情報提供装置1から収集し、収集した複数のモジュールの各々の複数の要素に基づいて、複数のモジュールをレンダリングする処理である。
第2表示処理は、第2レンダリング処理によってレンダリングされた複数のモジュールを、第1情報によって表示された複数のモジュールが表示されている端末装置2の表示領域に上書き表示する処理である。なお、上書き表示の処理は、第1情報によって表示されている複数のモジュールを、第2レンダリング処理によってレンダリングされた複数のモジュールに置き換える処理である。
第2情報は、提供要求の対象となるウェブコンテンツが第3ウェブコンテンツである場合、第3レンダリング処理および第3表示処理を端末装置2に実行させるための情報である。
第3レンダリング処理は、第3ウェブコンテンツを構成する複数のモジュールの各々の複数の要素を情報提供装置1から収集し、収集した複数のモジュールの各々の複数の要素に基づいて、複数のモジュールをレンダリングする処理である。第3表示処理は、第3レンダリング処理によってレンダリングされた複数のモジュールを端末装置2に表示する処理である。
第2情報は、例えば、スプリクト言語などのプログラム言語で記述された情報またはスプリクト言語などのプログラム言語で記述されたプログラムの取得先のアドレスの情報を含むタグ情報であるが、かかる例に限定されない。
端末装置2は、情報提供装置1から提供される提供情報に基づく処理を行うことで、ウェブコンテンツに表示する(ステップS8)。提供情報に基づく処理は、提供要求に対応するウェブコンテンツが第1ウェブコンテンツ、第2ウェブコンテンツ、および第3ウェブコンテンツのいずれであるかによって異なる。
まず、提供要求に対応するウェブコンテンツが第1ウェブコンテンツである場合について説明する。この場合、端末装置2は、提供情報に含まれる第1情報に基づいて、ファーストビューの対象となるモジュールであって情報提供装置1によってレンダリングされた第1モジュールを表示する。
例えば、端末装置2は、提供情報に含まれる第1情報が情報提供装置1によってレンダリングされた第1モジュールの取得先のアドレスを示す場合、第1情報に基づいて、レンダリング済みの第1モジュールを情報提供装置1から取得する。そして、端末装置2は、情報提供装置1から取得したレンダリング済みの第1モジュールを表示する。
これにより、ファーストビューの対象として設定された第1モジュールは、端末装置2でレンダリングが行われることなく、端末装置2に表示されることから、端末装置2に表示される第1モジュールのカクつきの発生を抑制することができ、複数のモジュールを含むウェブコンテンツを端末装置2で表示する際の表示品質を高めることができる。
また、端末装置2は、第1ウェブコンテンツのうち端末装置2の表示領域に表示されている領域を含む予め定められた領域に配置される第2モジュールをレンダリング対象の第2モジュールとして判定する。端末装置2は、提供情報に含まれる第2情報に基づいて、レンダリング対象の第2モジュールの複数の要素を情報提供装置1から収集する。
そして、端末装置2は、情報提供装置1から収集した第2モジュールの複数の要素と、提供情報に含まれるユーザ情報とに基づいて、第2モジュールをレンダリングする処理であるレンダリング処理を行う。端末装置2は、レンダリング済みの第2モジュールを第2情報で指定された領域に配置することで第2モジュールを表示する。
これにより、端末装置2の表示領域に表示されていない第2モジュールであって表示位置が下位の第2モジュールの複数の要素の収集タイミングを遅らせることができる。また、ユーザUの操作によってウェブコンテンツの下位の領域まで閲覧されない場合には、第2モジュールの複数の要素を収集したりレンダリングしたりすることがないため、第2モジュールが情報提供装置1でレンダリングされる場合に比べて、通信負荷および処理負荷などを低減することができる。
また、端末装置2において、第2モジュールのレンダリング処理を行うための第2情報が用いられる。そのため、例えば、端末装置2は、第2情報を用いて、レンダリング処理を繰り返すことで、モジュールを構成する複数の要素を動的に表示することが容易となる。また、端末装置2は、モジュールを構成する複数の要素を動的に変更することもでき、ウェブコンテンツの魅力を向上させることができる。
次に、提供要求に対応するウェブコンテンツが第2ウェブコンテンツである場合について説明する。この場合、端末装置2は、提供情報に含まれる第1情報に基づいて、第2ウェブコンテンツを構成するすべてのモジュールであって情報提供装置1によってレンダリングされたモジュールを表示する。
これにより、第2ウェブコンテンツを構成するすべてのモジュールは、端末装置2でレンダリングが行われることなく、端末装置2に表示される。これにより、第2ウェブコンテンツを構成するすべてのモジュールは、端末装置2でのレンダリングなしに表示される。そのため、端末装置2に表示されるモジュールのカクつきの発生を抑制することができ、複数のモジュールを含むウェブコンテンツを端末装置2で表示する際の表示品質を高めることができる。
また、端末装置2は、提供情報に含まれる第2情報に基づいて、第2ウェブコンテンツを構成する複数のモジュールのうち端末装置2の表示領域を含む予め定められた領域に配置される複数のモジュールをレンダリング対象の複数のモジュールとして判定する。
端末装置2は、提供情報に含まれる第2情報に基づいて、レンダリング対象の複数のモジュールの複数の要素を情報提供装置1から収集する。そして、端末装置2は、情報提供装置1から収集した複数のモジュールの複数の要素と、提供情報に含まれるユーザ情報とに基づいて、複数のモジュールのレンダリングを行う。端末装置2は、レンダリング済みの複数のモジュールを提供情報で指定された領域に配置することで複数のモジュールを表示領域に上書き表示する。
このように、端末装置2において、レンダリング処理を行うための第2情報が用いられる。そのため、例えば、端末装置2は、第2情報を用いて、レンダリング処理を繰り返すことで、モジュールを構成する複数の要素を動的に表示することが容易となる。また、端末装置2は、モジュールを構成する複数の要素を動的に変更することもでき、ウェブコンテンツの魅力を向上させることができる。
次に、提供要求に対応するウェブコンテンツが第3ウェブコンテンツである場合について説明する。この場合、端末装置2は、提供情報に含まれる第2情報に基づいて、第3ウェブコンテンツを構成する複数のモジュールのうち端末装置2に表示されている領域を含む予め定められた領域に配置される複数のモジュールをレンダリング対象の複数のモジュールとして判定する。
端末装置2は、提供情報に含まれる第2情報に基づいて、レンダリング対象の複数のモジュールの複数の要素を情報提供装置1から収集する。そして、端末装置2は、情報提供装置1から収集した複数のモジュールの複数の要素と、提供情報に含まれるユーザ情報とに基づいて、複数のモジュールのレンダリングを行う。端末装置2は、レンダリング済みの複数のモジュールを提供情報で指定された領域に配置することで複数のモジュールを表示領域に表示する。
このように、端末装置2において、レンダリング処理を行うための第2情報が用いられる。そのため、例えば、端末装置2は、第2情報を用いて、レンダリング処理を繰り返すことで、モジュールを構成する複数の要素を動的に表示することが容易となる。また、端末装置2は、モジュールを構成する複数の要素を動的に変更することもでき、ウェブコンテンツの魅力を向上させることができる。
以下、このような処理を行う情報提供装置1、端末装置2、外部装置3、および管理者装置4を含む情報提供システムの構成などについて、詳細に説明する。
〔2.情報提供システム100の構成〕
図2は、実施形態に係る情報システムの構成の一例を示す図である。図2に示すように、実施形態に係る情報提供システム100は、情報提供装置1と、端末装置2と、外部装置3と、管理者装置4とを含む。
情報提供装置1、端末装置2、外部装置3、および管理者装置4は、ネットワークNを介して、有線または無線により互いに通信可能に接続される。なお、図2に示す情報提供システム100には、情報提供装置1、端末装置2、外部装置3、および管理者装置4の各々が複数含まれてもよい。
実施形態に係る端末装置2および管理者装置4の各々は、ウェブコンテンツなどにアクセスするユーザUによって利用される情報処理装置である。例えば、端末装置2および管理者装置4の各々は、デスクトップ型PC(Personal Computer)、ノート型PC、タブレット端末、携帯電話機、またはPDA(Personal Digital Assistant)などである。なお、端末装置2は、上記例に限定されなくともよく、例えば、スマートウォッチまたはウェアラブルデバイス(Wearable Device)などであってもよい。
実施形態に係る外部装置3は、各種情報を提供する情報処理装置であり、例えば、サーバ装置またはクラウドシステムなどにより実現される。例えば、外部装置3は、各種情報として、ユーザ情報を提供する。また、他の例として、外部装置3は、インターネットショッピング、電子商店街、フリーマーケットサイト、オークションサイト、旅行または飲食店などの予約サイト、クレジットカード契約サイト、金融商品提供サイトなどにおける取引対象に関する情報を提供する。
実施形態に係る情報提供装置1は、インターネットなどの所定のネットワークNを介して、各種の装置と通信可能な情報処理装置であり、例えば、サーバ装置またはクラウドシステムなどにより実現される。例えば、情報提供装置1は、ネットワークNを介して、他の各種装置と通信可能に接続される。
〔3.情報提供装置1の構成〕
以下、上記した情報提供装置1が有する機能構成の一例について説明する。図2に示すように、情報提供装置1は、通信部10と、記憶部11と、処理部12とを有する。
〔3.1.通信部10〕
通信部10は、例えば、NIC(Network Interface Card)などによって実現される。そして、通信部10は、ネットワークNと有線または無線で接続され、他の各種装置との間で情報の送受信を行う。例えば、通信部10は、端末装置2、外部装置3、および管理者装置4の各々との間でネットワークNを介して情報の送受信を行う。
〔3.2.記憶部11〕
記憶部11は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)などの半導体メモリ素子、または、ハードディスク、光ディスクなどの記憶装置によって実現される。また、記憶部11は、ユーザ情報記憶部20と、取引対象情報記憶部21と、コンテンツ情報記憶部22とを有する。
〔3.2.1.ユーザ情報記憶部20〕
ユーザ情報記憶部20は、ユーザUに関する各種ユーザ情報を記憶する。図3は、実施形態に係るユーザ情報記憶部20に記憶されるユーザ情報テーブルの一例を示す図である。図3に示した例では、ユーザ情報記憶部20に記憶されるユーザ情報テーブルは、「ユーザID」、「ユーザ情報」といった項目を有する。例えば、「ユーザ情報」は、「属性情報」、「購買履歴」、「閲覧履歴」、「ポイント情報」といった項目を含む。
「ユーザID」は、ユーザUを識別する識別子である。「属性情報」は、「ユーザID」に対応付けられたユーザUの属性に関する属性情報である。例えば、属性情報は、ユーザUの年齢、性別、電話番号、および住所などを含む。なお、上述した属性情報は、一例に過ぎず、年齢、性別など以外、例えば職業などのデモグラフィック属性を示す情報、および興味・関心、ライフスタイルなどのサイコグラフィック属性を示す情報などの様々な情報が含まれる。
「購買履歴」は、「ユーザID」に対応付けられたユーザUによって購買された購買履歴である。例えば、購買履歴は、ユーザUによって購買された取引対象に関する情報、取引対象の種別、取引対象が購買された購買回数、取引対象が購買された日時に関する情報などである。
「閲覧履歴」は、「ユーザID」に対応付けられたユーザUによってコンテンツが閲覧された履歴である。例えば、「閲覧履歴」は、ユーザUの端末装置2にコンテンツが表示された履歴であってもよい。例えば、閲覧履歴は、ユーザUによって閲覧(表示)されたコンテンツに関する情報、コンテンツの種別、コンテンツが表示された表示回数、コンテンツが表示された日時に関する情報などである。
「ポイント情報」は、ユーザUに付与されたポイントの情報であり、ポイントは、例えば、複数のオンラインサービスで利用可能なポイントである。なお、「ポイント情報」は、利用期限付きのポイントおよび利用期限なしのポイントなどのように複数種類のポイントの情報を含む。
例えば、図3では、ユーザIDによって識別された「U1」は、属性情報が「CH1」であり、購買履歴が「PH1」であり、表示履歴が「WA1」、ポイント情報が「PA1」である。なお、図3に示した例では、属性情報などを、「CH1」などの抽象的な符号で表現したが、属性情報などは、具体的な数値、具体的な文字列、または各種情報を含むファイル形式などであってもよい。
なお、図示しないが、ユーザ情報記憶部20は、ユーザUの行動履歴(例えば、カートへの取引対象の追加履歴、取引対象に対するお気に入り登録履歴など)も記憶される。また、ユーザ情報記憶部20は、上記に限らず、目的に応じて種々の情報を記憶してもよい。ユーザ情報記憶部20は、各取引対象についてその情報の表示回数、例えばユーザUの閲覧回数を示す情報をユーザ毎に記憶してもよい。
〔3.2.2.取引対象情報記憶部21〕
取引対象情報記憶部21は、取引対象に関する各種取引対象情報を記憶する。図4は、実施形態に係る取引対象情報記憶部21に記憶される取引対象情報テーブルの一例を示す図である。図4に示す例では、取引対象情報記憶部21に記憶される取引対象情報テーブルは、「取引対象ID」、「取引対象情報」、「カテゴリ」、「製品特定情報」といった項目を含む。なお、図4では、「カテゴリ」および「製品特定情報」を説明するために、「取引対象情報」と別の項目として説明するが、カテゴリの情報や製品の情報は、取引対象情報に含まれてもよい。
「取引対象ID」は、取引対象を識別する識別子である。「取引対象情報」は、「取引対象ID」により識別される取引対象の情報である取引対象情報である。「カテゴリ」は、「取引対象ID」により識別される取引対象が該当するカテゴリに関する情報である。「製品特定情報」は、「取引対象ID」により識別される取引対象が該当する製品に関する情報である。
例えば、図4では、取引対象ID「U1」の取引対象は、取引対象情報が「MA1」であり、カテゴリが「CT1」であり、特定商品情報が「PD1」である。なお、図4に示した例では、取引対象情報などを、「MA1」などの抽象的な符号で表現したが、取引対象情報などは、具体的な文字列、具体的な数値、または各種情報を含むファイル形式などであってもよい。
〔3.2.3.コンテンツ情報記憶部22〕
コンテンツ情報記憶部22は、ウェブコンテンツに関する情報を記憶する。図5は、実施形態に係るコンテンツ情報記憶部22に記憶されるコンテンツテーブルの一例を示す図である。図5に示した例では、コンテンツ情報記憶部22に記憶されるコンテンツテーブルは、「コンテンツID」、「ウェブコンテンツ」、「設定情報」といった項目を有する。
「コンテンツID」は、ウェブコンテンツを識別する識別子である。「ウェブコンテンツ」は、「コンテンツID」に対応付けられたウェブコンテンツに関する情報である。「ウェブコンテンツ」は、「CO1」などの抽象的な符号で表現したが、例えば、ウェブコンテンツの構成情報である。
「設定情報」は、ウェブコンテンツに対する設定情報であり、例えば、ウェブコンテンツを構成する複数のモジュールの各々にファーストビューの設定がされているか否かを示す情報を含む。また、「設定情報」は、ウェブコンテンツの種別を示す情報を含む。ウェブコンテンツの種別は、例えば、第1ウェブコンテンツ、第2ウェブコンテンツ、および第3ウェブコンテンツなどである。
ウェブコンテンツは、互いに異なる領域に配置される複数のモジュールを含む。ウェブコンテンツを構成する複数のモジュールは、例えば、ヘッダとして機能するヘッダモジュール、取引対象を検索するための検索枠を含む検索モジュール、複数の取引対象の情報をカルーセル表示するカルーセル表示モジュール、および複数の取引対象の情報をランキング表示するランキング表示モジュールなどを含む。複数のモジュールのうちの少なくとも一部のモジュールは、ウェブコンテンツの提供先となるユーザUの情報であるユーザ情報を用いてカスタマイズされる。
ウェブコンテンツの構成情報は、ウェブコンテンツのレイアウトなどをHTML(Hyper Text Markup Language)またはXML(eXtensible Markup Language)などのマークアップ言語で記述された情報、およびスクリプト言語などのプログラム言語で記述された情報などを含む。ウェブコンテンツは、上述したように、複数のモジュールを含む複数の情報によって構成されており、各モジュールを端末装置2に表示させるための情報を含む。
モジュールを端末装置2に表示させるための情報は、例えば、情報提供装置1でレンダリングされたモジュールであれば、かかるモジュールの取得先となるアドレスの情報である。また、モジュールを端末装置2に表示させるための情報は、例えば、端末装置2でレンダリングされるモジュールであれば、レンダリング処理および表示処理を端末装置2に実行させるための情報であり、例えば、スクリプト言語などのプログラム言語で記述された情報またはスプリクト言語などのプログラム言語で記述された情報の取得先のアドレスの情報などである。
レンダリング処理は、端末装置2でモジュールの複数の要素を情報提供装置1から収集し、収集した複数の要素に基づいて、モジュールをレンダリングする処理である。表示処理は、レンダリング処理によってレンダリングされたモジュールを端末装置2に表示する処理である。
図6は、実施形態に係る情報提供装置1から提供されるウェブコンテンツを構成する複数のモジュールの一例を示す図である。図6に示すウェブコンテンツCO1は、複数のモジュールM1~M7を含む。
モジュールM1は、ウェブコンテンツCO1のヘッダとして機能するヘッダモジュールであり、例えば、ユーザUのアカウント名を表示する領域およびユーザUが保有するポイントを表示する領域などを含む。
モジュールM1において、ポイントを表示する領域は、ユーザUが端末装置2を操作して選択することができ、ユーザUの選択によって、ユーザUが保有するポイントの詳細情報を含むウェブコンテンツに移行することができる。モジュールM1には、ポイントの詳細情報を含むウェブコンテンツの取得先のアドレス情報などを含み、かかるアドレス情報には、例えば、ユーザUの情報が含まれる。
モジュールM2は、取引対象を検索するための検索枠を含む検索モジュールであり、例えば、カートアイコン、お気に入りアイコン、注文履歴アイコンなどを含む。カートアイコンは、カートのウェブコンテンツに移行するためのUI(User Interface)である。お気に入りアイコンは、ユーザUがお気に入りとして登録した取引対象のウェブコンテンツに移行するためのUIである。注文履歴アイコンは、ユーザUが過去に注文した取引対象の情報を含むウェブコンテンツに移行するためのUIである。各アイコンには、ユーザUの情報が含まれる。
モジュールM3~M6は、複数の取引対象の情報をカルーセル表示するカルーセル表示モジュールである。モジュールM3には、広告対象となる取引対象であってユーザUのユーザ情報に応じて選択される取引対象の情報が複数含まれる。
モジュールM4には、特定の店舗の取引対象の情報であって端末装置2に並べて表示される複数の取引対象の情報が含まれる。モジュールM5には、特定のカテゴリに属する取引対象のうちユーザUに応じた取引対象の情報であって端末装置2に並べて表示される複数の取引対象の情報が含まれる。モジュールM6には、特定のカテゴリに属する取引対象の情報であって特定の順位付け基準に従って順位付けされて端末装置2に並べて表示される複数の取引対象の情報が含まれる。
モジュールM3~M6に含まれる取引対象の情報は、ユーザUが端末装置2を操作して選択することができ、ユーザUの選択によって、ユーザUが選択した取引対象の情報を含むウェブコンテンツが情報提供装置1から端末装置2に提供される。
モジュールM7は、例えば、端末装置2において選択可能に階層構造で端末装置2に表示される複数のカテゴリの情報を含む。各カテゴリの情報は、ユーザUが端末装置2を操作して選択することができ、ユーザUの選択によって、ユーザUが選択したカテゴリに含まれる複数の取引対象の情報を含むウェブコンテンツが情報提供装置1から端末装置2に提供される。
例えば、ウェブコンテンツは、例えば、ショッピングサイトのウェブコンテンツであるが、ニュースサイト、オークションサイト、天気予報サイト、ファイナンス(株価)サイト、またはポータルサイトなどのウェブコンテンツであってもよい。た、ウェブコンテンツは、路線検索サイト、地図提供サイト、旅行サイト、飲食店紹介サイト、ウェブブログサイト、またはSNSサイトなどのウェブコンテンツであってもよい。
〔3.3.処理部12〕
処理部12は、コントローラ(Controller)であり、例えば、CPU(Central Processing Unit)またはMPU(Micro Processing Unit)などのプロセッサによって、情報提供装置1内部の記憶装置(例えば、記憶部11)に記憶されている各種プログラム(情報提供プログラムの一例)がRAMを作業領域として実行されることにより実現される。また、処理部12は、コントローラであり、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などの集積回路により実現される。
図2に示すように、処理部12は、取得部30と、受付部31と、レンダリング部32と、提供部33とを有し、以下に説明する情報処理の機能や作用を実現または実行する。なお、処理部12の内部構成は、図2に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。
〔3.3.1.取得部30〕
取得部30は、各種情報を取得する。取得部30は、記憶部11から各種の情報を取得する。取得部30は、ユーザ情報記憶部20、取引対象情報記憶部21、およびコンテンツ情報記憶部22などから各種の情報を取得する。
また、取得部30は、通信部10を介して、外部の情報処理装置から各種情報を受信する。取得部30は、外部装置3から取引対象に関する情報を取得する。例えば、取得部30は、取引対象情報を外部装置3から取得し、取得した取引対象情報を取引対象情報記憶部21に記憶させる。また、取得部30は、外部装置3からユーザUの情報であるユーザ情報を取得し、取得したユーザ情報をユーザ情報記憶部20に記憶する。
また、取得部30は、管理者装置4または外部の情報処理装置などから各ウェブコンテンツの構成情報を受信する。取得部30は、取得した各ウェブコンテンツの構成情報をコンテンツ情報記憶部22に記憶する。
〔3.3.2.受付部31〕
受付部31は、各種要求を受け付ける。受付部31は、通信部10を介して、外部の情報処理装置から各種要求を示す情報を受信する。例えば、受付部31は、端末装置2または外部装置3から要求を受け付ける。
例えば、受付部31は、ウェブコンテンツの提供要求を端末装置2から受け付ける。ウェブコンテンツの提供要求は、例えば、ウェブコンテンツの取得先を示すアドレスを指定した要求、またはユーザUが入力した検索キーワードを含む検索クエリによる要求などを含む。
また、受付部31は、端末装置2から要素情報の提供要求を受け付ける。要素情報は、ウェブコンテンツを構成するモジュールの要素の情報である。また、受付部31は、端末装置2からユーザ情報の提供要求を受け付ける。ユーザ情報は、端末装置2のユーザUの情報である。
また、受付部31は、管理者装置4からファーストビュー設定要求を受け付ける。受付部31は、受け付けたファーストビュー設定要求に含まれるファーストビューの対象を示す情報に基づいて、複数のモジュールの各々がファーストビューの対象であるか否かを設定する。
なお、処理部12は、複数のモジュールのうちファーストビュー設定要求によって一部のモジュールがファーストビューの対象として設定されたウェブコンテンツを第1ウェブコンテンツとして扱う。また、処理部12は、複数のモジュールのうちファーストビュー設定要求によってすべてのモジュールがファーストビューの対象として設定されたウェブコンテンツを第2ウェブコンテンツとして扱う。
また、処理部12は、複数のモジュールのいずれもファーストビューの対象として設定されていないウェブコンテンツを第3ウェブコンテンツとして扱う。なお、処理部12は、複数のモジュールのうちファーストビュー設定要求によって一部のモジュールがファーストビューの対象として設定されたウェブコンテンツを第2ウェブコンテンツとして扱うこともできる。
〔3.3.3.レンダリング部32〕
レンダリング部32は、受付部31によって受け付けられた提供要求で示されるウェブコンテンツが第1ウェブコンテンツである場合、第1ウェブコンテンツに含まれる第1モジュールのレンダリングを行う。第1モジュールは、第1ウェブコンテンツを構成する複数のモジュールのうちファーストビューの対象として予め設定されたモジュールである。
具体的には、レンダリング部32は、コンテンツ情報記憶部22に記憶されている複数のウェブコンテンツの構成情報のうち、提供要求で示される第1ウェブコンテンツの情報をコンテンツ情報記憶部22から取得する。また、レンダリング部32は、提供要求を送信した端末装置2のユーザUのユーザ情報をユーザ情報記憶部20から取得する。
レンダリング部32は、コンテンツ情報記憶部22から取得したウェブコンテンツの情報に含まれる設定情報とユーザ情報記憶部20から取得したユーザ情報とに基づいて、第1モジュールの複数の要素を特定する。レンダリング部32は、特定した第1モジュールの複数の要素を収集し、収集した複数の要素に基づいて、第1モジュールのレンダリングを行う。
レンダリング部32は、提供要求で示されるウェブコンテンツが第1ウェブコンテンツである場合、第2モジュールのレンダリングは行わない。第2モジュールは、第1ウェブコンテンツを構成する複数のモジュールのうちファーストビューの対象として設定されていないモジュールである。
また、レンダリング部32は、受付部31によって受け付けられた提供要求で示されるウェブコンテンツが第2ウェブコンテンツである場合、第2ウェブコンテンツに含まれるすべてのモジュールのレンダリングを行う。
具体的には、レンダリング部32は、コンテンツ情報記憶部22に記憶されている複数のウェブコンテンツの構成情報のうち、提供要求で示される第2ウェブコンテンツの情報をコンテンツ情報記憶部22から取得する。また、レンダリング部32は、提供要求を送信した端末装置2のユーザUのユーザ情報をユーザ情報記憶部20から取得する。
レンダリング部32は、コンテンツ情報記憶部22から取得したウェブコンテンツの情報に含まれる設定情報とユーザ情報記憶部20から取得したユーザ情報とに基づいて、第2ウェブコンテンツを構成する複数のモジュールの各々の複数の要素を特定する。
レンダリング部32は、第2ウェブコンテンツを構成する複数のモジュールの各々の複数の要素を収集し、収集した複数の要素に基づいて、第2ウェブコンテンツを構成する複数のモジュールのレンダリングを行う。
なお、レンダリング部32は、提供要求で示されるウェブコンテンツが第3ウェブコンテンツである場合、第3ウェブコンテンツを構成する複数のモジュールのいずれのモジュールのレンダリングも行わない。
〔3.3.4.提供部33〕
提供部33は、提供要求で示されるウェブコンテンツが第1ウェブコンテンツである場合、第1ウェブコンテンツ用の第1情報および第2情報とユーザ情報とを含む提供情報を端末装置2に送信して提供する。
第1ウェブコンテンツ用の第1情報は、レンダリング部32によってレンダリングが行われた第1モジュールを取得するための情報であり、例えば、レンダリング部32によってレンダリングが行われた第1モジュールの取得先のアドレス(例えば、情報提供装置1内のアドレス)の情報である。なお、第1ウェブコンテンツ用の第1情報は、レンダリング部32によってレンダリングが行われた第1モジュールそのものであってもよい。
第1ウェブコンテンツ用の第2情報は、第2モジュールの複数の要素を端末装置2で収集し、収集した複数の要素に基づいて、第2モジュールのレンダリングを端末装置2で行うための情報である。第2情報は、例えば、スプリクト言語などのプログラム言語で記述された情報またはスプリクト言語などのプログラム言語で記述されたプログラムの取得先のアドレスの情報を含むタグ情報であるが、かかる例に限定されない。
提供部33は、提供要求で示されるウェブコンテンツが第2ウェブコンテンツである場合、第2ウェブコンテンツ用の第1情報および第2情報とユーザ情報とを含む提供情報を端末装置2に送信して提供する。
第2ウェブコンテンツ用の第1情報は、レンダリング部32によってレンダリングが行われた複数のモジュールを取得するための情報であり、例えば、レンダリング部32によってレンダリングが行われた複数のモジュールの取得先のアドレス(例えば、情報提供装置1内のアドレス)の情報である。なお、第2ウェブコンテンツ用の第1情報は、レンダリング部32によってレンダリングが行われた複数のモジュールそのものであってもよい。
第2ウェブコンテンツ用の第2情報は、複数のモジュールの各々の複数の要素を端末装置2で収集し、収集した複数の要素に基づいて、複数のモジュールのレンダリングを端末装置2で行うための情報である。第2情報は、例えば、スプリクト言語などのプログラム言語で記述された情報またはスプリクト言語などのプログラム言語で記述されたプログラムの取得先のアドレスの情報を含むタグ情報であるが、かかる例に限定されない。
提供部33は、提供要求で示されるウェブコンテンツが第3ウェブコンテンツである場合、第3ウェブコンテンツ用の第2情報を含む提供情報を端末装置2に送信して提供する。第3ウェブコンテンツ用の第2情報は、複数のモジュールの各々の複数の要素を端末装置2で収集し、収集した複数の要素に基づいて、複数のモジュールのレンダリングを端末装置2で行うための情報である。
また、提供部33は、端末装置2から要素情報の提供要求がある場合に、提供要求で示される要素情報を取引対象情報記憶部21に記憶されている取引対象情報から抽出し、抽出した要素情報を端末装置2に送信する。
また、提供部33は、端末装置2からユーザ情報の提供要求がある場合に、提供要求で示される情報(例えば、ユーザID)に基づいて、ユーザ情報記憶部20に記憶されているユーザ情報を取得し、取得したユーザ情報を端末装置2に送信する。
なお、提供部33は、第1ウェブコンテンツと同じウェブコンテンツに対してファーストビューの対象の設定を追加したり削除したりすることで、第2ウェブコンテンツと第3ウェブコンテンツを生成することもできる。この場合、提供部33は、端末装置2の情報またはユーザUの情報に基づいて、第1ウェブコンテンツ、第2ウェブコンテンツ、および第3ウェブコンテンツのいずれを提供するかを決定することもできる。端末装置2の情報は、例えば、端末装置2にインストールされているアプリケーションであって提供供給を行ったアプリケーションの種類およびOS(Operating System)の種類などである。また、ユーザUの情報は、ユーザUの属性などである。
〔4.端末装置2〕
図7は、実施形態に係る端末装置2の構成の一例を示す図である。図7に示すように、実施形態に係る端末装置2は、通信部40と、表示部41と、操作部42と、記憶部43と、処理部44とを備える。
〔4.1.通信部40〕
通信部40は、例えば、NIC(Network Interface Card)などによって実現される。通信部40は、ネットワークNと有線または無線で接続され、ネットワークNを介して、情報提供装置1との間で情報の送受信を行う。
〔4.2.表示部41〕
表示部41は、例えば、LCD(Liquid Crystal Display)または有機EL(Electro Luminescence)ディスプレイなどである。
〔4.3.操作部42〕
操作部42は、例えば、文字、数字、およびスペースを入力するためのキー、エンターキーおよび矢印キーなどを含むキーボード、マウス、および電源ボタンなどを含む。表示部41がタッチパネルディスプレイの表示装置である場合、操作部42はタッチパネルであってもよい。
〔4.4.記憶部43〕
記憶部43は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)などの半導体メモリ素子、または、ハードディスク、光ディスクなどの記憶装置によって実現される。
記憶部43には、例えば、情報提供装置1から送信されネットワークNおよび通信部40を介して処理部44によって取得された情報などが記憶される。
〔4.5.処理部44〕
処理部44は、コントローラ(controller)であり、例えば、CPU(Central Processing Unit)またはMPU(Micro Processing Unit)などによって、端末装置2内部の記憶装置(例えば、記憶部43)に記憶されている各種プログラムがRAMを作業領域として実行されることにより実現される。
また、処理部44は、例えば、ASIC(Application Specific Integrated Circuit)またはFPGA(Field Programmable Gate Array)などの集積回路により実現されてもよい。
処理部44は、操作部42へのユーザUの操作に基づいて、ウェブコンテンツの提供要求を通信部40およびネットワークNを介して情報提供装置1に送信する。そして、処理部44は、提供要求に応じて情報提供装置1から送信される提供情報に基づいて、ウェブコンテンツを表示部41に表示させる。
図8は、実施形態に係る端末装置2の表示部41の表示領域に一部が表示されているウェブコンテンツの一例を示す図である。図8に示すウェブコンテンツは、図6に示すレイアウトのウェブコンテンツCO1であり、ウェブコンテンツCO1を構成する複数のモジュールM1~M7のうち、モジュールM1~M4,M7が表示部41に表示されている。
例えば、処理部44は、提供要求に対応するウェブコンテンツが第1ウェブコンテンツである場合、提供情報に含まれる第1情報に基づいて、ファーストビューの対象となるモジュールであって情報提供装置1によってレンダリングされた第1モジュールを表示部41に表示させる。
例えば、処理部44は、提供情報に含まれる第1情報が情報提供装置1によってレンダリングされた第1モジュールの取得先のアドレスを示す場合、第1情報に基づいて、レンダリング済みの第1モジュールを情報提供装置1から取得する。そして、処理部44は、情報提供装置1から取得したレンダリング済みの第1モジュールを表示部41に表示する。
これにより、ファーストビューの対象として設定された第1モジュールは、端末装置2でレンダリングが行われることなく、端末装置2の表示部41に表示される。これにより、表示部41に表示されるモジュールのカクつきの発生を抑制することができ、複数のモジュールを含むウェブコンテンツを端末装置2で表示する際の表示品質を高めることができる。
また、処理部44は、第1ウェブコンテンツのうち端末装置2の表示部41の表示領域を含む予め定められた領域に配置される第2モジュールをレンダリング対象の第2モジュールとして判定する。処理部44は、提供情報に含まれる第2情報とユーザ情報とに基づいて、レンダリング対象の第2モジュールの複数の要素を情報提供装置1から収集する。処理部44は、要素情報の提供要求を通信部40およびネットワークNを介して情報提供装置1に送信することで、レンダリング対象の第2モジュールの複数の要素を取得する。
そして、処理部44は、情報提供装置1から収集した第2モジュールの複数の要素と、提供情報に含まれるユーザ情報とに基づいて、第2モジュールのレンダリングを行う。処理部44は、レンダリング済みの第2モジュールを提供情報で指定された領域に配置することで複数の第2モジュールを表示部41に表示する。
これにより、情報提供装置1は、表示部41の表示領域に表示されていない第2モジュールであって表示される領域がウェブコンテンツの下位の第2モジュールの複数の要素の収集タイミングを遅らせることができる。また、ユーザUの操作によってウェブコンテンツの下位の領域まで閲覧されない場合には、第2モジュールの複数の要素を収集したりレンダリングしたりすることがないため、第2モジュールが情報提供装置1でレンダリングされる場合に比べて、通信負荷および処理負荷などを低減することができる。
処理部44は、提供要求に対応するウェブコンテンツが第2ウェブコンテンツである場合、提供情報に含まれる第1情報に基づいて、第2ウェブコンテンツを構成するすべてのモジュールであって情報提供装置1によってレンダリングされたモジュールを表示部41に表示させる。
例えば、処理部44は、提供情報に含まれる第1情報が情報提供装置1によってレンダリングされた複数のモジュールの取得先のアドレスを示す場合、第1情報に基づいて、レンダリング済みの複数のモジュールを情報提供装置1から取得する。そして、処理部44は、情報提供装置1から取得したレンダリング済みの複数のモジュールを表示部41に表示する。
これにより、第2ウェブコンテンツを構成するすべてのモジュールは、端末装置2でレンダリングが行われることなく、端末装置2の表示部41に表示される。これにより、情報提供装置1は、端末装置2に表示されるモジュールのカクつきの発生を抑制することができ、複数のモジュールを含むウェブコンテンツを端末装置2で表示する際の表示品質を高めることができる。
また、処理部44は、提供情報に含まれる第2情報に基づいて、第2ウェブコンテンツを構成する複数のモジュールのうち表示部41の表示領域を含む予め定められた領域に配置される複数のモジュールをレンダリング対象の複数のモジュールとして判定する。
処理部44は、提供情報に含まれる第2情報とユーザ情報とに基づいて、レンダリング対象の複数のモジュールの複数の要素を情報提供装置1から収集する。処理部44は、要素情報の提供要求を通信部40およびネットワークNを介して情報提供装置1に送信することで、レンダリング対象の第2モジュールの複数の要素を取得する。
そして、処理部44は、情報提供装置1から収集した複数のモジュールの複数の要素と、提供情報に含まれるユーザ情報とに基づいて、複数のモジュールのレンダリングを行う。処理部44は、レンダリング済みの複数のモジュールを提供情報で指定された領域に配置することで複数のモジュールを表示部41に再表示する。
端末装置2において、レンダリング処理を行うための第2情報が用いられることから、例えば、端末装置2は、第2情報を用いて、レンダリング処理を繰り返すことで、モジュールを構成する複数の要素を動的に表示することが容易となる。また、端末装置2は、モジュールを構成する複数の要素を動的に変更することもでき、ウェブコンテンツの魅力を向上させることができる。
次に、処理部44は、提供要求に対応するウェブコンテンツが第3ウェブコンテンツである場合、提供情報に含まれる第2情報に基づいて、第3ウェブコンテンツを構成する複数のモジュールのうち端末装置2に表示されている領域を含む予め定められた領域に配置される複数のモジュールをレンダリング対象の複数のモジュールとして判定する。
処理部44は、提供情報に含まれる第2情報とユーザ情報とに基づいて、レンダリング対象の複数のモジュールの複数の要素を情報提供装置1から収集する。処理部44は、要素情報の提供要求を通信部40およびネットワークNを介して情報提供装置1に送信することで、レンダリング対象の複数のモジュールの各々の複数の要素を取得する。
そして、処理部44は、情報提供装置1から収集した複数のモジュールの各々の複数の要素と、提供情報に含まれるユーザ情報とに基づいて、複数のモジュールのレンダリングを行う。処理部44は、レンダリング済みの複数のモジュールを提供情報で指定された領域に配置することで複数のモジュールを表示部41に表示する。
端末装置2において、レンダリング処理を行うための第2情報が用いられることから、例えば、処理部44は、第2情報を用いて、レンダリング処理を繰り返すことで、モジュールを構成する複数の要素を動的に表示することが容易となる。また、処理部44は、モジュールを構成する複数の要素を動的に変更することもでき、ウェブコンテンツの魅力を向上させることができる。
〔5.処理手順〕
次に、実施形態に係る情報提供装置1の処理部12による情報処理の手順について説明する。図9は、実施形態に係る情報提供装置1の処理部12による情報処理の流れの一例を示すフローチャートである。
図9に示すように、処理部12は、外部装置3などから情報を取得したか否かを判定する(ステップS10)。処理部12は、情報を取得したと判定した場合(ステップS10:Yes)、取得した情報を記憶部11に記憶する(ステップS11)。
処理部12は、ステップS11の処理を終了した場合、または情報を取得していないと判定した場合(ステップS10:No)、ファーストビュー設定要求があるか否かを判定する(ステップS12)。処理部12は、ファーストビュー設定があると判定した場合(ステップS12:Yes)、ファーストビュー設定で示されるモジュールをファーストビューの対象として設定する(ステップS13)。
処理部12は、ステップS13の処理を終了した場合、またはファーストビュー設定がないと判定した場合(ステップS12:No)、ウェブコンテンツの提供要求があるか否かを判定する(ステップS14)。処理部12は、ウェブコンテンツの提供要求があると判定した場合(ステップS14:Yes)、提供要求で示されるウェブコンテンツに応じた提供情報を端末装置2に送信する(ステップS15)。
処理部12は、ステップS15の処理が終了した場合、またはウェブコンテンツの提供要求がないと判定した場合(ステップS14:No)、動作終了タイミングになったか否かを判定する(ステップS16)。処理部12は、例えば、情報提供装置1の電源がオフにされた場合、または情報提供装置1の不図示の操作部への操作によって終了操作が行われたと判定した場合に、動作終了タイミングになったと判定する。
処理部12は、動作終了タイミングになっていないと判定した場合(ステップS16:No)、処理をステップS10へ移行し、動作終了タイミングになったと判定した場合(ステップS16:Yes)、図9に示す処理を終了する。
次に、実施形態に係る端末装置2の処理部44による情報処理の手順について説明する。図10は、実施形態に係る端末装置2の処理部44による情報処理の流れの一例を示すフローチャートである。
図10に示すように、処理部44は、提供要求の操作部42への操作があるか否かを判定する(ステップS20)。処理部44は、提供要求の操作があると判定した場合(ステップS20:Yes)、提供要求を情報提供装置1に送信する(ステップS21)。
処理部44は、ステップS21の処理が終了した場合、または提供要求の操作がないと判定した場合(ステップS20:No)、情報提供装置1から提供情報の提供があるか否かを判定する(ステップS22)。処理部44は、提供情報の提供があると判定した場合(ステップS22:Yes)、提供情報に基づいてウェブコンテンツを表示部41に表示させる(ステップS23)。
処理部44は、ステップS23の処理が終了した場合、または提供情報の提供がないと判定した場合(ステップS22:No)、動作終了タイミングになったか否かを判定する(ステップS24)。処理部44は、例えば、端末装置2の電源がオフにされた場合、または操作部42への操作によって終了操作が行われたと判定した場合に、動作終了タイミングになったと判定する。
処理部44は、動作終了タイミングになっていないと判定した場合(ステップS24:No)、処理をステップS20へ移行し、動作終了タイミングになったと判定した場合(ステップS24:Yes)、図10に示す処理を終了する。
〔6.変形例〕
処理部12は、例えば、予め定められた第1条件を満たす場合、第2ウェブコンテンツを構成する複数のモジュールのうち予め定められた範囲の上位のモジュールを第1モジュールとし、それ以外を第2モジュールとすることで、第2ウェブコンテンツを一時的に第1ウェブコンテンツにすることもできる。また、処理部12は、例えば、予め定められた第1条件を満たす場合、第1ウェブコンテンツを一時的に第3ウェブコンテンツとして扱うこともできる。予め定められた第1条件は、例えば、情報提供装置1の処理負荷が閾値以上であるという条件、情報提供装置1によるネットワークNの通信負荷が閾値以上であるいう条件などである。
また、処理部12は、例えば、予め定められた第2条件を満たす場合、第1ウェブコンテンツを一時的に第2ウェブコンテンツにしたり、第3ウェブコンテンツを一時的に第1ウェブコンテンツにしたりすることもできる。予め定められた第1条件は、例えば、情報提供装置1の処理負荷が閾値以下であるという条件、情報提供装置1によるネットワークNの通信負荷が閾値以下であるいう条件などである。
〔7.ハードウェア構成〕
上述してきた実施形態に係る情報提供装置1または端末装置2は、例えば図11に示すような構成のコンピュータ80によって実現される。以下、情報提供装置1を例に挙げて説明する。図11は、実施形態に係る情報提供装置1の機能を実現するコンピュータ80の一例を示すハードウェア構成図である。コンピュータ80は、CPU81、RAM82、ROM(Read Only Memory)83、HDD(Hard Disk Drive)84、通信インターフェイス(I/F)85、入出力インターフェイス(I/F)86、およびメディアインターフェイス(I/F)87を有する。
CPU81は、ROM83またはHDD84に記憶されたプログラムに基づいて動作し、各部の制御を行う。ROM83は、コンピュータ80の起動時にCPU81によって実行されるブートプログラムや、コンピュータ80のハードウェアに依存するプログラムなどを記憶する。
HDD84は、CPU81によって実行されるプログラム、および、かかるプログラムによって使用されるデータなどを記憶する。通信インターフェイス85は、ネットワークN(図2参照)を介して他の機器からデータを受信してCPU81へ送り、CPU81が生成したデータを、ネットワークNを介して他の機器へ送信する。
CPU81は、入出力インターフェイス86を介して、ディスプレイやプリンタなどの出力装置、および、キーボードまたはマウスなどの入力装置を制御する。CPU81は、入出力インターフェイス86を介して、入力装置からデータを取得する。また、CPU81は、入出力インターフェイス86を介して生成したデータを出力装置へ出力する。
メディアインターフェイス87は、記録媒体88に記憶されたプログラムまたはデータを読み取り、RAM82を介してCPU81に提供する。CPU81は、かかるプログラムを、メディアインターフェイス87を介して記録媒体88からRAM82上にロードし、ロードしたプログラムを実行する。記録媒体88は、例えばDVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)などの光学記録媒体、MO(Magneto-Optical disk)などの光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリなどである。
例えば、コンピュータ80が実施形態に係る情報提供装置1として機能する場合、コンピュータ80のCPU81は、RAM82上にロードされたプログラムを実行することにより、処理部12の機能を実現する。また、HDD84には、記憶部11内のデータが記憶される。コンピュータ80のCPU81は、これらのプログラムを記録媒体88から読み取って実行するが、他の例として、他の装置からネットワークNを介してこれらのプログラムを取得してもよい。
〔8.その他〕
また、上記実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
例えば、上述した情報提供装置1は、複数のサーバコンピュータで実現してもよく、また、機能によっては外部のプラットホームなどをAPI(Application Programming Interface)やネットワークコンピューティングなどで呼び出して実現するなど、構成は柔軟に変更できる。
また、上述してきた実施形態および変形例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
〔9.効果〕
上述してきたように、実施形態に係る情報提供装置1は、受付部31と、レンダリング部32と、提供部33とを備える。受付部31は、端末装置2からウェブコンテンツの提供要求を受け付ける。レンダリング部32は、ウェブコンテンツを構成する複数のモジュールのうちファーストビューの対象として予め設定された第1モジュールの複数の要素を収集し、収集した複数の要素に基づいて、第1モジュールのレンダリングを行う。提供部33は、レンダリング部32によってレンダリングが行われた第1モジュールを取得するための第1情報と、複数のモジュールのうちファーストビューの対象として設定されていない第2モジュールの複数の要素を端末装置2で収集し、収集した複数の要素に基づいて、第2モジュールのレンダリングを端末装置2で行うための第2情報とを端末装置2に提供する。これにより、情報提供装置1は、複数のモジュールを含むウェブコンテンツを端末装置2で表示する際の表示品質を高めることができる。
また、情報提供装置1は、受付部31と、レンダリング部32と、提供部33とを備える。受付部31は、端末装置2からウェブコンテンツの提供要求を受け付ける。レンダリング部32は、ウェブコンテンツを構成する複数のモジュールの各々の複数の要素を収集し、収集した複数の要素に基づいて、複数のモジュールの各々のレンダリングを行う。提供部33は、レンダリング部32によってレンダリングが行われた複数のモジュールを端末装置2で取得して表示するための第1情報と、複数のモジュールの各々の複数の要素を端末装置2収集し、収集した複数の要素に基づいて複数のモジュールをレンダリングする処理を端末装置2に実行させて端末装置2に上書き表示させるための第2情報とを端末装置2に提供する。これにより、情報提供装置1は、複数のモジュールを含むウェブコンテンツを端末装置2で表示する際の表示品質を高めることができる。
また、ウェブコンテンツは、電子商取引の取引対象となる複数の商品または複数のサービスの情報を含む。これにより、情報提供装置1は、複数の商品または複数のサービスの情報を各々含む複数のモジュールを含むウェブコンテンツを端末装置2で表示する際の表示品質を高めることができる。
また、複数のモジュールは、ウェブコンテンツのヘッダとして機能するヘッダモジュール、取引対象を検索するための検索枠を含む検索モジュール、取引対象の情報をカルーセル表示するカルーセル表示モジュール、および取引対象の情報をランキング表示するランキング表示モジュールのうちの少なくとも2以上のモジュールを含む。これにより、情報提供装置1は、複数種類のモジュールを含むウェブコンテンツを端末装置2で表示する際の表示品質を高めることができる。
以上、本願の実施形態を図面に基づいて詳細に説明したが、これは例示であり、発明の開示の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
また、上述してきた「部(section、module、unit)」は、「手段」や「回路」などに読み替えることができる。例えば、取得部は、取得手段や取得回路に読み替えることができる。