JP2008269330A - サーバ装置 - Google Patents

サーバ装置 Download PDF

Info

Publication number
JP2008269330A
JP2008269330A JP2007112040A JP2007112040A JP2008269330A JP 2008269330 A JP2008269330 A JP 2008269330A JP 2007112040 A JP2007112040 A JP 2007112040A JP 2007112040 A JP2007112040 A JP 2007112040A JP 2008269330 A JP2008269330 A JP 2008269330A
Authority
JP
Japan
Prior art keywords
data
scenario
search result
unit
terminal
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2007112040A
Other languages
English (en)
Other versions
JP4963259B2 (ja
Inventor
Masanao Ohashi
政尚 大橋
Soichi Nitta
壮一 仁田
Michita Katayama
三千太 片山
Kazumasa Yokogawa
和征 横川
Masahiro Chiba
雅裕 千葉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sharp Corp
Original Assignee
Sharp Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sharp Corp filed Critical Sharp Corp
Priority to JP2007112040A priority Critical patent/JP4963259B2/ja
Publication of JP2008269330A publication Critical patent/JP2008269330A/ja
Application granted granted Critical
Publication of JP4963259B2 publication Critical patent/JP4963259B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】検索を繰返す回数を少なくでき、ユーザ一人一人に応じた情報を出力でき、かつユーザが多くの情報を容易に把握できる。
【解決手段】サーバ54が実行するプログラムは、通信処理部570と、UI記述データ管理部578と、シナリオ実行部574と、コネクタ600と、データ合成処理部580とを含む。通信処理部570に基づき、検索要求データが受信され、かつ端末向け検索結果データが送信される。UI記述データ管理部578に基づき、UI記述データが記憶される。シナリオ実行部574に基づき、対応データベースとUI記述データとが特定される。コネクタ600に基づき、対応データベースにキーワードが送信され、検索結果情報が受信される。データ合成処理部580に基づき、UI記述データと検索結果情報とを用いて、端末向け検索結果データが作成される。
【選択図】図4

Description

本発明は、サーバ装置に関し、特に、情報検索に用いる情報を通信するサーバ装置に関する。
インターネットの発達に伴い、テレビを見ながらインターネットで検索を行うユーザが増大している。
このようなユーザの中には、検索のための操作を簡単にすることや検索により得られた情報を迅速に把握できるようにすることを希望する者がいる。
しかしながら、ブログが多く開設されたことにより、検索により得られた情報の中に検索を行ったユーザにとって不要な情報が多く含まれるようになっている。
特許文献1〜3は、検索のためにユーザなどが費やす労力を軽減したり、検索によって得られた情報を迅速に把握できるようにしたりする技術を開示する。
特許文献1は、キーワード入力部と、検索式生成部と、ブラウザ起動部と、結果表示部とを有するブラウザ端末装置を開示する。キーワード入力部は、キーワードの入力を処理する。検索式生成部は、複数の検索式を生成する。これらの検索式は、キーワード入力部により取得されたキーワードを検索式テンプレートに埋め込むことによって生成される。検索式テンプレートは、複数のWWW(World Wide Web)の検索エンジンによってキーワードを検索するためのテンプレートである。ブラウザ起動部は、この検索式生成部により生成された複数の検索式を渡してブラウザを起動し、検索式により複数の検索エンジンで検索を実行して複数の情報を取得する。結果表示部は、このブラウザ起動部により取得された複数の情報を編集して表示する。
特許文献1に開示された発明によると、検索エンジンに接続をしなくてもキーワードを入力でき、かつ検索者にとって見やすいよう情報を表示できる。
特許文献2は、インターネット用のWEBサーバと、複数の番組表示装置と、番組管理サーバとからなる、番組とホームページの連動表示が可能な番組表示システムを開示する。インターネット用のWEBサーバは、公衆通信回線に通信接続されホームページ(以降HPとする)の記憶や管理を行う。複数の番組表示装置は、店舗や公共機関やホテルなどのロビーに設置され、放送やビデオなどの番組を表示するとともに、HPの表示を行う。番組管理サーバは、店舗本部やASP(Application Service Provider)センタなどに設置され、複数の番組表示装置で表示する番組の集中管理を行う。番組表示装置は、通信制御部と、情報入力部と、キーワード抽出部と、記憶部と、記憶更新管理部と、HP検索部と、HPデータ収集部と、表示制御部とを備える。通信制御部は、公衆通信回線を介してWEBサーバと通信接続する。情報入力部は、放送やビデオなどによる番組を受信入力する。キーワード抽出部は、受信入力した番組の音声データから所定の単語データを認識するとともに、認識した所定の単語データから所定のキーワードを抽出する。記憶部は、所定のキーワードをキーワードファイルとして記憶し、所定のキーワードに対応して関連するHPのHPアドレスをHPアドレスファイルとして記憶する。記憶更新管理部は、キーワードファイルやHPアドレスファイルの更新管理を行う。HP検索部は、抽出した所定のキーワードに基づいてキーワードファイルを検索するとともに、HPアドレスファイルから所定のキーワードに対応する所定のHPアドレスを検索する。HPデータ収集部は、検索した所定のHPアドレスに通信制御部を介してアクセスし、所定のHPデータを収集する。表示制御部は、収集したHPデータを番組データとともに表示部に連動表示するための映像データの合成や拡大縮小などの加工を行う。番組管理サーバは、通信制御部と、データベース部と、入力登録部と、データベース管理部と、制御部とを備える。通信制御部は、公衆通信回線に通信接続する。データベース部は、所定のキーワードを含むデータベースであるキーワードデータベースファイルや所定のHPアドレスを含むHPアドレスデータベースファイルを有する。入力登録部は、キーワードデータベースファイルやHPアドレスデータベースファイルに所定のキーワードや所定のHPアドレスを入力・登録する。データベース管理部は、キーワードデータベースファイルやHPアドレスデータベースファイルの作成や更新の管理を行う。制御部は、データベース管理部が管理するキーワードデータベースファイルやHPアドレスデータベースファイルに基づくデータベースデータを各設置先の番組表示装置に送信するとともに、番組表示装置の記憶更新管理部を介して記憶部のキーワードファイルやHPアドレスファイルを更新するように制御する。
特許文献2に開示された発明によると、店舗、ホテル、病院、ロビーなどに設置されている公衆用の表示装置に表示する番組やスケジュールの作成の労力を軽減するとともに、表示している番組に連動してタイムリーに効果的な付加情報、広告、緊急情報などを自動提供できる。
特許文献3は、インターネット上でウェブサイトに格納された情報を検索し、ユーザ端末に表示する検索情報表示方法を開示する。検索情報表示方法は、検索内容を受信するステップと、情報を検索するステップと、検索により得られた情報を取得するステップと、データをユーザ端末に表示させるステップとを含む。検索内容を受信するステップにおいて、検索サーバは、ユーザ端末からテキストで入力された検索内容を受信する。情報を検索するステップにおいて、検索サーバは、検索内容と関連付けられた項目を含む情報を検索する。検索により得られた情報を取得するステップにおいて、検索サーバは、検索された情報に関連した、少なくとも映像または画像のいずれか一方を含む情報を取得する。データをユーザ端末に表示させるステップにおいて、検索サーバは、一つの画面に表示されるデータとして検索により得られた情報を編集し、そのデータをユーザ端末に表示させる。
特許文献3に開示された発明によると、インターネット上で検索して得られる結果を映像(動画)または画像(静止画)の形で一つの画面にまとめて表示できる。
特許文献4は、テンプレート技術について開示する。以下の説明において、「テンプレート技術」とは、特許文献4に開示されたように、データ置換箇所の情報を含むデータを解釈し、前述したデータ置換箇所の情報を別途取得したデータに置換する技術を意味する。テンプレート技術を適用することにより、データ置換箇所の情報に代えて具体的な情報が記載されるので、雛型となるデータから実際に利用できるコンテンツデータを生成することができる。
特開平10−228477号公報 特開2003−186892号公報 特開2002−7479号公報 特開2006−24137号公報
しかし、特許文献1および特許文献3に開示された発明では、ブラウザ端末装置あるいは検索サーバにユーザが何度も検索を繰返させる可能性があるという問題点がある。
この点について具体的に説明する。ブラウザ端末装置あるいは検索サーバにユーザが何度も検索を繰返させる場合、その原因の1つに、ブラウザ端末装置あるいは検索サーバが出力した情報とユーザが期待した情報とが異なっていることがあると考えられる。
ユーザが期待した情報とキーワードとが的確に対応していなければ、ブラウザ端末装置あるいは検索サーバが出力する情報は、ユーザが期待した情報に対応しない。ブラウザ端末装置あるいは検索サーバが出力する情報はキーワードに対応しているためである。
ユーザが期待する情報とキーワードとが的確に対応する可能性はあまり高くない。特許文献1や特許文献3に開示された発明の場合、ブラウザ端末装置あるいは検索サーバに入力するキーワードをユーザは自分で考えなくてはならないが、得られる情報が自分の期待する結果となるようにユーザが選択することは困難なためである。
たとえば、あるタレントの写真集を購入したいユーザがそのタレントの氏名と「買い物」という単語とをキーワードとして選択した場合、その写真集を販売するためのウェブの情報の他に、その写真集を買った人のブログの情報も出力される可能性がある。商品を販売するウェブも買い入れた物を紹介するブログも「買い物」という単語を含む可能性があるためである。それらのいずれにも「買い物」という単語が含まれ得るのは、「買い物」という単語には物を買うという動作を意味する場合の他に買い入れた物を意味する場合があるためである。
これにより、大抵の場合、ユーザが期待する情報をブラウザ端末装置あるいは検索サーバは出力しないことになるので、キーワードの組合せを変えた上で、ブラウザ端末装置あるいは検索サーバにユーザが再度検索を繰返させる現象が生じ得る。この現象が、検索サーバにユーザが何度も検索を繰返させる原因の一つとなる。
また、検索が繰返されるたびに、ユーザは検索により得られた情報を調べて自らが期待する結果が得られたか否かを判断しなくてはならない。
その上、特許文献1や特許文献3に開示された発明の場合、検索により得られた情報の量が多くなると、それらの情報の内容をユーザが迅速に把握することは困難になる。
特許文献2に開示された発明では、音声やテロップといった番組内の情報からキーワードを抽出し、そのキーワードに応じた情報を表示するので、ユーザ一人一人に応じた情報を出力することはできないという問題点がある。
特許文献4に開示された発明は、検索のためのキーワードの選択が煩わしいことや検索の繰返し回数が多くなりがちであるということに対し、何ら解決方法を開示していない。
本発明は上述の問題点を解決するためになされたものであって、その目的は、検索を繰返す回数を少なくでき、ユーザ一人一人に応じた情報を出力でき、かつユーザが多くの情報を容易に把握できるサーバ装置を提供することにある。
上記目的を達成するために、本発明のある局面に従うと、サーバ装置は、検索要求受付手段と、検索要求実行手段と、ユーザインターフェイス記述データ管理手段と、データ取得手段と、データ合成手段と、データ出力手段とを含む。検索要求受付手段は、検索要求を受け付ける。検索要求実行手段は、検索要求の内容を実行する。ユーザインターフェイス記述データ管理手段は、端末用検索結果データの少なくとも一部を形成するためのユーザインターフェイス記述データを出力する。データ取得手段は、検索要求に応じて1つ以上の外部データベースと通信してデータを取得する。データ合成手段は、検索結果と、ユーザインターフェイス記述データとを合成し、端末用検索結果データを作成する。データ出力手段は、作成された端末用検索結果データを検索要求実行手段からの要求に応じて所定の端末宛に送信する。
また、上述したサーバ装置は、所定の端末からの検索要求をトリガとして所定の端末に検索結果を返す機能だけでなく、所定の端末以外からの検索要求をトリガとして所定の端末に検索結果を返す機能も有することが望ましい。
また、上述した検索要求実行手段からの要求に応じた外部への接続先は、データ蓄積手段を持つものとの通信機能を有することが望ましい。
また、上述したサーバ装置は、取得データに応じて、さらに1つ以上の外部サーバを利用してデータを取得する機能を有することが望ましい。
また、上述したサーバ装置は、ある検索要求に応じて、1つ以上の検索結果を、所定の1つ以上の端末宛に出力する機能を有することが望ましい。
また、上述したサーバ装置は、取得したデータや、自身が出力した端末向け検索結果を蓄積する機能を有することが望ましい。
また、上述した検索要求実行手段は、シナリオ管理手段と、シナリオ実行手段とを有することが望ましい。併せて、シナリオは、実行することでユーザインターフェイス記述データ管理手段とデータ取得手段とを制御する制御記述を有することが望ましい。併せて、シナリオ管理手段は、端末からの検索要求の内容に応じてシナリオを選択することが望ましい。併せて、シナリオ実行手段は、選択されたシナリオを実行することが望ましい。
また、上述したシナリオ管理手段内に管理されているシナリオは、外部からの更新、削除、追加が可能であることが望ましい。
また、上述したシナリオは、外部データベースと通信するための処理を行うコネクタのいずれかによっては目的に合致した検索結果が得られなかった場合、別のコネクタの利用によって得られる検索結果に差し替える機能を有することが望ましい。
また、上述したシナリオは、外部データベースと通信するための処理を行うコネクタから検索結果が得られなかった場合、別のユーザインターフェイス記述ファイルを呼び出し、レイアウトを変更した検索結果に差し替える機能を有することが望ましい。
また、上述したシナリオ実行手段は、シナリオを実行中に端末向けデータ出力先への応答をすることができる機能を有することが望ましい。
また、上述したシナリオは、データ蓄積部に対して、蓄積された過去の取得データや端末向けデータを確認し、それらを外部データベースと通信するための処理を行うコネクタやデータ合成手段、通信部に出力させる指令を出力する機能を有することが望ましい。
また、上述したユーザインターフェイス記述データ管理手段は、ユーザインターフェイス記述データをユーザインターフェイス記述ファイルとして管理し、検索要求実行手段からの要求に応じてユーザインターフェイス記述ファイルを選択し、選択したユーザインターフェイス記述ファイルをユーザインターフェイス記述データとして出力することが望ましい。
また、上述したユーザインターフェイス記述データ管理手段によって管理されているユーザインターフェイス記述ファイルは、外部からファイルの更新、削除、追加が可能であることが望ましい。
また、上述したユーザインターフェイス記述データ管理手段が管理しているユーザインターフェイス記述ファイルは、サーバ装置から出力される端末向け検索結果の記述様式について記載されていることが望ましい。
また、上述したユーザインターフェイス記述ファイルの実行によってサーバ装置から出力される端末用検索結果データは、表示機能を有する端末上にて検索結果を表示する際に表示部分を切り替え可能な形で出力する機能を有することが望ましい。
また、上述したデータ取得手段は、外部サーバに対し検索情報を送信して検索結果を取得する特定のコネクタを有することが望ましい。
また、上述したデータ取得手段内のコネクタは、検索要求実行手段からの要求によって選択されることによって、接続先の外部サーバと通信することが望ましい。
また、上述したデータ取得手段内のコネクタは、外部からの更新、削除、追加が可能であることが望ましい。
また、上述したデータ取得手段は、コネクタより取得したデータを共通の中間フォーマットの形で出力し、出力結果をデータ合成手段に渡す機能を有することが望ましい。
また、上述したデータ取得手段によって管理されているコネクタは、データ取得手段が出力した中間フォーマットを受け取り、別の結果を返す機能を有することが望ましい。
また、本発明の他の局面に従うと、サーバ装置は、データベースと、サーバと、端末とを含む情報出力システムにおけるサーバである。サーバ装置は、通信手段と、ユーザインターフェイス記述データ記憶手段と、制御手段とを含む。通信手段は、検索要求データを端末から受信し、キーワードをデータベースに送信し、データベースが送信したキーワードに対応する検索結果情報をデータベースから受信し、かつ検索結果情報を示す端末向け検索結果データを端末に送信する。検索要求データは、検索結果情報の出力形態を示すユーザインターフェイス記述データとデータベースとの組合せに対応する情報およびキーワードを含む。ユーザインターフェイス記述データ記憶手段は、ユーザインターフェイス記述データを記憶する。制御手段は、通信手段による通信を制御する。制御手段は、特定手段と、キーワード制御手段と、端末向け検索結果データ作成手段と、送信制御手段と含む。特定手段は、検索要求データに基づいて、キーワードを送信するデータベースである対応データベースと端末向け検索結果データの作成に用いるユーザインターフェイス記述データとを特定する。キーワード制御手段は、対応データベースにキーワードを送信するように、通信手段を制御する。端末向け検索結果データ作成手段は、特定手段が特定したユーザインターフェイス記述データと通信手段が受信した検索結果情報とを用いて、端末向け検索結果データを作成する。送信制御手段は、端末向け検索結果データを端末に送信するように通信手段を制御する。
本発明に係るサーバ装置は、検索を繰返す回数を少なくでき、ユーザ一人一人に応じた情報を出力でき、かつユーザが多くの情報を容易に把握できる。
以下、図面を参照しつつ、本発明の実施の形態について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同一である。したがって、それらについての詳細な説明は繰返さない。
図1は、本実施の形態に係る情報表示システム(ただし、本願発明は表示に限らず、情報を音声として出力するような場合にも適用可能なものである。)の構成を示す図である。図1を参照して、本実施の形態に係る情報表示システムは、ユーザ端末52と、サーバ54と、複数の外部サービスデータベース56とを含む。
なお、外部サービスデータベース56の数は特に限定されない。たとえば、外部サービスデータベース56の数は1台であってもよい。
ユーザ端末52は、サーバ54に対し検索要求データ(以下、「検索要求」と称する)を送信するとともに、サーバ54から検索結果を示すデータ(以下、「端末向け検索結果データ」と称する)を受信する。ユーザ端末52は、検索結果を画像表示により出力する装置でもある。本実施の形態の場合、ユーザ端末52は携帯電話であることとする。
サーバ54は、外部サービスデータベース56とユーザ端末52との間で情報を中継する装置である。
外部サービスデータベース56.1,外部サービスデータベース56.2,外部サービスデータベース56.3,および外部サービスデータベース56.4(総称するときは、外部サービスデータベース56と総称する。)は、サーバ54を介してユーザ端末52に情報を提供するデータベースである。
なお、本実施の形態において、「データベース」とは、情報を蓄積し、かつ蓄積された情報を検索要求に応じて検索し、検索結果を検索要求元に返信する機能を有する、装置やシステムを意味する。
また、本実施の形態において、「検索要求データ」とは、以下に述べるような第1および第2の情報を有するデータである。その第1の情報は、シナリオIDを示す情報である。第2の情報は、パラメータである。本実施の形態において、「パラメータ」とは、ユーザ端末52によって作成されたりユーザ端末52のユーザによって選択されたりユーザ端末52が図示しない装置から受信したりした、シナリオIDとは異なる情報を意味する。本実施の形態におけるパラメータの例には、キーワードや放送地域IDが含まれる。パラメータは検索の際のキーデータとなり得るが、本実施の形態においては、パラメータのうちキーワードがキーデータとされるよう、予め定められている。
また、本実施の形態において、「検索結果」とは、パラメータの一種であるキーワードをキーデータとしたときの外部サービスデータベース56の検索結果を示す情報を意味する。
また、本実施の形態において、「端末向け検索結果データ」とは、サーバ54からユーザ端末52に送信される検索結果を示すデータを意味する。本実施の形態においては、端末向け検索結果データは、ユーザ端末52における検索結果の表示形態を示す情報も含むが、表示形態を示す情報は、端末向け検索結果データに必須の情報ではない。
ここで、シナリオIDについて説明する。本実施の形態の場合、「シナリオID」とは、「シナリオ」を選択するために用いられる識別情報である。後述するように、本実施の形態における「シナリオ」とは、サーバ54が実施する制御の内容を示すファイルの一種である。シナリオにおいて、どのUI記述データ760を用いるかということと、どの外部サービスデータベース56に検索を要求するかということが示される。これにより、シナリオIDは、シナリオだけでなく、UI記述データ760と外部サービスデータベース56との組合せにも間接的に対応することとなる。UI記述データ760と外部サービスデータベース56との組合せにもシナリオIDが対応しているので、UI記述データ760と外部サービスデータベース56との組合せを特定するためにシナリオIDを利用することが可能になる。
図2は、ユーザ端末52の制御ブロック図である。図2を参照して、本実施の形態に係るユーザ端末52は、通信部550と、操作部552と、表示部554と、制御部556と、記憶部558とを含む。通信部550は、サーバ54と通信する。操作部552は、ユーザによる操作を受付ける。表示部554は、検索結果その他の情報を表示する。制御部556は、通信部550が受信した検索結果や操作部552が受付けた情報を処理する。また、制御部556は、検索結果その他の情報を表示するように表示部554を制御する。記憶部558は、制御部556が実行するプログラムと、制御部556がそのプログラムを実行する際に必要な情報とを記憶する。
なお、ユーザ端末52は、図2に示した各部の他、携帯電話として動作するための図示しない各種のユニット(たとえば、マイクやスピーカ)を含む。それらの動作は周知であるので、ここではその詳細な説明は繰返さない。
図3は、ユーザ端末52の制御部556が記憶部558に記憶されたプログラムに基づいて実行する機能を示す機能ブロック図である。制御部556は、携帯電話として動作するための図示しない各種のユニットの他、実行エンジン560を含む。実行エンジン560は、表示部554に検索結果を表示させるための各種の処理を実施する。図3を参照して、実行エンジン560は、SVG(Scalable Vector Graphics)描画エンジン562と、遷移処理エンジン564と、通信処理部566とを含む。
SVG描画エンジン562は、通信部550が受信した端末向け検索結果データをもとに、表示部554を制御するための制御信号を生成する。表示部554は、この信号に基づいて、検索結果を示す画像を表示する。なお、SVG描画エンジン562に代え、SVGとは異なるフォーマットに準拠した描画エンジンや、ビットマップその他のデータフォーマットに基づいて画像を表示するための描画エンジンが含まれていてもよいが、本実施の形態においては、SVG描画エンジン562が含まれていることとする。
遷移処理エンジン564は、操作部552が操作されたことに応じて表示部554を制御する。表示部554は、遷移処理エンジン564に従って、検索結果を示す画像をスクロールさせる。本実施の形態の場合、表示部554がどのように操作されれば検索結果を示す画像がどのようにスクロールするかということは、通信部550が受信した端末向け検索結果データによって示される。
通信処理部566は、検索要求を送信し、かつ端末向け検索結果データを受信するように通信部550を制御する。
図4は、サーバ54において実行されるプログラムモジュールとそれらの間での情報の流れとを示す図である。本実施の形態の場合、サーバ54は、図4に示すプログラムモジュールを実行することにより、実行されるプログラムモジュールに応じた処理を実行する。図4を参照して、本実施の形態に係るサーバ54において実行されるプログラムは、通信処理部570と、シナリオ管理部572と、シナリオ実行部574と、データ取得部576と、UI記述データ管理部578と、データ合成処理部580と、検索結果管理部582とを含む。本実施の形態の場合、これらは互いに異なるプログラムモジュールである。
なお、以下の説明において、予め記憶された情報やあるプログラムモジュールの実行の際に作成されたり取扱われたりした情報を他のプログラムモジュールの実行の際に取扱い可能にすることを「渡す」と称する。たとえば、「通信処理部570からシナリオ管理部572に情報を渡す」や「シナリオ管理部572が通信処理部570から情報を渡される」は、通信処理部570の実行の際に作成されたり取扱われたりした情報をシナリオ管理部572の実行の際に取扱い可能にすることを意味する。「サーバ54に予め記憶されたシナリオをシナリオ実行部574に渡す」は、サーバ54に予め記憶されたシナリオをシナリオ実行部574の実行の際に取扱い可能にすることを意味する。
また、以下の説明において、次に実行するプログラムモジュールを特定する処理を「呼出す」と称する。たとえば、「UI記述データ管理部578を呼出す」とは、プログラムの実行を開始する際やあるプログラムモジュールを実行している間に、次に実行するプログラムモジュールをUI記述データ管理部578とすることを意味する。
通信処理部570は、ユーザ端末52からの検索要求を受信し、検索要求に含まれるシナリオIDなど(本実施の形態において検索要求に含まれるその他の情報については後述する)を抽出し、シナリオ管理部572に出力する処理を示す。また、通信処理部570は、データ合成処理部580から端末向け検索結果データを渡されると、それをユーザ端末52に送信する処理も示す。
シナリオ管理部572は、サーバ54にシナリオIDと対応づけて記憶されたシナリオを管理するための処理を示す。本実施の形態の場合についてより具体的に説明すると、シナリオ管理部572は、サーバ54に記憶された複数のシナリオのいずれかを通信処理部570から渡されたシナリオIDに基づいて選択し、シナリオ実行部574に渡す処理を示す。
なお、本実施の形態の場合、サーバ54に記憶されたシナリオは、オペレータの操作に応じて追加したり削除したりすることが可能である。
ここで、シナリオについて説明する。本実施の形態において「シナリオ」とは、サーバ54に記憶されたファイルの一種であって、サーバ54が実施する制御の内容(たとえば、どのUI記述データ760を用いるかといったことや、どの外部サービスデータベース56にパラメータを送信するかといったこと)を示すものである。サーバ54が実施する具体的な制御の例については後に説明する。これにより、UI記述データ760と、外部サービスデータベース56のうちパラメータの送信先となるデータベースとは、シナリオに基づいて特定されることとなる。サーバ54に記憶されたシナリオのうちどのシナリオがシナリオ実行部574に渡されるかによって、端末向け検索結果データが示す検索結果の内容は異なる。UI記述データ760とパラメータの送信先となる外部サービスデータベース56とがシナリオに基づいて特定されることにより、さまざまな種類の検索結果を得ることが可能となる。たとえば、初めにアーティスト名を検索キーとして音楽配信サイトを検索した後、音楽配線サイトから提供された検索結果(楽曲名)を使って書籍販売サイトを検索できる。または、検索結果(楽曲名)を使ってブログを検索できる。
シナリオ実行部574は、シナリオ管理部572が渡したシナリオに基づいてUI記述データIDとコネクタIDとを特定する処理を示す。
後述するように、「コネクタ」とは、外部サービスデータベース56と通信するための処理を行うものである。本実施の形態の場合、コネクタは、コネクタIDに対応付けてサーバ54に記憶されている。外部サービスデータベース56との通信は、コネクタ内に記載されている処理手順に基づいて実施される。このコネクタにより、どの外部サービスサーバを通信先とするかが示される。これより、シナリオは、検索を要求する外部サービスデータベース56を間接的に特定していることになる。
シナリオ実行部574は、UI記述データIDとコネクタIDとが特定された後に実行される処理も示す。その処理は、次に述べる第1の処理および第2の処理である。第1の処理は、UI記述データ管理部578にUI記述データIDを渡す処理である。UI記述データIDが渡された上でUI記述データ管理部578の処理が実行されると、UI記述データ管理部578はUI記述ファイル762をデータ合成処理部580に渡す。第2の処理は、データ取得部576(より具体的に説明すると、データ取得部576が含むコネクタ600のうちコネクタIDが示すもの)を呼出す処理である。コネクタ600のいずれかが呼出されると、サーバ54は、外部サービスデータベース56に対してパラメータを送信する。
データ取得部576は、外部サービスデータベース56との間で通信する処理を示す。
データ取得部576は、コネクタIDによりそれぞれ特定される複数のコネクタ600と、データ変換部602とを含む。
上述したように、コネクタ600は、外部サービスデータベース56と通信するための処理を行うものである。コネクタ600ごとに、通信の相手となる外部サービスデータベース56が予め定められている。
データ変換部602は、コネクタ600に基づいて受信したデータを中間フォーマットに従って変換する処理を示す。
本実施の形態における「中間フォーマット」とは、データ合成処理部580が示す処理に基づいてサーバ54が端末向け検索結果データを作成する際に用いられるマークアップ言語のことである。サーバ54が稼動し始めるまでに予め定められている言語であれば、具体的にどのようなマークアップ言語かということは特に限定されない。例えば、XMLであってもよいし、HTML(HyperText Markup Language)であってもよい。
コネクタ600に基づいて受信したデータは、HTMLに従って記述されている場合もあれば、XMLに従って記述されている場合もある。その他の言語に従って記述されている場合もある。検索結果を示すデータが中間フォーマットに沿うよう変換されることにより、データ合成処理部580が示す処理を実行する際、サーバ54は、検索結果を示すデータを記述している言語に応じてUI記述データ760を使い分ける必要がないので、端末向け検索結果データを容易に作成することができる。
なお、本実施の形態の場合、オペレータは、コネクタ600を追加したり削除したりすることができる。
UI記述データ管理部578は、UI記述データIDと対応づけてサーバ54に記憶されたUI記述データ760(UI記述データ760については後述する)を管理する処理を示す。より具体的に説明すると、UI記述データ管理部578は、サーバ54に記憶されたUI記述データ760のうち、シナリオ実行部574から渡されたUI記述データIDに対応するものを選択し、そのUI記述データ760をデータ合成処理部580に渡す処理を示す。なお、「UI記述データID」とは、UI記述データを指定するために用いられる識別情報である。
本実施の形態の場合、1つのUI記述データIDと1つのUI記述データ(UI記述データ760については後述する)が対応していることもあれば、1つのUI記述データIDと複数のUI記述データを含む1つのUI記述ファイルとが対応していることもある。
なお、シナリオと同様、UI記述データ760はオペレータの操作に応じて追加したり削除したりすることができる。
図5は、UI記述データ760とUI記述ファイル762との関係を示す図である。図5を参照して、UI記述データ760とUI記述ファイル762とについて説明する。
本実施の形態において、UI記述データ760は、画像やテキストなど各種データごとにレイアウトを定義しているデータを意味する。
UI記述データ760は、上述したテンプレート技術により端末向け検索結果データを作成するために用いられる。
UI記述ファイル762は、1つ以上のUI記述データ760の組合せで構成されるデータ群を意味する。
本実施の形態においては、UI記述データ760とUI記述ファイル762とは、端末向け検索結果データの雛型(UI記述ファイル762)とその雛型を構成するデータ(UI記述データ760)との関係にある。
なお、本実施の形態の場合、UI記述データ760はXML(Extensible Markup Language)で記述されている(その他のスクリプト言語で記述されていてもよい)。これに応じて、端末向け検索結果データもXMLで記述されている(UI記述データ760がその他のスクリプト言語で記述されている場合、端末向け検索結果データもそのスクリプト言語で記述されることとなるが、必要であれば、出力の前において、他の言語にいったん書き換えたり、スクリプト言語に準拠しない規格に従ってデータを変換したりしてもよい)。ユーザ端末52は、端末向け検索結果データに基づき検索結果を表示する。本実施の形態の場合、検索結果は二次元スクロールができるように表示される。なお、検索結果の表示形態は特に限定されない。たとえば、画面にいくつもの枠を表示させ、それらの枠それぞれが互いに異なる検索結果を含んでもよい。その場合、ユーザの操作に応じて、ある枠が他の枠の手前に表示されてもよい。
再び図4を参照して、データ合成処理部580は、端末向け検索結果データを作成する処理を示す。データ合成処理部580は、完成した端末向け検索結果データを通信処理部570に渡す。データ合成処理部580は、UI記述データ760内の所定の箇所を検索結果を示す内容に置換する処理(合成処理)も示す。合成処理が完了することで、端末向け検索結果データは完成する。UI記述ファイル762は、UI記述データ管理部578からデータ合成処理部580に渡される。検索結果を示すデータは、検索結果管理部582からデータ合成処理部580に渡される(検索結果管理部582は、データ取得部576から検索結果を示すデータを渡されている)。
また、データ合成処理部580は、通信処理部570の他、検索結果管理部582にも完成した端末向け検索結果データを渡す。
なお、端末向け検索結果データが作成される際、シナリオの内容によっては、2種類以上のUI記述データ760やUI記述ファイル762と2種類以上の検索結果とが用いられることがある。
検索結果管理部582は、次に述べる第1の処理と第2の処理とを示す。第1の処理は、過去に受信した検索要求データと同じ内容の検索要求データをサーバ54が受信した場合、端末向け検索結果データ(過去にサーバ54が作成し、かつ記憶したもの)のうちその検索要求データに対応する検索結果を示すものを選択し、通信処理部570に渡す処理である。第2の処理は、過去にサーバ54が受信し、かつ記憶した検索結果のうちその検索要求データに対応するものを選択し、データ合成処理部580に渡す処理である。これらの処理が実施される場合、データ取得部576は動作しない。
また、検索結果管理部582は、ある外部サービスデータベース56から受信した検索結果の一部をパラメータとして別の外部サービスデータベース56から新たな検索結果を受信する処理も示す。
図6は、シナリオ実行部574の構成を示す図である。図6を参照して、シナリオ実行部574は、シナリオ処理部610と、UI記述データ呼出部612と、コネクタ呼出部614と、検索結果呼出部616とを含む。
シナリオ処理部610は、シナリオからUI記述データIDとコネクタIDとを特定する処理を示す。また、シナリオ処理部610は、シナリオに基づいて、UI記述データ呼出部612と、コネクタ呼出部614と、検索結果呼出部616とに情報を渡す。
UI記述データ呼出部612は、シナリオ処理部610から渡されたUI記述データIDをUI記述データ管理部578に渡し、UI記述データ管理部578を呼出す処理を示す。
コネクタ呼出部614は、シナリオ処理部610から渡されたコネクタIDに基づき、データ取得部576が含むコネクタ600のいずれかを選択し、実行するコネクタを指定する。
検索結果呼出部616は、シナリオの内容に応じた情報(たとえば、検索要求が示すパラメータとシナリオID)を取得し、検索結果管理部582に渡す。これに応じて、検索結果管理部582を実行する際、サーバ54は自らが記憶した情報を検索する。
図7は、データ合成処理部580の構成を示す図である。図7を参照して、データ合成処理部580は、データ振分部620と、一時蓄積部622と、データ合成部624と、データパッケージ化部626とを含む。
データ振分部620は、UI記述ファイル762が含むUI記述データ760とデータ変換部602が変換したデータとを、一時蓄積部622とデータ合成部624とに振分けて渡す処理を示す。
一時蓄積部622は、データ振分部620から渡されたデータをアーカイブ化されるデータとして一時的に蓄積する処理を示す。一時蓄積部622の実行により蓄積されるデータは、端末に表示されるロゴなどの、検索結果に関わらず端末向け検索結果データに含まれ、かつその配置が確定しているデータである。これらのデータについてはデータ合成部624に基づく処理が不要である。
データ合成部624は、データ振分部620から渡されたUI記述データ760と検索結果を示すデータとを合成することにより、端末向け検索結果データの一部となるデータを作成する処理を示す。
データパッケージ化部626は、一時蓄積部622が蓄積したデータとデータ合成部624が合成したデータとを組合せて、1つのアーカイブファイルを作成する処理を示す。本実施の形態の場合、端末向け検索結果データは、このアーカイブファイルの形式で通信される。
図8は、本実施の形態におけるサーバ54を実現するコンピュータハードウェアの構成を示す図である。このコンピュータハードウェアは、ディスプレイ650と、CPU(Central Processing Unit)652と、メモリ654と、固定ディスク656と、メモリカード駆動装置658と、CD−ROM(Compact Disk Read Only Memory)駆動装置660と、キーボード662と、通信インターフェイス664とを含む。
ディスプレイ650は、表示により情報を出力する。CPU652は、各種の演算を実施する。CPU652は、図8に示すコンピュータハードウェアの各部を制御する回路でもある。メモリ654は、情報を記憶する。固定ディスク656は、本実施の形態におけるサーバ54を実現するためのプログラムなどを記憶する。メモリカード駆動装置658は、メモリカード670から情報を読取る。CD−ROM駆動装置660は、CD−ROM672から情報を読取る。キーボード662は、オペレータが情報を入力する装置である。通信インターフェイス664は、ユーザ端末52や、外部サービスデータベース56と通信する。
図9は、CPU652が上述したプログラムを実行することにより実現される機能を示す機能ブロック図である。図9を参照して、CPU652の機能は、特定部680と、パラメータ制御部682と、形式変換部684と、端末向け検索結果データ作成部686と、送信制御部688と、抽出部690と、メッセージ制御部692と、検索部684と、追加制御部696とを含む。
特定部680は、通信インターフェイス664が検索要求を受信すると、検索要求が示すシナリオIDに対応するように、メモリ654が記憶したシナリオ(ひいては、複数の外部サービスデータベース56のいずれかおよびUI記述データ760)を特定する。本実施の形態においては、特定部680により特定されたことになる外部サービスデータベース56を「対応サーバ」と称する。この処理は、シナリオ実行部574により示された処理である。
パラメータ制御部682は、メモリ654に記憶されたコネクタ600(メモリ654に記憶されるコネクタ600は一種類であってもよいが、本実施の形態の場合、メモリ654は複数の種類のコネクタ600を記憶していることとする)に基づいて、検索要求が示すパラメータを対応サーバに送信するように、通信インターフェイス664を制御する。
形式変換部684は、検索結果を示すデータを通信インターフェイス664が受信すると、検索結果を示すデータの形式を、端末向け検索結果データ作成部686が利用可能な形式のデータに変換する。本実施の形態の場合、形式変換部684は、検索結果を示すデータの形式を、中間フォーマットで記述される形式に変換する。この処理は、データ変換部602により示された処理である。
端末向け検索結果データ作成部686は、特定部680が特定した特定したシナリオ(厳密には、そのシナリオが示すUI記述データ760やUI記述ファイル762)と通信インターフェイス664が受信した検索結果とに基づいて、端末向け検索結果データを作成する。この処理は、データ合成処理部580により示された処理である。
送信制御部688は、端末向け検索結果データをユーザ端末52に送信するように通信インターフェイス664を制御する。この処理は、通信処理部570により示された処理である。
抽出部690は、メモリ654に記憶された検索結果を示すデータから、検索結果の一部を抽出する。この処理は、検索結果管理部582により示された処理である。検索結果の一部を抽出するための具体的な手順は特に限定されるものではないが、本実施の形態の場合、抽出部690は、検索結果を示すデータに含まれるメタデータに基づいて検索結果の一部を抽出する。本実施の形態の場合、検索結果を示すデータは、検索結果自体を示すテキストデータや画像データと、それらのデータが何かを示すメタデータとを含んでいる。抽出部690は、検索結果を示すデータのうち、シナリオが示すメタデータに対応するテキストデータや画像データを抽出する。これにより、検索結果を示すデータから検索結果の一部が抽出されることとなる。
メッセージ制御部692は、対応シナリオ(特定部680によって読み出されるシナリオのこと)の読み出しの開始時から端末向け検索結果データの作成の完了時までの間に、「しばらくお待ち下さい」といった所定のメッセージをユーザ端末52へ送信するように通信インターフェイス664を制御する。そのメッセージをいつ送信するかは、メモリ654に記憶されたプログラムなどによって定められる。
検索部694は、メモリ654が記憶した検索結果を示すデータのうち、検索要求が示すパラメータとコネクタIDとに対応するデータを検索する。検索部694による検索を可能とするために、本実施の形態においては、検索結果を示すデータは、パラメータとコネクタIDとに対応付けられている。検索部694は、メモリ654が記憶した端末向け検索結果データのうち、検索要求が示すパラメータとシナリオIDとに対応するデータを検索するユニットでもある。検索部694による検索を可能とするために、端末向け検索結果データは、パラメータとシナリオIDとに対応付けられている。これらの処理は、検索結果呼出部616により示された処理である。
追加制御部696は、外部サービスデータベース56にパラメータを送信するように、通信インターフェイス664を制御する。このサーバには、別の外部サービスデータベース56から通信インターフェイス664が受信した検索結果が所定の要件(たとえば「NULL」でないことという要件)を満たさない場合に、パラメータが送信される。
特定部680は、シナリオ読出部6802と、UI部6804と、コネクタ部6806とを含む。
シナリオ読出部6802は、メモリ654が記憶したシナリオのうち、検索要求が示すシナリオIDに対応するシナリオを読み出す。本実施の形態においては、シナリオ読出部6802が読み出すシナリオが対応シナリオである。
UI部6804は、メモリ654が記憶したUI記述データ760のうち、対応シナリオが示すデータを読み出す。
コネクタ部6806は、メモリ654が記憶したコネクタのうち、対応シナリオが示すコネクタ600を読み出す。
パラメータ制御部682は、受信パラメータ制御部6822と、抽出パラメータ制御部6824とを含む。
受信パラメータ制御部6822は、特定部680が複数の対応サーバを特定した場合に、それら複数の対応サーバのうちシナリオが示すサーバに対して検索要求データが示すキーワードを送信するように、通信インターフェイス664を制御する。
抽出パラメータ制御部6824は、複数の対応サーバのうち検索結果を送信した対応サーバとは異なる対応サーバに対し、抽出部690が抽出した検索結果の一部をパラメータとして送信するように、通信インターフェイス664を制御する。
図10は、本実施の形態におけるメモリ654のメモリマップを示す図である。図10を参照して、本実施の形態におけるメモリ654の記憶領域は、管理領域6540と、プログラム領域6542と、UI記述データ領域6544と、シナリオ領域6546と、コネクタ領域6548と、端末向け検索結果データ領域6550と、検索結果領域6552とを含む。
管理領域6540は、CPU652が演算や制御を実施するために必要な情報を記憶する領域である。
プログラム領域6542は、本実施の形態に係るサーバ54を実現するために必要なプログラムを固定ディスク656から読み出し、一時的に記憶する領域である。このプログラムは、メモリカード駆動装置658やCD−ROM駆動装置660によって読取られるCD−ROM672などの記録媒体に記録されたプログラムである。
UI記述データ領域6544は、UI記述データ760を記憶する領域である。UI記述データ領域6544に記憶されるUI記述データ760は1種類のみであってもよいが、本実施の形態の場合、UI記述データ領域6544は、複数の種類のUI記述データ760を記憶する。また、本実施の形態の場合、UI記述データ領域6544は、UI記述データ760の他に、UI記述ファイル762を記憶する。UI記述データ760やUI記述ファイル762は、UI記述データIDに対応付けられている。
シナリオ領域6546は、シナリオをシナリオIDに対応付けて記憶する。
コネクタ領域6548は、コネクタ600をコネクタIDに対応付けて記憶する。
端末向け検索結果データ領域6550は、端末向け検索結果データをパラメータやシナリオIDに対応付けて記憶する。
検索結果領域6552は、検索結果をパラメータやコネクタIDに対応付けて記憶する。検索結果領域6552に記憶される検索結果を示すデータは、中間フォーマットに従って記述されている。
このサーバ54は、図8に示すコンピュータハードウェアとCPU652により実行されるソフトウェアとにより実現される。一般的にこうしたソフトウェアは、CD−ROM672などの記録媒体に格納されて流通し、CD−ROM駆動装置660などにより記録媒体から読取られて固定ディスク656に一旦格納される。さらにメモリ654に読出されて、上述したCPU652により実行される。上述したコンピュータのハードウェア自体は一般的なものである。したがって、本発明の最も本質的な部分は、CD−ROM672などの記録媒体に記録されたソフトウェアである。なお、コンピュータ自体の動作は周知であるので、ここではその詳細な説明は繰返さない。
外部サービスデータベース56を実現するコンピュータハードウェアの構成は、サーバ54を実現するコンピュータハードウェアの構成と同様である。したがって、その詳細な説明はここでは繰返さない。
なお、サーバ54の通信インターフェイス664は、外部サービスデータベース56の通信インターフェイス664と通信することとなる。
図11および図12を参照して、サーバ54で実行されるプログラムは、端末向け検索結果データの作成に関し、以下のような制御を実行する。なお、以下の説明において、サーバ54(厳密にはCPU652)がプログラムモジュールを実行することでそのプログラムモジュールに応じた処理が実施されることを「・・・部×××は、〜する。」と称する。たとえば、CPU652が通信処理部570を実行することで検索要求に含まれたシナリオIDやパラメータが抽出されることを、「通信処理部570は、検索要求に含まれたシナリオIDやパラメータを抽出する。」と称する。CPU652が通信処理部570を実行する処理の一部として、シナリオ管理部572にてシナリオIDやパラメータが利用可能にされることを、「通信処理部570は、シナリオIDやパラメータをシナリオ管理部572に出力する。」と称する。コネクタ600に基づいてそのコネクタ600が示す外部サービスデータベース56と通信することを、「コネクタ600は、外部サービスデータベース56と通信する。」と称する。
ステップS720にて、通信インターフェイス664は検索要求を示す通信データを受信する。そのような通信データが受信されると、通信処理部570は、検索要求に含まれたシナリオIDやパラメータをシナリオ管理部572とシナリオ実行部574とに出力する。シナリオIDやパラメータが出力されると、シナリオ管理部572は、そのシナリオIDに対応するシナリオをシナリオ実行部574に出力する。
図13は、ユーザ端末52から通信インターフェイス664へ送信される、検索要求を示す通信データのフォーマットを示す図である。図13を参照して、そのフォーマットは、少なくとも1つのパラメータ領域と、シナリオID領域と、出力先端末情報領域とを含む。パラメータ領域は、キーワードやユーザアクション(検索のために用いるキーワードとは別の、予め設定されているユーザの動作のカテゴリーであって、ユーザにより選択されるもの、たとえば、「買う」「見る」「知る」といったようなユーザが行いたい動作として選択される可能性のある選択肢を意味する情報)といった、各種のパラメータを示す領域である。シナリオID領域は、シナリオIDを示す領域である。出力先端末情報領域は、端末向け検索結果データの送信先(本実施の形態の場合はユーザ端末52)の識別情報を示す領域である。
なお、ユーザ端末52、あるいはサーバ54の識別情報の例には、IPアドレスやメールアドレスがある。どのような識別情報を用いるかということは、本実施の形態に係る情報表示システムの設計者などによって任意に定められる。
再び図11および図12を参照して、ステップS722にて、検索結果呼出部616は、検索結果管理部582に検索要求が示すパラメータとシナリオIDとを出力する。検索結果管理部582は、端末向け検索結果データ領域6550に記憶された端末向け検索結果データの中から、ステップS720にて通信処理部570が出力したシナリオIDやパラメータに対応するデータ(端末向け検索結果データに対応付けられたパラメータとシナリオIDとの組合わせが、検索要求が示すすべてのパラメータとシナリオIDとの組合わせに一致するもの)を検索する。そのようなデータの検索が終了すると、検索結果管理部582は、そのような端末向け検索結果データがあるか否かを判断する。そのような端末向け検索結果データがあると判断した場合には(ステップS722にてYES)、処理はステップS724へと移される。もしそうでないと(ステップS722にてNO)、処理はステップS726へと移される。
ステップS724にて、検索結果管理部582は、ステップS720にて通信処理部570が出力したシナリオIDやパラメータに対応する端末向け検索結果データを通信処理部570に出力する。
ステップS726にて、シナリオ処理部610は、シナリオが含む命令文を解析する。解析結果に応じて、シナリオ処理部610は、次に実行する処理がswitch文か否かを判断する。次に実行する処理がswitch文であると判断した場合には(ステップS726にてYES)、処理はステップS728へと移される。もしそうでないと(ステップS726にてNO)、処理はステップS730へと移される。
ステップS728にて、シナリオ処理部610は、switch文の内容に基づき、次に実行する処理を特定する。
ステップS730にて、シナリオ処理部610は、シナリオが含む命令文に基づき、次に実行する処理がUI記述データ管理部578を呼出す処理か否かを判断する。次に実行する処理がUI記述データ管理部578を呼出す処理と判断した場合には(ステップS730にてYES)、処理はステップS732へと移される。もしそうでないと(ステップS730にてNO)、処理はステップS734へと移される。
ステップS732にて、UI記述データ呼出部612は、シナリオ処理部610からUI記述データIDを渡されると、そのUI記述データIDをUI記述データ管理部578に渡し、UI記述データ管理部578を呼出す。UI記述データ管理部578は、UI記述データIDが示すUI記述データ760(場合によってはUI記述ファイル762)をデータ合成処理部580に出力する。この時、検索結果管理部582は、検索結果を示すデータをデータ合成処理部580に出力する。データ合成処理部580は、合成処理を実施する。
本実施の形態の場合、ステップS732にて、UI記述データ呼出部612は、シナリオ処理部610から渡されるUI記述データIDの中から、シナリオなどが示す要件に応じたUI記述データIDを選択し、選択したUI記述データIDを出力する。次に2つの例を示す。
その第1の例として、UI記述データ呼出部612は、ステップS742にて検索結果を受信できたか否かに応じて異なるUI記述データIDを出力する。
第2の例として、UI記述データ呼出部612は、通信インターフェイス664が受信した検索要求に含まれた出力先情報に応じて異なるUI記述データIDを出力する。この場合、送信先に応じた形態の端末向け検索結果データを通信インターフェイス664は送信できることとなる。
ステップS734にて、検索結果呼出部616は、検索要求が示すパラメータとシナリオIDを取得し、検索結果管理部582に渡す。検索要求が示すパラメータとシナリオIDとが渡されると、検索結果管理部582は、コネクタ600のいずれかが受信した検索結果から抽出したパラメータが存在する(この場合、管理領域6540に記憶されていることを意味する)か否かを判断する。そのようなパラメータが存在すると判断した場合には(ステップS734にてYES)、処理はステップS736へと移される。もしそうでないと(ステップS734にてNO)、処理はステップS738へと移される。
ステップS736にて、コネクタ呼出部614は、シナリオ処理部610から渡されたコネクタIDに基づき、データ取得部576が含むコネクタ600のいずれかを選択し、実行するコネクタを指定する。検索結果管理部582は、そのコネクタIDに対応するコネクタ600に対し、パラメータを渡す。このパラメータは、コネクタ600のいずれかが外部サービスデータベース56から受信した検索結果から検索結果管理部582が抽出したものである。
ステップS738にて、検索結果呼出部616は、検索要求が示すパラメータとシナリオIDを取得し、検索結果管理部582に渡す。検索要求が示すパラメータとシナリオIDとが渡されると、検索結果管理部582は、パラメータとシナリオが示すコネクタIDとに対応付けられた検索結果を示すデータが検索結果領域6552に記憶されているか否かを判断する。このステップで言う「パラメータ」は、ステップS720にて通信処理部570が出力したパラメータのいずれかであっても、外部サービスデータベース56から受信した検索結果の一部であって端末向け検索結果データ領域6550や検索結果領域6552に記憶されているパラメータであってもよい。そのようなデータを記憶していると判断した場合には(ステップS738にてYES)、処理はステップS740へと移される。もしそうでないと(ステップS738にてNO)、処理はステップS742へと移される。
ステップS740にて、検索結果管理部582は、検索結果を示すデータをデータ合成処理部580に出力する。この時出力されるデータは、検索結果領域6552に記憶されたデータであって、ステップS720にて通信処理部570が出力した検索要求が示すパラメータのいずれかとシナリオが示すコネクタIDとに対応付けられていたデータである。
ステップS742にて、コネクタ呼出部614は、シナリオ処理部610から渡されたコネクタIDに基づき、データ取得部576が含むコネクタ600のいずれかを選択し、実行するコネクタ600を指定する。データ取得部576が含む複数のコネクタ600のうちそのコネクタIDに対応するコネクタ600は、そのコネクタ600が通信相手としている外部サービスデータベース56に、次に述べるパラメータを送信する。コネクタ600のいずれかが受信した検索結果から抽出されたパラメータが存在する場合、送信するパラメータはそのパラメータである。そのようなパラメータが存在しない場合、送信するパラメータは検索要求に含まれたパラメータある。パラメータが送信された後、パラメータを送信したコネクタ600は、検索結果を受信できたか否かを判断する。本実施の形態の場合、「NULL」以外の情報を受信できたか否かに基づき、検索結果を受信できたか否か(言い換えると、検索結果が所定の要件を満たしたか否か)が判断される。検索結果を受信できた場合、キーワードを送信したコネクタ600は、その検索結果を示すデータをデータ変換部576に出力する。データ変換部576は、そのデータを中間フォーマットに沿うよう変換した上で、検索結果管理部582に変換されたデータを出力する。検索結果を受信できなかった場合、そのコネクタ600は、シナリオ処理部610が処理したシナリオに基づき、次の2つの処理のうち一方を実施する。その第1の処理は、別のコネクタ600にパラメータを渡す(その「別のコネクタ」が外部サービスデータベース56と通信する)処理である。第2の処理は、シナリオ処理部610が処理するシナリオを変更する処理である。
ステップS744にて、シナリオ処理部610は、次に実施するstep文がシナリオに含まれていないか否かを判断する。次に実施するstep文がシナリオに含まれていないと判断した場合には(ステップS744にてYES)、処理はステップS746へと移される。もしそうでないと(ステップS744にてNO)、処理はステップS726へと移される。
ステップS746にて、シナリオ処理部610は、シナリオの処理を終了する。データ合成処理部580は、UI記述データ管理部578が出力したUI記述データ760(シナリオが示すUI記述データIDによってはUI記述ファイル762)と検索結果管理部582が出力した検索結果を示すデータとに基づいて、端末向け検索結果データを作成する。端末向け検索結果データが作成されると、データ合成処理部580は、端末向け検索結果データを通信処理部570に出力する。通信インターフェイス664は、データ合成処理部580が出力した端末向け検索結果データを送信する。
図14から図25までを参照して、以上のような構造およびフローチャートに基づく、情報表示システムの動作について説明する。
[受信した検索結果から抽出したパラメータを用いて次の検索を行い、端末向け検索結果データを作成する場合]
図14は、ユーザ端末52が検索要求を送信してからマガジンがユーザ端末52によって表示されるまでの情報の流れを示す図である。なお、本実施の形態の場合、「マガジン」とは、端末向け検索結果データを受信したユーザ端末52が表示できる、検索結果の一種を意味する。
ユーザ端末52のユーザが操作部552を操作することにより、放送中の番組の情報を求める旨の検索要求をユーザ端末52に送信させたとする。この場合、検索要求を示す通信データのパラメータ領域にはシナリオIDやその他パラメータが含まれていない場合もある。
サーバ54の通信インターフェイス664は、その通信データを受信する。その通信データにはシナリオIDやパラメータが含まれていないので、通信処理部570は、シナリオIDやパラメータが含まれていないことを示す情報(どのような情報であるかということは特に限定されないが、本実施の形態の場合は「NULL」という情報が送信されることとする)をシナリオ管理部572とシナリオ実行部574とに出力する。シナリオ管理部572は、「NULL」という情報に対応するシナリオをシナリオ実行部574に出力する。シナリオ実行部574は、シナリオの内容に応じた情報を検索結果管理部582に渡す。検索結果管理部582は、管理領域6540に記憶された情報の中から、放送地域の選択肢と、それらの選択肢にそれぞれ対応付けられた放送地域IDと、所定のシナリオIDとを読み出し、通信処理部570に出力する。通信インターフェイス664は、それらの情報をユーザ端末52に送信する。
それらの情報をユーザ端末52が受信すると、ユーザ端末52は、放送地域の選択肢を示す情報を表示する。ユーザ端末52のユーザは、操作部552を操作することにより、表示された選択肢のいずれかを選択する。選択肢のいずれかが選択されると、ユーザ端末52は、検索要求を送信する。図14においては、「パラメータ提供アプリを起動」という注釈が付された枠から延びる矢印がこの処理を示す。
図15は、この時ユーザ端末52からサーバ54へ宛てて送信される通信データのフォーマットを示す図である。この通信データは、パラメータ領域として放送地域IDを示す領域を含む。これにより、検索要求が含むキーワードは放送地域IDとなる。この放送地域IDは、ユーザが操作部552を操作することにより示した放送地域に対応している。
サーバ54の通信インターフェイス664は、その通信データを受信する。通信データが受信されると、通信処理部570は、検索要求に含まれたシナリオIDやキーワードをシナリオ管理部572に出力する。
シナリオIDやキーワードが出力されると、シナリオ管理部572は、そのシナリオIDに対応するシナリオをシナリオ実行部574に出力する(ステップS720)。
なお、図16は、この時シナリオ実行部574に出力に出力されたシナリオを示す概念図である。
シナリオが出力されると、検索結果管理部582は、端末向け検索結果データ領域6550に記憶された端末向け検索結果データの中から、その端末向け検索結果データに対応付けられたパラメータとシナリオIDとの組合わせが、ステップS720にて通信処理部570が出力した検索要求が示すすべてのパラメータとシナリオIDとの組合わせに一致するデータを検索する。検索が終了すると、検索結果管理部582は、端末向け検索結果データ領域6550に記憶された端末向け検索結果データの中に、そのような端末向け検索結果データがあるか否かを判断する(ステップS722)。
この場合、そのようなデータがないとすると(ステップS722にてNO)、シナリオ処理部610は、これから実行するシナリオの処理がswitch文か否かを判断する(ステップS726)。
図16に示すシナリオによれば、これから実行するシナリオの処理はstep文と考えられるので(ステップS726にてNO)、シナリオ処理部610は、次に実行する処理がUI記述データ管理部578の呼出しか否かを判断する(ステップS730)。
図16に示すシナリオによれば、放送中の番組の情報(チャンネル情報)を取得することが次に実行する処理と考えられるので(ステップS730にてNO)、検索結果管理部582は、コネクタ600のいずれかが受信した検索結果から抽出したパラメータが存在するか否かを判断する(ステップS734)。
この場合、そのようなパラメータが存在しないとすると(ステップS734にてNO)、検索結果管理部582は、ステップS720にて通信処理部570が出力した検索要求が示すパラメータのいずれかとシナリオが示すコネクタIDとに対応付けられた、検索結果を示すデータが検索結果領域6552に記憶されているか否かを判断する(ステップS738)。
この場合、そのようなデータが記憶されていないとすると(ステップS738にてNO)、コネクタ600は、外部サービスデータベース56に、検索要求に含まれたパラメータである放送地域IDを送信する。
放送地域IDが送信された後、コネクタ600は、検索結果を受信できたか否かを判断する。検索結果を受信できた場合、パラメータを送信したコネクタ600は、その検索結果を示すデータをデータ変換部576に出力する。データ変換部576は、そのデータを中間フォーマットに沿うよう変換した上で、検索結果管理部582に変換されたデータを出力する。
データが出力されると、シナリオ処理部610は、次に実施するstep文がシナリオに含まれていないか否かを判断する(ステップS744)。
図16に示すシナリオによれば、次に実施するstep文がシナリオに含まれていると考えられるので(ステップS744にてNO)、シナリオ処理部610は、次に実行する処理がswitch文か否かを判断する(ステップS726)。
図16に示すシナリオによれば、次に実行する処理はswitch文でないと考えられるので(ステップS726にてNO)、シナリオ処理部610は、シナリオが含む命令文に基づき、次に実行する処理がUI記述データ管理部578の呼出しか否かを判断する(ステップS730)。
この場合、次に実行する処理がUI記述データ管理部578の呼出しとすると(ステップS730にてYES)、UI記述データ管理部578は、UI記述ファイル762をデータ合成処理部580に出力する。データ合成処理部580は、合成処理を実施する(ステップS732)。
合成処理が実施されると、シナリオ処理部610は、次に実施するstep文がシナリオに含まれているか否かを判断する(ステップS744)。
この場合、次に実施するstep文がシナリオに含まれていないとすると(ステップS744にてYES)、シナリオ処理部610は、図16に示すシナリオの処理を終了する。データ合成処理部580は、端末向け検索結果データを作成し、通信処理部570に出力する。通信インターフェイス664は、データ合成処理部580が出力した端末向け検索結果データをユーザ端末52に送信する(ステップS746)。なお、この端末向け検索結果データには、検索結果である番組の情報に加え、所定のシナリオIDを示す情報が含まれている。
ユーザ端末52は、サーバ54が送信した端末向け検索結果データを受信する。図14に示す「チャンネル一覧を受信」という枠は、この動作を意味する。
端末向け検索結果データを受信したユーザ端末52は、そのデータに基づき、あるチャンネルについての番組の情報を表示部554に表示させる。図14において「チャンネル一覧を受信」という枠に付された吹き出しは、この時に表示部554に表示される番組の情報の内容例を示す。
表示部554に表示された番組の情報を見たユーザは、操作部552を操作することにより、番組情報やコマーシャル情報を取得したいチャンネルを選択する。そのチャンネルを示す情報を操作部552が受付けると、制御部556は、その情報を処理することにより、検索要求を作成し、通信部550にその検索要求を送信させる。
図17は、この時ユーザ端末52からサーバ54へ宛てて送信される通信データのフォーマットを示す図である。この通信データは、パラメータ領域としてチャンネルIDを示す領域を含む。この領域において示されるチャンネルIDは、ユーザが選択したチャンネルのチャンネルIDである。これにより、検索要求が含むパラメータはチャンネルIDとなる。また、この通信データに含まれるシナリオIDは、端末向け検索結果データを受信した際、チャンネル一覧を示す情報と共に送信されたシナリオIDである。
サーバ54の通信インターフェイス664がその通信データを受信すると、シナリオ管理部572は、そのシナリオIDに対応するシナリオをシナリオ実行部574に出力する(ステップS720)。
なお、図18は、この時シナリオ実行部574に出力されたシナリオを示す概念図である。
シナリオが出力されると、検索結果管理部582は、端末向け検索結果データ領域6550に記憶された端末向け検索結果データの中に、ステップS720にて通信処理部570が出力したシナリオIDやパラメータに対応するデータがあるか否かを判断する(ステップS722)。
この場合、そのようなデータがないとすると(ステップS722にてNO)、シナリオ処理部610は、これから実行するシナリオの処理がswitch文か否かを判断する(ステップS726)。
図18に示すシナリオによれば、これから実行するシナリオの処理はstep文と考えられるので(ステップS726にてNO)、シナリオ処理部610は、次に実行する処理がUI記述データ管理部578の呼出しか否かを判断する(ステップS730)。
図18に示すシナリオによれば、放送中の番組のジャンルとキーワードとを取得することが次に実行する処理と考えられるので(ステップS730にてNO)、検索結果管理部582は、コネクタ600のいずれかが受信した検索結果から抽出したキーワードが存在するか否かを判断する(ステップS734)。
この後、ステップS738の処理を経て、コネクタ600は、外部サービスデータベース56に、検索要求に含まれたパラメータであるチャンネルIDを送信する。
チャンネルIDが送信された後、チャンネルIDを送信したコネクタ600は、検索結果を受信できたか否かを判断する。受信された検索結果は、データ変換部576を経て検索結果管理部582に出力される。この場合、放送中の番組のジャンルとキーワードとが検索結果として送信されたとする。
検索結果が出力されると、シナリオ処理部610は、次に実施するstep文がシナリオに含まれていないか否かを判断する(ステップS744)。
図18に示すシナリオによれば、次に実施するstep文がシナリオに含まれていると考えられるので(ステップS744にてNO)、シナリオ処理部610は、次に実行する処理がswitch文か否かを判断する(ステップS726)。
図18に示すシナリオによれば、次に実行する処理はswitch文と考えられるので(ステップS726にてYES)、シナリオ処理部610は、switch文の内容に基づき、次に実行する処理を特定する(ステップS728)。図18に示すシナリオの場合、シナリオ処理部610は、管理領域6540に記憶されたジャンルを示す情報に基づき、次に実行する処理を特定することとする。
次に実行する処理が特定されると、シナリオ処理部610は、次に実行する処理がswitch文か否かを判断する(ステップS726)。
この場合、次に実行する処理がswitch文でないとすると(ステップS726にてNO)、シナリオ処理部610は、シナリオが含む命令文に基づき、次に実行する処理がUI記述データ管理部578の呼出しか否かを判断する(ステップS730)。
この場合、次に実行する処理がUI記述データ管理部578の呼出しとすると(ステップS730にてYES)、UI記述データ管理部578は、UI記述ファイル762をデータ合成処理部580に出力する。データ合成処理部580は、合成処理を実施する(ステップS732)。
合成処理が実施されると、シナリオ処理部610は、次に実施するstep文がシナリオに含まれているか否かを判断する(ステップS744)。
図18に示すシナリオにおいて、次に実施するstep文がシナリオに含まれていないとすると(ステップS744にてYES)、シナリオ処理部610は、図18に示すシナリオの処理を終了する。データ合成処理部580は、端末向け検索結果データを作成し、通信処理部570に出力する。通信インターフェイス664は、データ合成処理部580が出力した端末向け検索結果データをユーザ端末52に送信する(ステップS746)。この端末向け検索結果データは、キーワードを示す情報と複数の種類のユーザアクションを示す情報とに加え、ユーザアクションにそれぞれ対応付けられたシナリオIDの情報を含む。
ユーザ端末52は、サーバ54が送信した端末向け検索結果データを受信する。図14に示す「キーワードとユーザアクションの一覧」という枠は、ユーザ端末52が受信した端末向け検索結果データがキーワードとユーザアクションの一覧とを示すことを意味する。
端末向け検索結果データを受信したユーザ端末52は、そのデータに基づき、キーワードとユーザアクションとの情報を表示部554に表示させる。図14において「キーワードとユーザアクションの一覧」という枠に付された吹き出しは、この時に表示部554に表示されるキーワードの内容例を示す。
表示部554に表示された番組の情報を見たユーザは、操作部552を操作することにより、キーワードとユーザアクションとを選択する。キーワードとユーザアクションとを操作部552が受付けると、制御部556は、その情報を処理することにより、検索要求を作成し、通信部550にその検索要求を送信させる。
図19は、この時ユーザ端末52からサーバ54へ宛てて送信される通信データのフォーマットを示す図である。この通信データは、ユーザ端末52のユーザが選択したキーワードを示す領域とユーザアクションを示す領域とをパラメータ領域として含む。これにより、検索要求が含むパラメータは、ユーザ端末52のユーザが選択したキーワードと、そのユーザが選択したユーザアクションとになる。また、シナリオID領域において示されるシナリオIDは、ユーザアクションの内容に対応づけてサーバ54から送信されたものである。
図20は、検索結果管理部582が蓄積した情報を利用しない場合における、本実施の形態に係る情報表示システムにおける情報の流れのうち、図19に示すフォーマットの通信データを受信した時以降におけるものの例を示す図である。図20における「ユーザ端末」から「通信処理部」までの「検索要求」という注釈が付された矢印がユーザ端末52からサーバ54への通信データの送信処理を示す。「検索要求」という注釈の下に記載された「シナリオID、キーワード、ユーザアクション」という注釈は、このとき通信される検索要求に含まれるパラメータを示す。
サーバ54の通信インターフェイス664がその通信データを受信すると、通信処理部570は、検索要求に含まれたシナリオIDやパラメータをシナリオ管理部572とシナリオ実行部574とに出力する。図20において「通信処理部」と「シナリオ管理部」との間の「シナリオ読込指示」という注釈が付された矢印がこの処理を示す。
シナリオIDやパラメータが出力されると、シナリオ管理部572は、そのシナリオIDに対応するシナリオをシナリオ実行部574に出力する(ステップS720)。図20において「シナリオ管理部」と「シナリオ実行部」との間の「指定シナリオ実行指示」という注釈が付された矢印がこの処理を示す。
なお、図21は、この時シナリオ実行部574に出力に出力されたシナリオを示す概念図である。
シナリオが出力されると、検索結果管理部582は、端末向け検索結果データ領域6550に記憶された端末向け検索結果データの中に、ステップS720にて通信処理部570が出力したシナリオIDやパラメータに対応するデータがあるか否かを判断する(ステップS722)。
この場合、そのようなデータがないとすると(ステップS722にてNO)、シナリオ処理部610は、これから実行するシナリオの処理がswitch文か否かを判断する(ステップS726)。図20において「シナリオ実行部」に付された円がこの処理を示す。
図21に示すシナリオによれば、これから実行する処理はswitch文と考えられるので(ステップS726にてYES)、シナリオ処理部610は、switch文の内容に基づき、次に実行する処理を特定する(ステップS728)。図21に示すシナリオの場合、シナリオ処理部610は、検索要求に含まれたユーザアクションを示す情報に基づき、次に実行する処理を特定することとする。
次に実行する処理が特定されると、シナリオ処理部610は、次に実行する処理がswitch文か否かを判断する(ステップS726)。
ここでは、次に実行する処理が図21に示す「<step id="見たい"」であることと仮定する。この場合、次に実行する処理はswitch文でないので(ステップS726にてNO)、シナリオ処理部610は、シナリオが含む命令文に基づき、次に実行する処理がUI記述データ管理部578の呼出しか否かを判断する(ステップS730)。
この場合、次に実行する処理は図21に示す「<step id="見たい"」である。この処理はUI記述データ管理部578の呼出しではないので(ステップS730にてNO)、検索結果管理部582は、コネクタ通信部600のいずれかが受信した検索結果から抽出したキーワードが存在するか否かを判断する(ステップS734)。
この場合、そのようなキーワードが存在しないとすると(ステップS734にてNO)、検索結果管理部582は、ステップS720にて通信処理部570が出力した検索要求が示すキーワードのいずれかとシナリオが示すコネクタIDとに対応付けられた、検索結果を示すデータが記憶されているか否かを判断する(ステップS738)。
この場合、そのようなデータが記憶されていないとすると(ステップS738にてNO)、コネクタ呼出部614は、シナリオ処理部610から渡されたコネクタIDに基づき、データ取得部576が含むコネクタ600のいずれかを選択し、実行するコネクタ600を指定する(ステップS742)。図20において「シナリオ実行部」と「コネクタA」との間の「コネクタA実行指示(キーワード)」という注釈が付された矢印がこの処理を示す。
この場合、データ取得部576が含む複数のコネクタ600のうちそのコネクタIDに対応するコネクタ600は、DVD販売サイトとして動作する外部サービスデータベース56に、検索要求に含まれたキーワードを送信する。この場合、検索要求に含まれたキーワードは「×××」と「CM」とであることとする。図20において「コネクタA」と「サービスA」との間の「サービスA実行」という注釈が付された矢印がこの処理を示す。
DVD販売サイトとして動作する外部サービスデータベース56は、検索を行い、検索結果を示すデータをコネクタ600に返信する。図20において「サービスA」と「コネクタA」との間の「サービスA取得データ」という注釈が付された矢印がこの処理を示す。
キーワードを送信したコネクタ600は、検索結果を受信できたか否かを判断する。この場合、検索結果を受信できたとすると、キーワードを送信したコネクタ600は、その検索結果を示すデータをデータ変換部576に出力する。データ変換部576は、そのデータを中間フォーマットに沿うよう変換した上で、変換されたデータを検索結果管理部582に出力する。図20において「コネクタA」と「検索結果管理部」との間の「コネクタAデータ出力」という注釈が付された矢印がこの処理を示す。
図22は、DVD販売サイトとして動作する外部サービスデータベース56が送信した検索結果を示すデータの一例を示す概念図である。ただし、図22は、説明の便宜を図るためにブラウザで表示した場合の画像としてこのデータを示しているものに過ぎず、検索結果を示すデータがこのような画像データの形態で取り扱われることを示すものではない。通常の場合、検索結果を示すデータは、他のデータファイルと同様の形態で取り扱われる。
データが出力されると、検索結果管理部582は、検索結果領域6552にそのデータを記憶させる。シナリオ処理部610は、次に実施するstep文がシナリオに含まれていないか否かを判断する(ステップS744)。
この場合、図21によれば、次に実施するstep文がシナリオに含まれているので(ステップS744にてNO)、シナリオ処理部610は、次に実行する処理がswitch文か否かを判断する(ステップS726)。
図21に示すシナリオによれば、次に実行する処理は「コネクタ600を呼出し、関連ブログ検索を行い情報を取得する」である。この処理はswitch文でないと考えられるので(ステップS726にてNO)、シナリオ処理部610は、シナリオが含む命令文に基づき、次に実行する処理がUI記述データ管理部578の呼出しか否かを判断する(ステップS730)。
この場合、上述の通り、次に実行する処理はUI記述データ管理部578の呼出しではないので(ステップS730にてNO)、検索結果管理部582は、コネクタ600のいずれかが受信した検索結果から抽出したキーワードが存在するか否かを判断する(ステップS734)。
この場合、そのようなキーワードが存在しないとすると(ステップS734にてNO)、検索結果管理部582は、ステップS720にて通信処理部570が出力した検索要求が示すパラメータのいずれかとシナリオが示すコネクタIDとに対応付けられた検索結果を示すデータが検索結果領域6552に記憶されているか否かを判断する(ステップS738)。
この場合、そのようなデータを記憶していないとすると(ステップS738にてNO)、コネクタ呼出部614は、シナリオ処理部610から渡されたコネクタIDに基づき、データ取得部576が含むコネクタ600のいずれかを選択し、実行するコネクタ600と指定する(ステップS742)。図20において「シナリオ実行部」と「検索結果管理部」との間の「コネクタAデータ出力を使ってコネクタB実行指示」という注釈が付された矢印がこの処理を示す。
この場合、データ取得部576が含む複数のコネクタ600のうちそのコネクタIDに対応するコネクタ600は、検索エンジンとして動作する外部サービスデータベース56に、キーワードを送信する。送信されるキーワードは、検索結果管理部582が検索結果を示すデータから抽出した「△△△・□□□」というキーワードである。図20において「検索結果管理部」と「コネクタB」との間の「コネクタAデータ出力」という注釈が付された矢印、および「コネクタB」と「サービスB」との間の「サービスB実行」という注釈が付された矢印が、この処理を示す。
検索エンジンとして動作する外部サービスデータベース56は、検索を行い、検索結果を示すデータをコネクタ600に返信する。図20において「サービスB」と「コネクタB」との間の「サービスB取得データ」という注釈が付された矢印がこの処理を示す。
キーワードを送信したコネクタ600は、検索結果を受信できたか否かを判断する。この場合、検索結果を受信できたとすると、キーワードを送信したコネクタ600は、その検索結果を示すデータをデータ変換部576に出力する。データ変換部576は、そのデータを中間フォーマットに沿うよう変換した上で、変換されたデータを検索結果管理部582に出力する。図20において「コネクタB」と「検索結果管理部」との間の「コネクタBデータ出力」という注釈が付された矢印がこの処理を示す。
図23は、検索エンジンとして動作する外部サービスデータベース56が送信した検索結果を示すデータの一例を示す概念図である。ただし、図23も、説明の便宜を図るためにブラウザで表示した場合の画像としてこのデータを示しているものに過ぎない。
データが出力されると、検索結果管理部582は、検索結果領域6552にそのデータを記憶させる。シナリオ処理部610は、次に実施するstep文がシナリオに含まれていないか否かを判断する(ステップS744)。
この場合、図21によれば、次に実施するstep文がシナリオに含まれているので(ステップS744にてNO)、シナリオ処理部610は、次に実行する処理がswitch文か否かを判断する(ステップS726)。
図21に示すシナリオによれば、次に実行する処理は「<step id="検索結果の出力"」である。この処理はswitch文でないと考えられるので(ステップS726にてNO)、シナリオ処理部610は、シナリオが含む命令文に基づき、次に実行する処理がUI記述データ管理部578の呼出しか否かを判断する(ステップS730)。
この場合、「検索結果の出力」がUI記述データ管理部578の呼出しを意味すると考えられるので(ステップS730にてYES)、UI記述データ呼出部612は、シナリオ処理部610から渡されるUI記述データIDの中から、シナリオなどが示す要件に応じたUI記述データIDを選択し、選択したUI記述データIDを出力する。図20における「シナリオ実行部」から「UI記述データ管理部」までの「UI記述データ合成指示(UI記述データ、コネクタA、Bの取得データ出力指示)」という注釈が付された矢印がこの処理を示す。
UI記述データIDが出力されると、UI記述データ管理部578は、UI記述ファイル762をデータ合成処理部580に出力する。図20における「UI記述データ管理部」から「データ合成処理部」までの「UI記述データ出力」という注釈が付された矢印がこの処理を示す。
この時点までに、検索結果管理部582は、検索結果を示すデータをデータ合成処理部580に出力している。図20における「UI記述データ管理部」から「検索結果管理部」までの「取得データ出力指示」という注釈が付された矢印と、「検索結果管理部」から「データ合成処理部」までの「データ出力」という注釈が付された矢印とがこの処理を示す。
UI記述ファイル762と検索結果を示すデータとが出力されると、データ合成処理部580は、合成処理を実施する(ステップS732)。
合成処理が実施されると、シナリオ処理部610は、次に実施するstep文がシナリオに含まれているか否かを判断する(ステップS744)。
この場合、次に実施するstep文がシナリオに含まれていないと考えられるので(ステップS744にてYES)、シナリオ処理部610は、図21に示すシナリオの処理を終了する。データ合成処理部580は、端末向け検索結果データを作成し、通信処理部570に出力する。図20における「データ合成処理部」から「通信部」までの「端末向け検索結果データ」という注釈が付された矢印がこの処理を示す。
端末向け検索結果データが出力されると、通信インターフェイス664は、その端末向け検索結果データをユーザ端末52に送信する(ステップS746)。図20における「通信処理部」から「ユーザ端末」までの「端末向け検索結果データ」という注釈が付された矢印がこの処理を示す。
ユーザ端末52は、サーバ54が送信した端末向け検索結果データを受信する。図14に示す「マガジンの取得」という枠は、この動作を意味する。
図14において「マガジンの取得」という枠に付された吹き出しは、この時に表示部554に表示される情報(すなわちマガジン)の内容例を示す。
なお、この時に表示部554に表示される画像は、1種類に限らない。外部サービスデータベース56が受信した情報によっては、2種類以上の画像が表示されても良い。図24は、2種類以上の画像が表示部554に表示されることを示す概念図である。何ページ目のどの位置にどのような情報が配置されるかということは、すべてUI記述データに記述されている。
[予め蓄積されたデータを利用せず、端末向け検索結果データを作成する場合]
2種類のキーワードと1種類のユーザアクションとをパラメータとする通信データをサーバ54の通信インターフェイス664が受信したとする。
図25は、検索結果管理部582が蓄積した情報を利用しない場合における、本実施の形態に係る情報表示システムの情報の流れのうち、そのような通信データを受信した時以降におけるものの例を示す図である。
通信インターフェイス664が通信データを受信した後、上述した場合と同様の処理が実施されたとする。そしてその結果、あるコネクタ600が、通信データが含む2種類のキーワードのうち1種類に対する検索結果を示すデータを外部サービスデータベース56から受信したとする。
コネクタ600は、その検索結果を示すデータをデータ変換部576に出力する。データ変換部576は、そのデータを中間フォーマットに沿うよう変換した上で、変換されたデータを検索結果管理部582に出力する。図25において「コネクタA」と「検索結果管理部」との間の「コネクタAデータ出力」という注釈が付された矢印がこの処理を示す。
その後、コネクタ呼出部614は、シナリオ処理部610から渡されたコネクタIDに基づき、データ取得部576が含むコネクタ600のいずれかを選択し、実行するコネクタを指定する(ステップS742)。図25において「シナリオ実行部」と「コネクタB」との間の「コネクタB実行指示(キーワード)」という注釈が付された矢印がこの処理を示す。
この場合、データ取得部576が含む複数のコネクタ600のうちそのコネクタIDに対応するコネクタ600は、検索エンジンとして動作する外部サービスデータベース56に、キーワードを送信する。送信されるキーワードは、通信インターフェイス664が受信した2種類のキーワードのうち、まだ外部サービスデータベースに送信されていないキーワードである。図25において「コネクタB」と「サービスB」との間の「サービスB実行」という注釈が付された矢印が、この処理を示す。
[端末向け検索結果データ領域6550に記憶されたデータを返信する場合]
ステップS720の処理を経て、検索結果管理部582は、端末向け検索結果データ領域6550に記憶された端末向け検索結果データの中から、その端末向け検索結果データに対応付けられたパラメータとシナリオIDとの組合わせが、ステップS720にて通信処理部570が出力した検索要求が示すすべてのパラメータとシナリオIDとの組合わせに一致するデータを検索する。検索が終了すると、検索結果管理部582は、端末向け検索結果データ領域6550に記憶された端末向け検索結果データの中に、そのような端末向け検索結果データがあるか否かを判断する(ステップS722)。
この場合、そのようなデータがあるとすると(ステップS722にてYES)、検索結果管理部582は、ステップS720にて通信処理部570が出力したシナリオIDやパラメータに対応する端末向け検索結果データを通信処理部570に出力する(ステップS724)。通信インターフェイス664は、検索結果管理部582が出力した端末向け検索結果データをユーザ端末52に送信する(ステップS746)。
[検索結果領域6552に記憶されたデータを返信する場合]
ステップS720〜ステップS730の処理を経て、検索結果管理部582は、コネクタ600のいずれかが受信した検索結果から抽出したパラメータが存在するか否かを判断する(ステップS734)。
この場合、そのようなパラメータが存在するとすると(ステップS734にてYES)、コネクタ呼出部614は、シナリオ処理部610から渡されたコネクタIDに基づき、データ取得部576が含むコネクタ600のいずれかを選択し、実行するコネクタを指定する。検索結果管理部582は、そのコネクタIDに対応するコネクタ600に対し、パラメータを渡す(ステップS736)。
キーワードが渡されると、検索結果管理部582は、ステップS720にて通信処理部570が出力した検索要求が示すコネクタIDと渡されたキーワードとに対応付けられた、検索結果を示すデータが検索結果領域6552に記憶されているか否かを判断する(ステップS738)。
この場合、そのようなデータが記憶されていないとすると(ステップS738にてNO)、ステップS742以降の処理を経て、端末向け検索結果データがユーザ端末52宛に送信される(ステップS746)。
以上のようにして、本実施の形態における情報表示システムは、検索要求に含まれたシナリオIDに基づき複数のシナリオのいずれかを特定する。シナリオが特定されると、サーバ54は、そのシナリオに基づいて検索を要求する外部サービスデータベース56を特定する。特定された外部サービスデータベース56は検索結果を返信する。検索結果を受信したサーバ54は、検索結果を編集して端末向け検索結果データを作成する。端末向け検索結果データはユーザ端末52に送信されユーザ端末52によってマガジンその他の情報として表示される。図26はこのような処理を示す概念図である。
本実施の形態における情報表示システムにおいては、検索結果としてユーザ端末52に送信された情報が次の検索要求におけるパラメータとして利用される。そのような情報の利用により、ユーザ端末52のユーザは、検索のためのキーワードを検索の都度最初から考えなくてもよくなる。そのユーザは、複数のキーワードが提示された場合に、提示されたキーワードのうちどのキーワードを用いるかを考えればよい。
しかも、自動的に複数の外部サービスデータベース56に対して検索が要求され、検索結果としてユーザ端末52に送信された情報がその際のパラメータとして利用されるので、ユーザが検索のために何らかの動作を行う回数は少なくなる。図27は、このことを示す概念図である。従来の携帯電話やパーソナルコンピュータなどを用いて検索を行う場合、一度に検索を要求できるのは図27に示した3つの外部サービスデータベース56のうち1つだけであったが、本実施の形態にかかる情報表示システムの場合、図27に示す3つの外部サービスデータベース56から一度に検索結果を受信できる。通常、あるサイトから情報を得ようとするユーザは、そのサイトにアクセスした上で検索を要求するか、パラメータ一種としてそのサイトのURLなどを指定することが必要である。このような作業は煩わしい。その上、このような作業を実施する場合、ユーザが知らないサイトから情報を得ることはできなくなる。本実施の形態における情報表示システムにおいては、パラメータを送信する外部サービスデータベース56をユーザが個別に指定しなくてもよいので、ユーザに煩わしい作業を強いることがなく、ユーザが知らないサイトから得た情報をユーザに提供することができる。
また、検索を繰返す際、繰返される検索のうち最初の検索に用いるキーワードは予め定められている。これにより、ユーザ端末52のユーザは、繰返される検索のうち最初の検索においても、キーワードを考えなくてよい。
その上、本実施の形態に係るサーバ54は、通信可能な外部サービスデータベース56のうち情報を得るサーバをシナリオに基づいて特定する。情報を得るサーバがシナリオに基づいて特定されるので、通信のための制御のうち外部サービスデータベース56の特定以外の部分を共用化できる。制御の一部が共用化されることにより、サーバ54の設計が容易となり、かつ性能が低いハードウェアによってもサーバ54として動作させることが可能になる。しかも、外部サービスデータベース56をユーザが個別に指定しなくてもよい。
また、ユーザの意思を反映して外部サービスデータベース56を特定する必要がある場合、シナリオIDはユーザアクションに対するユーザの選択に応じて定められる。ユーザの意思が自明な場合やユーザの意思を反映する必要がない場合、検索要求に含まれるシナリオIDは予め定められたIDである。
上述したように、「ユーザアクション」は、検索のために用いるキーワードとは別の、予め設定されているユーザの動作のカテゴリーであって、ユーザにより選択されるもの、たとえば、「買う」「見る」「知る」といったようなユーザが行いたい動作として選択される可能性のある選択肢を意味する情報である。ユーザに対してユーザアクションを提示した後、提示したユーザアクションのいずれかが選択されると、選択されたユーザアクションはユーザが行いたい動作に対応することとなる。
これにより、シナリオIDはユーザが行いたい動作に対応することとなる。ユーザが行いたい動作にシナリオIDが対応しているので、外部サービスデータベース56が提供したすべての情報が検索結果に含まれる場合に比べ、ユーザにとって不要な情報が検索結果に占める割合は少なくなる。ユーザにとって不要な情報の割合が少なくなるので、検索が繰返される回数の合計は少なくなる。
また、外部サービスデータベース56がシナリオIDに基づいて特定されることにより、検索エンジンを用いて検索した場合のように情報量が多くなり過ぎることはなくなる。
その上、本実施の形態に係るサーバ54は、コネクタ600を参照して外部サービスデータベース56と通信する。これにより、通信のための制御のうち外部サービスデータベース56に関わらず同一の部分を共用化できる。制御の一部が共用化されることにより、サーバ54の設計が容易となり、かつ性能が低いハードウェアによってもサーバ54として動作させることが可能になる。
その上、本実施の形態に係るサーバ54は、シナリオに基づいてコネクタ600を特定し、特定されたコネクタ600に対応する外部サービスデータベース56と通信する。これにより、通信のための制御のうち外部サービスデータベース56の特定に関する部分において、制御のための処理を簡略化できる。制御のための処理が簡略化されることにより、サーバ54の設計が容易となり、かつ性能が低いハードウェアによってもサーバ54として動作させることが可能になる。
その上、本実施の形態に係るサーバ54は、ある検索要求を受信し、その検索要求に対する検索結果を受信すると、その検索結果やその検索結果を示す端末向け検索結果データを蓄積する。これにより、外部サービスデータベース56にアクセスする頻度を少なくできる。その頻度を少なくできるので、検索結果を蓄積しない場合に比べ、外部サービスデータベース56との通信が困難でも端末向け検索結果データを作成して送信できる可能性が高くなる。
その上、本実施の形態に係るサーバ54は、更新、削除、および追加のうち少なくとも一種類の処理が可能であるようにシナリオやコネクタ600を記憶する。これにより、本実施の形態に係るサーバ54は、外部サービスデータベース56の変動や必要とされる情報の変化に対して容易に対処できる。
その上、本実施の形態に係るサーバ54は、「NULL」などといった一定の要件を満たさない検索結果が返信された場合、その検索結果を送信した外部サービスデータベース56とは別の外部サービスデータベース56に対してパラメータを送信し、検索結果を受信することができる。これにより、ユーザが期待する検索結果が得られる可能性が高くなる。
その上、本実施の形態に係るサーバ54は、複数の種類のUI記述データを記憶でき、シナリオIDに基づいて特定されたそれらのデータのいずれかを用いて端末向け検索結果データを作成する。これにより、得られた検索結果に応じた形態で情報を出力できるので、UI記述データが一種類しか記憶できない場合に比べ、本実施の形態における情報表示システムの利便性は向上する。
しかも、本実施の形態においてUI記述データ760はスクリプト言語で記述されている。ユーザ端末52は、スクリプト言語で記述された端末向け検索結果データに基づき、表示機能を有する端末上にて検索結果を表示する際に表示部分を切り替え可能な形で検索結果を表示する。これにより、切り替え可能な表示により、表示切り替えが不可能な場合に比べ、検索結果は見やすくなる。
その上、本実施の形態に係るサーバ54は、対応シナリオの読み出しの開始時から端末向け検索結果データの作成の完了時までの間に、所定のメッセージをユーザ端末52へ送信することができる。これにより、検索結果を待つユーザの心理的ストレスを和らげることができる。
その上、本実施の形態に係るサーバ54は、端末向け検索結果データを作成する際、検索結果を示すデータを中間フォーマットに沿うよういったん変換する。これにより、端末向け検索結果データを作成するための制御が簡略化される。
なお、本実施の形態の第1の変形例においては、ユーザ端末52が検索結果を受信する場合、検索結果は音声データとして通信されてもよい。検索結果が音声データの場合、ユーザ端末52は検索結果を音声として出力できる。検索結果がテキストデータとして通信され、ユーザ端末52において音声データに変換されてもよい。検索結果が音声として出力されると、ユーザはその音声に基づいてユーザ端末52を操作することによりそれまでできなかった操作が容易にできる。
また、本実施の形態の第2の変形例においては、検索結果は、画像表示や音声出力以外の方法で出力されてもよい。そのような出力方法の例として、印刷することが考えられる。また、検索結果は動画として出力されてもよい。
また、本実施の形態の第3の変形例においては、ユーザ端末52は、受信した端末向け検索結果データを後に別の装置に転送してもよい。
また、本実施の形態の第4の変形例においては、ユーザ端末52の他に、サーバ54に検索要求を送信したりサーバ54から検索結果を受信したりする端末が上述した情報表示システムに含まれていてもよい。そのような端末は、何らかの機器に接続されていてもよい。
たとえば、そのような機器が蛍光灯である場合、蛍光灯の電源が投入されたことに応じて、蛍光灯に接続された端末からサーバ54に検索要求を示す通信データが自動的に送信されてもよい。この場合、検索要求が示すパラメータが放送地域IDで出力先端末情報がユーザ端末52を示していれば、蛍光灯の電源が投入されたことに応じて、ユーザ端末52にその時放送されている番組の情報を表示させることも可能になる。
あるいは、端末が接続されている機器が冷蔵庫であれば、冷蔵庫の扉を開いたことに応じて冷蔵庫の中の食品の賞味期限をユーザ端末52に表示させることも可能になる。この場合、検索要求が含むパラメータが冷蔵庫の識別情報で、外部サービスサーバ56のいずれかがその冷蔵庫の中の食品の賞味期限を記憶していることが必要である。
図28は、このような機器が含まれている場合の、情報表示システムの構成を示す図である。図28を参照して、本変形例に係る情報表示システムは、ユーザ端末52と、サーバ54と、複数の外部サービスデータベース56と、IH(Induction Heating)調理システム60とを含む。
IH調理システム60は、加熱条件の設定がなされた後、加熱調理を開始する操作がなされると、それに応じて、食品を加熱する。IH調理システム60は、サーバ54に対し検索要求を送信すると共に、サーバ54から端末向け検索結果データを受信する、ユーザ端末52と同様な端末の一種でもある。
なお、本変形例の場合、ユーザ端末52とIH調理システム60とは、いずれもサーバ54に対して検索要求を送信するとともに、サーバ54から端末向け検索結果データを受信する端末として動作する。
本変形例に係る情報表示システムは、ユーザ端末52とIH調理システム60とが含まれていることにより、IH調理システム60が送信した検索要求に対する検索結果をユーザ端末52に送信することも、その逆も可能である。それらのことが可能なのは、検索要求を示す通信データが検索結果の送信先を示す情報を含み、その情報が示す端末にサーバ54が検索結果を送信するためである。
図29は、IH調理システム60の構成を示す図である。本実施の形態の場合、IH調理システム60は、加熱調理装置500と情報処理装置502とを含む。加熱調理装置500と情報処理装置502との間は、ケーブルによって通信できるように接続されている。また、情報処理装置502は、図示しない通信回線を介してサーバ54と通信できる。
加熱調理装置500は、加熱調理装置500の動作を全体的に制御する制御部510を備えている。制御部510には、加熱部512、各種検知部514、表示部516、キー入力部518、記憶部520、および、通信部522が接続されている。
加熱調理装置500は、加熱調理を実行する。つまり、キー入力部518に対して、加熱条件の設定がなされた後、加熱調理を開始する操作がなされると、それに応じて、加熱調理装置500の制御部510は、加熱部512に加熱動作を開始させる。
各種検知部514は、被加熱物の加熱の進行度合いを種々の方法(具体的な方法は特に限定されるものではないが、例えば、加熱部512の内部の温度の推移により進行度合いを検知する方法がある。この場合、各種検知部514は、温度センサを含むこととなる。)で検知する。そして、制御部510は、各種検知部514から出力される情報に応じて、加熱部512による加熱動作を停止させる。
一方、加熱調理装置500は、通信部522を介して、情報処理装置502に接続されている。これにより、情報処理装置502は、キー入力部518に対して操作がなされたことを示す信号を通信部522から受信することができる。また、情報処理装置502は、様々な情報を加熱調理装置500に送信することができる。
制御部510は、通信部522を介して受信した情報を、記憶部520に記憶させることができる。そして、制御部510は、記憶部520に記憶させた情報に基づいて、加熱部512の加熱動作を制御したり、表示部516の表示内容を制御することができる。
情報処理装置502は、情報処理装置502の動作を全体的に制御するメイン処理部530を備えている。メイン処理部530には、入力部532、表示部534、記憶部536、および、通信部538が接続されている。
通信部538は、図示しない通信回線を介してサーバ54と通信する。これにより、通信部538は、外部サービスデータベース56が送信した情報をダウンロードできる。また、記憶部536は、ダウンロードされた情報を記憶する。メイン処理部530は、ダウンロードした情報を記憶部536に記憶させることができる。また、メイン処理部530は、記憶部536に記憶させた情報を、通信部538を介して、加熱調理装置500に送信する機能を備えている。
なお、情報処理装置502では、メイン処理部530は、表示部534に、ダウンロードした情報を表示する。また、メイン処理部530は、入力部532に対してなされた操作に応じて変更したり追加したりすることにより、ダウンロードした情報の内容を修正することができる。修正された情報は、記憶部536に記憶される。
そして、メイン処理部530は、修正後の情報を、通信部538を介して、加熱調理装置500に送信することができる。
加熱調理装置500の制御部510は、上述した修正後の情報も、記憶部520に記憶させることができる。そして、キー入力部518に対して所定の操作がなされた場合、制御部510は、その修正後の情報に応じて、加熱部512や表示部516などの動作を制御する。
以上のような構造およびフローチャートに基づく、本変形例にかかる情報表示システムの動作について説明する。
[IH調理システム60が検索要求を送信したことに応じて、端末向け検索結果データをユーザ端末52に送信する場合]
IH調理システム60のユーザがキー入力部518を操作することにより、ある料理の調理方法の情報を求める旨の検索要求をIH調理システム60に送信させたとする。この場合、料理の名称を示す情報が検索要求を示す通信データのパラメータ領域に含まれることとなる。
サーバ54の通信インターフェイス664は、その通信データを受信する。通信データが受信されると、通信処理部570は、検索要求に含まれたシナリオIDやパラメータをシナリオ管理部572とシナリオ実行部574とに出力する。
シナリオIDやパラメータが出力されると、シナリオ管理部572は、そのシナリオIDに対応するシナリオをシナリオ実行部574に出力する(ステップS720)。
シナリオが出力されると、検索結果管理部582は、端末向け検索結果データ領域6550に記憶された端末向け検索結果データの中に、ステップS720にて通信処理部570が出力したシナリオIDやパラメータに対応するデータがあるか否かを判断する(ステップS722)。
この場合、そのようなデータがないとすると(ステップS722にてNO)、シナリオ処理部610は、これから実行するシナリオの処理がswitch文か否かを判断する(ステップS726)。
この場合、次に実行する処理がswitch文とすると(ステップS726にてYES)、シナリオ処理部610は、switch文の内容に基づき、次に実行する処理を特定する(ステップS728)。この場合、シナリオ処理部610は、通信データのパラメータ領域に含まれた料理名の情報に基づき、次に実行する処理を特定することとする。
次に実行する処理が特定されると、シナリオ処理部610は、次に実行する処理がswitch文か否かを判断する(ステップS726)。
この場合、次に実行する処理がswitch文でないとすると(ステップS726にてNO)、シナリオ処理部610は、シナリオが含む命令文に基づき、次に実行する処理がUI記述データ管理部578の呼出しか否かを判断する(ステップS730)。
この場合、次に実行する処理がUI記述データ管理部578の呼出しでないとすると(ステップS730にてNO)、検索結果管理部582は、コネクタ600のいずれかが受信した検索結果から抽出したパラメータが存在するか否かを判断する(ステップS734)。
この場合、そのようなパラメータが存在しないとすると(ステップS734にてNO)、検索結果管理部582は、検索要求が示すパラメータとシナリオが示すコネクタIDとに対応付けられた検索結果を示すデータが検索結果領域6552に記憶されているか否かを判断する(ステップS738)。
この場合、そのようなデータが記憶されていないとすると(ステップS738にてNO)、コネクタ600は、外部サービスデータベース56に、検索要求に含まれたパラメータ(この場合、料理の名称)を送信する。
パラメータが送信された後、パラメータを送信したコネクタ600は、検索結果(この場合、調理方法の情報)を受信できたか否かを判断する。検索結果を受信できた場合、パラメータを送信したコネクタ600は、その検索結果を示すデータをデータ変換部576に出力する。データ変換部576は、そのデータを中間フォーマットに沿うよう変換した上で、検索結果管理部582に変換されたデータを出力する。
データが出力されると、シナリオ処理部610は、次に実施するstep文がシナリオに含まれていないか否かを判断する(ステップS744)。
この場合、次に実施するstep文がシナリオに含まれているとすると(ステップS744にてNO)、シナリオ処理部610は、次に実行する処理がswitch文か否かを判断する(ステップS726)。
この場合、次に実行する処理はswitch文でないとすると(ステップS726にてNO)、シナリオ処理部610は、シナリオが含む命令文に基づき、次に実行する処理がUI記述データ管理部578の呼出しか否かを判断する(ステップS730)。
この場合、次に実行する処理がUI記述データ管理部578の呼出しとすると(ステップS730にてYES)、UI記述データ管理部578は、UI記述ファイル762をデータ合成処理部580に出力する。データ合成処理部580は、合成処理を実施する(ステップS732)。
合成処理が実施されると、シナリオ処理部610は、次に実施するstep文がシナリオに含まれているか否かを判断する(ステップS744)。
この場合、次に実施するstep文がシナリオに含まれていないとすると(ステップS744にてYES)、シナリオ処理部610は、シナリオの処理を終了する。データ合成処理部580は、端末向け検索結果データを作成し、通信処理部570に出力する。通信インターフェイス664は、データ合成処理部580が出力した端末向け検索結果データをユーザ端末52に送信する(ステップS746)。
これにより、出力先端末情報領域において示された送信先に端末向け検索結果データが送信される。その端末向け検索結果データが送信されると、複数のユーザが同じ情報を共有することが可能になる。また、IH調理システム60がユーザ端末52を送信先として検索要求データを送信することで、ユーザ端末52のユーザが意識して検索を要求しなくてもそのユーザに情報を提供したりすることが可能になる。
また、本実施の形態の第5の変形例においては、ユーザ端末52は、サーバ54に検索要求を送信し、サーバ54から検索結果を受信し、かつ検索結果を表示できる、携帯電話以外の装置であってもよい。これにより、様々な情報源から得た情報を携帯電話以外の装置において出力させることができる。
また、本実施の形態の第6の変形例においては、ユーザ端末52における検索結果の表示形態は特に限定されない。例えば、表示部554の一部に検索結果が表示されてもよい。
また、本実施の形態の第7の変形例においては、図1に示した情報表示システムは、外部サービスデータベース56のいずれかに代え、外部サービスデータベース56と同様の機能を有する物を含んでもよい。そのような物の例には、情報を記憶できかつその情報を検索できる装置とその情報を送信する装置とを含むシステムがある。あるいは、パーソナルコンピュータ、DVDプレーヤ、HDDコンポ、携帯型オーディオプレーヤなどであってもよい。
また、本実施の形態の第8の変形例においては、サーバ54は、所定の情報を端末向け検索結果データの代わりとして送信する機能を有していてもよい。例えば、外部通信が物理的に遮断された場合や、サーバ自体に不具合が生じた場合など、意図しない状況によりサーバが端末向け検索結果データを送信できない事態となった場合に、所定の警告を端末向け検索結果データの代わりとして送信する。この場合の警告として、どのような情報を送信するか、また、どのようにしてその情報を取得するかは、予め定められている。
また、本実施の形態の第9の変形例においては、データ合成処理部580の構成は、図7に示すものに限定されない。図30は、データ合成処理部580の構成の一例を示す図である。図30を参照して、この場合のデータ合成処理部580は、データ合成部630と、データパッケージ化部632とを含む。
データ合成部630は、UI記述データ760と検索結果を示すデータとを合成することにより、端末向け検索結果データを作成する処理を示す。
データパッケージ化部632は、データ合成部624が合成したデータに基づいて、1つのアーカイブファイルを作成する処理を示す。
図30に示すデータ合成処理部580の構成は、端末にロゴが表示されないなどといった、検索結果に応じて端末向け検索結果データの内容がすべて変化する場合に適した構成である。
また、本実施の形態の第10の変形例においては、検索要求を示す通信データのフォーマットは、図13に示すものに限定されない。たとえば、出力先端末情報領域に代え、送信元端末情報領域が含まれていてもよい。この場合、サーバ54の送信制御部688は、送信元端末情報領域の情報が示す通信データの送信元の端末とは別の端末に端末向け検索結果データを送信するように通信インターフェイス664を制御してもよい。送信制御部688は、送信元の端末に端末向け検索結果データを返信するように通信インターフェイス664を制御してもよい。また、シナリオIDの代わりにシナリオを特定できる情報がパラメータ領域に含まれていれば、シナリオID領域は不要である。
また、本実施の形態の第11の変形例においては、データ取得部576は、データ変換部602を必ず含まなくてはならない訳ではない。検索結果を示すデータを記述するマークアップ言語に応じてUI記述データ760を使い分けるなどの対策を講じるのであれば、データ変換部602はなくともよい。
また、技術的に可能である場合には、上述した第1の変形例から第11の変形例までの各変形例のうち少なくとも2つ以上の変形例が同時に適用されてもよい。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
本発明の実施の形態に係る情報表示システムの構成を示す図である。 本発明の実施の形態に係るユーザ端末の制御ブロック図である。 本発明の実施の形態に係るユーザ端末の制御部の機能ブロック図である。 本発明の実施の形態に係るサーバにおいて実行されるプログラムモジュールとそれらの間での情報の流れとを示す図である。 本発明の実施の形態に係るUI記述データとUI記述ファイルとの関係を示す図である。 本発明の実施の形態に係るシナリオ実行部の構成を示す図である。 本発明の実施の形態に係るデータ合成処理部の構成を示す図である。 本発明の実施の形態に係るサーバを実現するコンピュータハードウェアの構成を示す図である。 本発明の実施の形態に係るサーバのCPUの機能ブロック図である。 本発明の実施の形態に係るサーバのメモリのメモリマップを示す図である。 本発明の実施の形態に係るサーバにおける端末向け検索結果データの作成処理の制御の手順を示す第1のフローチャートである。 本発明の実施の形態に係るサーバにおける端末向け検索結果データの作成処理の制御の手順を示す第2のフローチャートである。 本発明の実施の形態に係る検索要求を示す通信データのフォーマットを示す図である。 本発明の実施の形態に係るユーザ端末がマガジンを取得する際におけるデータの流れを示す図である。 本発明の実施の形態に係る通信データの構成を示す第1の図である。 本発明の実施の形態に係るシナリオを示す第1の概念図である。 本発明の実施の形態に係る通信データの構成を示す第2の図である。 本発明の実施の形態に係るシナリオを示す第2の概念図である。 本発明の実施の形態に係る通信データの構成を示す第3の図である。 本発明の実施の形態に係る情報表示システムの情報の流れを示す第1の図である。 本発明の実施の形態に係るシナリオを示す第3の概念図である。 本発明の実施の形態に係る外部サービスデータベースが送信した検索結果を示す第1の概念図である。 本発明の実施の形態に係る外部サービスデータベースが送信した検索結果を示す第2の概念図である。 本発明の実施の形態に係るユーザ端末において表示される情報の一例を示す概念図である。 本発明の実施の形態に係る情報表示システムの情報の流れを示す第2の図である。 本発明の実施の形態に係る情報表示システムにおいて端末向け検索結果データの生成過程を示す概念図である。 本発明の実施の形態に係る情報表示システムの効果を示す概念図である。 本発明の実施の形態の第4の変形例に係る情報表示システムの構成を示す図である。 本発明の実施の形態の第4の変形例に係るIH調理システムの構成を示す図である。 本発明の実施の形態の第9の変形例に係るデータ合成処理部の構成を示す図である。
符号の説明
52 ユーザ端末、54 サーバ、56 外部サービスデータベース、60 IH調理システム、500 加熱調理装置、502 情報処理装置、510,556 制御部、512 加熱部、514 各種検知部、516,534,554 表示部、518 キー入力部、520,536,558 記憶部、522,538,550 通信部、530 メイン処理部、532 入力部、552 操作部、560 実行エンジン、562 SVG描画エンジン、564 遷移処理エンジン、566,570 通信処理部、572 シナリオ管理部、574 シナリオ実行部、576 データ取得部、578 UI記述データ管理部、580 データ合成処理部、582 検索結果管理部、600 コネクタ、602 データ変換部、610 シナリオ処理部、612 UI記述データ呼出部、614 コネクタ呼出部、616 検索結果呼出部、620 データ振分部、622 一時蓄積部、624,630 データ合成部、626,632 データパッケージ化部、650 ディスプレイ、652 CPU、654 メモリ、656 固定ディスク、658 メモリカード駆動装置、660 CD−ROM駆動装置、662 キーボード、664 通信インターフェイス、670 メモリカード、672 CD−ROM、680 特定部、682 パラメータ制御部、684 形式変換部、686 端末向け検索結果データ作成部、688 送信制御部、690 抽出部、692 メッセージ制御部、694 検索部、696 追加制御部、760 UI記述データ、762 UI記述ファイル、6540 管理領域、6542 プログラム領域、6544 UI記述データ領域、6546 シナリオ領域、6548 コネクタ領域、6550 端末向け検索結果データ領域、6552 検索結果領域、6802 シナリオ読出部、6804 UI部、6806 コネクタ部、6822 受信パラメータ制御部、6824 抽出パラメータ制御部。

Claims (22)

  1. 検索要求を受け付ける検索要求受付手段と、
    検索要求の内容を実行する検索要求実行手段と、
    端末用検索結果データの少なくとも一部を形成するためのユーザインターフェイス記述データを出力するユーザインターフェイス記述データ管理手段と、
    前記検索要求に応じて1つ以上の外部データベースと通信してデータを取得するデータ取得手段と、
    前記検索結果と、前記ユーザインターフェイス記述データとを合成し、端末用検索結果データを作成する、データ合成手段と、
    作成された前記端末用検索結果データを前記検索要求実行手段からの要求に応じて所定の端末宛に送信するデータ出力手段とを含む、サーバ装置。
  2. 前記所定の端末からの検索要求をトリガとして前記所定の端末に検索結果を返す機能だけでなく、前記所定の端末以外からの検索要求をトリガとして前記所定の端末に検索結果を返す機能も有する請求項1に記載のサーバ装置。
  3. 前記検索要求実行手段からの要求に応じた外部への接続先は、データ蓄積手段を持つものとの通信機能を有する、請求項1または2のいずれかに記載のサーバ装置。
  4. 取得データに応じて、さらに1つ以上の外部サーバを利用してデータを取得する機能を有する、請求項1〜3のいずれかに記載のサーバ装置。
  5. ある前記検索要求に応じて、1つ以上の前記検索結果を、所定の1つ以上の端末宛に出力する機能を有する、請求項1〜4のいずれかに記載のサーバ装置。
  6. 取得したデータや、自身が出力した端末向け検索結果を蓄積する機能を有する、請求項1〜5のいずれかに記載のサーバ装置。
  7. 前記検索要求実行手段は、
    シナリオ管理手段と、
    シナリオ実行手段とを有し、
    前記シナリオは、実行することで前記ユーザインターフェイス記述データ管理手段と前記データ取得手段とを制御する制御記述を有し、
    前記シナリオ管理手段は、前記端末からの検索要求の内容に応じてシナリオを選択し、
    前記シナリオ実行手段は、選択されたシナリオを実行する、請求項1に記載のサーバ装置。
  8. 前記シナリオ管理手段内に管理されているシナリオは、外部からの更新、削除、追加が可能である、請求項7に記載のサーバ装置。
  9. 前記シナリオは、前記外部データベースと通信するための処理を行うコネクタのいずれかによっては目的に合致した検索結果が得られなかった場合、別の前記コネクタの利用によって得られる検索結果に差し替える機能を有する、請求項7または8のいずれかに記載のサーバ装置。
  10. 前記シナリオは、前記外部データベースと通信するための処理を行うコネクタから検索結果が得られなかった場合、別のユーザインターフェイス記述ファイルを呼び出し、レイアウトを変更した検索結果に差し替える機能を有する、請求項7〜9のいずれかに記載のサーバ装置。
  11. 前記シナリオ実行手段は、前記シナリオを実行中に端末向けデータ出力先への応答をすることができる機能を有する、請求項7〜10のいずれかに記載のサーバ装置。
  12. 前記シナリオは、データ蓄積部に対して、蓄積された過去の取得データや端末向けデータを確認し、それらを前記外部データベースと通信するための処理を行うコネクタやデータ合成手段、通信部に出力させる指令を出力する機能を有する、請求項7〜11のいずれかに記載のサーバ装置。
  13. 前記ユーザインターフェイス記述データ管理手段は、ユーザインターフェイス記述データをユーザインターフェイス記述ファイルとして管理し、前記検索要求実行手段からの要求に応じてユーザインターフェイス記述ファイルを選択し、選択したユーザインターフェイス記述ファイルをユーザインターフェイス記述データとして出力する、請求項1に記載のサーバ装置。
  14. 前記ユーザインターフェイス記述データ管理手段によって管理されている前記ユーザインターフェイス記述ファイルは、外部からファイルの更新、削除、追加が可能である、請求項13に記載のサーバ装置。
  15. 前記ユーザインターフェイス記述データ管理手段が管理している前記ユーザインターフェイス記述ファイルは、前記サーバ装置から出力される端末向け検索結果の記述様式について記載されている、請求項13または14のいずれかに記載のサーバ装置。
  16. 前記ユーザインターフェイス記述ファイルの実行によって前記サーバ装置から出力される端末用検索結果データは、表示機能を有する端末上にて検索結果を表示する際に表示部分を切り替え可能な形で出力する機能を有する、請求項13〜15のいずれかに記載のサーバ装置。
  17. 前記データ取得手段は、外部サーバに対し検索情報を送信して検索結果を取得する特定のコネクタを有する、請求項1に記載のサーバ装置。
  18. 前記データ取得手段内の前記コネクタは、前記検索要求実行手段からの要求によって選択されることによって、接続先の外部サーバと通信する、請求項17に記載のサーバ装置。
  19. 前記データ取得手段内の前記コネクタは、外部からの更新、削除、追加が可能である、請求項17または18のいずれかに記載のサーバ装置。
  20. 前記データ取得手段は、前記コネクタより取得したデータを共通の中間フォーマットの形で出力し、出力結果をデータ合成手段に渡す機能を有する、請求項17〜19のいずれかに記載のサーバ装置。
  21. 前記データ取得手段によって管理されている前記コネクタは、前記データ取得手段が出力した中間フォーマットを受け取り、別の結果を返す機能を有する、請求項17〜20のいずれかに記載のサーバ装置。
  22. 情報出力システムにおける、データベースおよび端末と通信可能なサーバ装置であって、
    検索要求データを前記端末から受信し、キーワードを前記データベースに送信し、前記データベースが送信した前記キーワードに対応する検索結果情報を前記データベースから受信し、かつ前記検索結果情報を示す端末向けデータを前記端末に送信するための通信手段を含み、
    前記検索要求データは、前記検索結果情報の出力形態を示すユーザインターフェイス記述データと前記データベースとの組合せに対応する情報および前記キーワードを含み、
    前記ユーザインターフェイス記述データを記憶するためのユーザインターフェイス記述データ記憶手段と、
    前記通信手段による通信を制御するための制御手段とをさらに含み、
    前記制御手段は、
    前記検索要求データに基づいて、前記キーワードを送信する前記データベースである対応データベースと前記端末向けデータの作成に用いる前記ユーザインターフェイス記述データとを特定するための特定手段と、
    前記対応データベースに前記キーワードを送信するように、前記通信手段を制御するためのキーワード制御手段と、
    前記特定手段が特定した前記ユーザインターフェイス記述データと前記通信手段が受信した前記検索結果情報とを用いて、前記端末向けデータを作成するための端末向けデータ作成手段と、
    前記端末向けデータを前記端末に送信するように前記通信手段を制御するための送信制御手段と含む、サーバ装置。
JP2007112040A 2007-04-20 2007-04-20 サーバ装置 Expired - Fee Related JP4963259B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007112040A JP4963259B2 (ja) 2007-04-20 2007-04-20 サーバ装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007112040A JP4963259B2 (ja) 2007-04-20 2007-04-20 サーバ装置

Publications (2)

Publication Number Publication Date
JP2008269330A true JP2008269330A (ja) 2008-11-06
JP4963259B2 JP4963259B2 (ja) 2012-06-27

Family

ID=40048738

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007112040A Expired - Fee Related JP4963259B2 (ja) 2007-04-20 2007-04-20 サーバ装置

Country Status (1)

Country Link
JP (1) JP4963259B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015524972A (ja) * 2012-07-24 2015-08-27 マイクロソフト テクノロジー ライセンシング,エルエルシー ウェブサイトアクションにアクセスするためのインターフェースの提供
US11023105B2 (en) 2013-10-02 2021-06-01 Massachusetts Institute Of Technology Systems and methods for composable analytics

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11272689A (ja) * 1998-03-19 1999-10-08 Seiko Epson Corp 情報検索処理方法及び装置並びに情報検索処理プログラムを記録した記録媒体
JP2001147925A (ja) * 1999-11-18 2001-05-29 Toyota Motor Corp 車上情報検索装置、経路データ圧縮装置及び経路データ復元装置
JP2002183144A (ja) * 2000-12-18 2002-06-28 Ricoh Co Ltd 文書検索システム、文書検索方法および記録媒体
JP2002207655A (ja) * 2001-01-10 2002-07-26 Toshiba Corp 情報統合方法、プログラム及びシステム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11272689A (ja) * 1998-03-19 1999-10-08 Seiko Epson Corp 情報検索処理方法及び装置並びに情報検索処理プログラムを記録した記録媒体
JP2001147925A (ja) * 1999-11-18 2001-05-29 Toyota Motor Corp 車上情報検索装置、経路データ圧縮装置及び経路データ復元装置
JP2002183144A (ja) * 2000-12-18 2002-06-28 Ricoh Co Ltd 文書検索システム、文書検索方法および記録媒体
JP2002207655A (ja) * 2001-01-10 2002-07-26 Toshiba Corp 情報統合方法、プログラム及びシステム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015524972A (ja) * 2012-07-24 2015-08-27 マイクロソフト テクノロジー ライセンシング,エルエルシー ウェブサイトアクションにアクセスするためのインターフェースの提供
US11023105B2 (en) 2013-10-02 2021-06-01 Massachusetts Institute Of Technology Systems and methods for composable analytics

Also Published As

Publication number Publication date
JP4963259B2 (ja) 2012-06-27

Similar Documents

Publication Publication Date Title
JP5390718B2 (ja) 情報提供装置
JP3798709B2 (ja) サーバ、情報提供方法およびプログラム
JP2008027043A (ja) ウェブサイト管理システム、ウェブサイト管理方法、ウェブサイト管理プログラムおよび該プログラムを記録した記録媒体
TW200937286A (en) Multimedia enhanced browser interface
TW201102956A (en) Method and system for presenting content
CN102483742A (zh) 用于管理因特网媒体内容的***和方法
JP2002236695A (ja) マルチメディアデータベースアクセスのメタデータ処理
CN101765979A (zh) 用于移动设备的文档处理
JP6245718B1 (ja) 情報提供システム
JP2003099452A (ja) コンテンツ検索システム、コンテンツ検索プログラム及び該プログラムを記録した媒体
WO2012176507A1 (ja) 情報提供装置、情報提供方法、情報提供プログラム、情報表示プログラム、及び情報提供プログラムを記憶するコンピュータ読取可能な記録媒体
JP2006163842A (ja) 検索システム、情報処理装置及びその制御方法、プログラム
US20050188057A1 (en) Contents service system and method using image, and computer readable storage medium stored therein computer executable instructions to implement contents service method
JP2008226202A (ja) 情報処理装置および方法、並びにプログラム
JP2007115260A (ja) 情報提供方法、表示制御端末装置、情報提供装置、端末装置、設定装置、アタッチメント及び記録媒体
JP2013008208A (ja) 情報提供装置、情報提供方法、情報提供プログラム、情報表示プログラム、及び情報提供プログラムを記憶するコンピュータ読取可能な記録媒体
JP4963259B2 (ja) サーバ装置
KR101487205B1 (ko) 미디어 서버 내의 컨텐츠를 제공하는 장치, 시스템 및 그방법
US20090177556A1 (en) Information processing system, information processing apparatus, information processing method, and computer program
JP5788240B2 (ja) 情報提供装置、情報提供方法、情報提供プログラム、情報表示プログラム、及び情報提供プログラムを記憶するコンピュータ読取可能な記録媒体
JP4711928B2 (ja) コミュニケーション支援システムおよびプログラム
US20120059909A1 (en) Information processing apparatus, communication control method, and computer-readable recording medium storing communication control program
JP2013122627A (ja) 情報処理端末、サーバ装置、システム、およびプログラム
JP2002024173A (ja) データ通信装置およびデータ通信方法、ならびにデータ通信プログラムを記録したコンピュータ読み取り可能な記録媒体
JP2007087221A (ja) ショッピングモールシステム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090805

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110623

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110705

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110902

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120228

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120322

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150406

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees