(57)【要約】【課題】  ユーザごと、状況ごとの課題を解決するための複数検索機能連携を適宜行うことができなかった。【解決手段】  複数の検索機能を連携させる処理手順を記述した検索シナリオを解釈実行するスクリプトエンジンを検索サーバ側に配し、検索クライアントより検索シナリオスクリプトを与える。また、ネットワーク上のどのスクリプトエンジンでシナリオスクリプトを解釈実行するかを指定する手段を有することにより課題を解決する。【選択図】  図３
2008003990.tif 000002
【特許請求の範囲】
【請求項１】
サービスを要求するクライアントとサービスを提供するサーバとで構成されるサービス連携方法であって，
複数のサービスの組合せよりなるサービスシナリオ定義工程と，
前記サービス定義工程において定義されたサービスシナリオを解釈し実行するサービスシナリオ実行工程と，
複数の前記サービスシナリオ実行工程のうち，いずれのサービスシナリオ実行工程で実行させるかを指定する工程とを備えることを特徴とするサービス連携方法。
【請求項２】
サービスを要求するクライアントとサービスを提供するサーバとで構成されるサービス連携装置であって，
複数のサービスの組合せよりなるサービスシナリオ定義手段と，
前記サービス定義手段において定義されたサービスシナリオを解釈し実行するサービスシナリオ実行手段と，
複数の前記サービスシナリオ実行手段のうち，いずれのサービスシナリオ実行手段で実行させるかを指定する手段とを備えることを特徴とするサービス連携装置。
【請求項３】
複数のサービスの組合せよりなるサービスシナリオ定義手順と，
前記サービス定義手順において定義されたサービスシナリオを解釈し実行するサービスシナリオ実行手順と，
複数の前記サービスシナリオ実行手順のうち，いずれのサービスシナリオ実行手順で実行させるかを指定する手順とをコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、実行可能な複数のサービスを連携させたサービスを実行するサービス連携方法及び装置、プログラムに関するものである。
【背景技術】
【０００２】
ネットワークに接続された端末上で様々な種類のサービスが動作しており、それらのサービスを利用して複数のサービスを連携させて業務アプリケーションを作成する試みがなされている。
【０００３】
クライアントが複数サービスの処理シーケンスを記述したスクリプトをセンターサーバに送信し、センターサーバがスクリプトを実行することによりサービスを連携させるシステムが提案されている（例えば［特許文献１］参照）。
【０００４】
またさらに、複数の基本サービスを連携させる仮想サービスの実行によるサービス連携の方法、仮想サービスオブジェクト生成のためのサービスパーツ定義、シナリオ定義とシナリオ実行によるサービス遷移について提案されている（例えば［特許文献２］参照）。
【特許文献１】特開平７−１６０５８１号公報
【特許文献２】特開平１０−２３２８９９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記従来のサービス連携方法では、センターサーバはクライアントにとって唯一の仮想サーバとして機能していた。そのため、スクリプトにおいて記述されるサービス自体を分散処理させるか、スクリプトにおいて記述されるサービス自体は分散処理せず単一の端末内のみで処理させるかを指定することができなかった。また、サービス連携のための所定のシナリオをサーバとクライアントの間に設けたサービス連携装置に保持する形態に限定されるため、処理を実行するユーザが任意のシナリオを作成し実行することができない。すなわち、あらかじめ事前の処理でサーバに準じた連携装置内に仮想サービスオブジェクトもしくは仮想サービス定義ファイルを作成しておく必要があったため、個々のユーザごとに仮想サービスを定義することが困難であった。
【０００６】
本発明は上記の問題点に鑑みてなされたものであり、状況ごともしくはユーザごとの課題解決を可能にするために、既存のサービスを複合的に連携させることによってサービスを定義する。そして、定義したサービスを分散処理によって実現するか、端末内のみで実現するかを指定可能なサービス連携方法およびその装置、プログラム、を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記の課題を解決するために、サービスを要求するクライアントとサービスを提供するサーバとで構成されるサービス連携方法であって，複数のサービスの組合せよりなるサービスシナリオ定義工程と，前記サービス定義工程において定義されたサービスシナリオを解釈し実行するサービスシナリオ実行工程と，複数の前記サービスシナリオ実行工程のうち，いずれのサービスシナリオ実行工程で実行させるかを指定する工程とを備えることを特徴とするサービス連携方法を提供する。
【０００８】
上記の課題を解決するために、サービスを要求するクライアントとサービスを提供するサーバとで構成されるサービス連携装置であって，複数のサービスの組合せよりなるサービスシナリオ定義手段と，前記サービス定義手段において定義されたサービスシナリオを解釈し実行するサービスシナリオ実行手段と，複数の前記サービスシナリオ実行手段のうち，いずれのサービスシナリオ実行手段で実行させるかを指定する手段とを備えることを特徴とするサービス連携装置を提供する。
【０００９】
上記の課題を解決するために、複数のサービスの組合せよりなるサービスシナリオ定義手順と，前記サービス定義手段において定義されたサービスシナリオを解釈し実行するサービスシナリオ実行手順と，複数の前記サービスシナリオ実行手順のうち，いずれのサービスシナリオ実行手順で実行させるかを指定する手順とをコンピュータに実行させることを特徴とするプログラムを提供する。
【発明の効果】
【００１０】
以上説明したように、本発明に拠れば、サービスを要求するクライアントからサービスを提供するサーバに対して、サービスシナリオを送信し、送信されたサービスシナリオを実行可能ないずれのサーバで解釈し実行するかをユーザ制御可能となる。状況ごと、ユーザごとに異なるサービスを容易に実現可能な操作性の良いサービス連携方法および装置、プログラム、コンピュータ可読メモリを提供できる。
【発明を実施するための最良の形態】
【００１１】
＜実施形態１＞
以下、図面を参照して実施形態を詳細に説明する。
【００１２】
図１は、情報処理装置より構成されるネットワークシステムを示す図である。ネットワークシステムは各種データの伝送媒体となるネットワーク１０２上に複数の情報処理装置が接続されている。ネットワーク１０２は例えばＥｔｈｅｒｎｅｔ（登録商標）のようなＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）あるいはインターネットのような広域情報通信網であってもよい。各情報処理装置１乃至情報処理装置５は図２において後述する通信装置２０８を介して接続されている。
【００１３】
図２は、情報処理装置の構成を示す図である。図２においてＣＰＵ２０１はマイクロプロセッサＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）であり、情報検索のための演算、論理判断等を行い、バス２０９を介して、それらのバスに接続された各構成要素を制御する。
【００１４】
ＲＯＭ２０２は読出し専用の固定メモリＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）であり、本実施形態で実行される処理プログラム等の制御プログラムコードを記憶する。
【００１５】
ＲＡＭ２０３は書込み可能なＲＡＭ（Ｒａｎｄａｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）であり、各構成要素からの各種データの一時記憶に用いられる。
【００１６】
入力装置２０４は、キーボードまたはポインティング機器などである。キーボードは、アルファベットキー、ひらがなキー、カタカナキー、句点等の文字記号入力キー、検索を指示する検索キー及び、カーソル移動を指示するカーソル移動キー等のような各種の機能キーを備えている。ポインティング機器は、ＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）上で画面の制御可能位置を指し示し、また機能の選択指示などを行う。例えばマウスやスティックポインタなどである。
【００１７】
表示装置２０５は陰極線管ＣＲＴ（Ｃａｔｈｏｄｅ−Ｒａｙ  Ｔｕｂｅ）や液晶パネル等の表示装置であり、その表示装置におけるドット構成の表示パターンおよびカーソルの表示を表示装置コントローラ２０６で制御する。
【００１８】
外部記憶装置２０７には検索対象情報や種々の情報が格納される。また、これらのデータ及びプログラムを格納する記憶媒体としては、ＲＯＭ、フロッピー（登録商標）ディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、メモリカード、光磁気ディスクなどを用いる。
【００１９】
通信装置２０８は、Ｅｔｈｅｒｎｅｔ（登録商標）などのネットワークに接続し、図１に示すネットワークシステムにおいて複数の情報処理装置同士を接続する役割を担う。
【００２０】
かかる各構成要素からなる情報処理装置においては、入力装置２０４からの各種の入力及び通信装置２０８から供給されるネットワーク経由の各種入力に応じて作動する。入力装置２０４からの入力及び通信装置２０８からの入力が供給されると、まず、インタラプト信号がＣＰＵ２０１に送られ、そのＣＰＵ２０１が外部記憶装置２０７内に記憶してある各種の制御信号を読出し、それらの制御信号に従って、各種の制御が行われる。
【００２１】
図３は、本実施形態の情報処理装置の機能構成を示すブロック図である。図３において検索サーバ管理部３０１は、図１の情報処理装置によって提供されている検索サーバ３１２の情報を図１９において詳述する方法で取得・管理する。
【００２２】
代替シナリオ管理部３０２は、作成したシナリオスクリプトあるいは検索機能に代えて実行可能な他のシナリオスクリプトの情報を図２０において後述する方法で管理する。
【００２３】
シナリオスクリプト実行部３０３は、図２３において後述するシナリオスクリプトを解釈し、検索サーバへの呼出処理を行うことで、シナリオスクリプトを実行する。
【００２４】
シナリオスクリプト作成部３０４は、図４及び図６乃至図１６において詳述する手順で、検索処理の複合手順を記述したシナリオスクリプトを作成する。シナリオスクリプト作成部３０４で作成したシナリオスクリプトはシナリオスクリプトファイル３０５に保存されるものとする。
【００２５】
ＩＰアドレス学習データ３０６は、ＩＰアドレス学習データである。検索結果からコンテンツを取得したときに、検索結果を出力した検索サーバ３１２に割り当てあられているＩＰアドレスと参照回数とが保存されるものとする。
【００２６】
シナリオスクリプト学習データ３０７には、検索実行時に使用したシナリオスクリプトファイル３０５と使用回数とが保存されるものとする。
【００２７】
クライアント３０８は情報処理装置の機能３０１乃至３０７を保持する。クライアント３０８はシナリオスクリプトファイル３０５に保存されたシナリオスクリプトを取得し、検索要求情報とともに、検索サーバ３１２に送出することによって検索処理を行う。
【００２８】
検索エンジン３０９および３１０は、全文検索、画像検索などデータ検索処理機能を提供する。
【００２９】
シナリオスクリプト実行部３１１は、クライアント３０８より送出されたシナリオスクリプトを解釈し、クライアント部３０８におけるシナリオスクリプト実行部３０３と同じく検索サーバへの呼出処理を行うことで、シナリオスクリプトを実行する。
【００３０】
検索サーバ３１２は、クライアント３０８よりシナリオスクリプトおよび検索要求情報を受け付け、検索処理を行い、その結果をクライアント３０８へ出力する。
【００３１】
検索サーバ情報通知部３１３は、検索サーバ３１２の情報を検索サーバ管理部３０１に通知する。
【００３２】
次に本実施形態でシナリオスクリプト作成部３０４により実行されるシナリオスクリプト作成処理について図４を用いて説明する。
【００３３】
図４は本実施形態で実行されるシナリオスクリプト作成処理のフローチャートである。
【００３４】
まず、ステップＳ４００００で、検索サーバ管理部３０１において、ネットワークに接続している全ての検索サーバ３１２に対して検索機能取得を行う。検索機能取得では、例えば、検索サーバのＩＰアドレス、提供している検索機能、検索クエリの種別、検索クエリ拡張指定の可否、指定可能な検索対象、各検索サーバの検索インデックスが保持しているコンテンツ数を取得する。取得した前記情報は、図１９に示す検索サービスリストとして検索サーバ管理部３０１内のＲＡＭ２０３に記憶する。
【００３５】
ステップＳ４００１０では、表示装置２０５に図６に示す認証画面を表示する。認証画面は、ユーザ名入力を行うユーザ名入力部６００、パスワード入力部６０１、認証実行を指示する認証ボタン部６０２、シナリオスクリプト作成中止を指示する取消ボタン部６０３から構成される。入力装置２０４であるマウスあるいはキーボードにより、認証ボタン６０２が指示されると、ユーザ名入力部６００及びパスワード入力部６０１に入力された情報をもとに認証処理を行い、ステップＳ４００２０へ移行する。認証処理は図１のネットワークシステムにおいて不図示の認証サーバを設け、認証サーバがユーザ名とパスワードとの照合を行うことにより処理される。認証に失敗したならば直ちにシナリオスクリプト作成を中止する。マウスあるいはキーボードにより、取消ボタン部６０３が指示されるとシナリオスクリプト作成を中止する。
【００３６】
次にステップＳ４００２０では、表示装置２０５に図７に示すメニュー画面を表示する。メニュー画面の構成を示す。新規作成ボタン部７００はシナリオスクリプトの新規作成を行う事を指示する。変更ボタン部７０１は、外部記憶装置２０７上のシナリオスクリプトファイル３０５に記憶されている既存のシナリオスクリプトを変更することを指示する。取消ボタン部７０２は、シナリオスクリプト作成を中止することを指示する。
【００３７】
ステップＳ４００３０で、マウスあるいはキーボードにより、新規作成ボタン部７００が指示されると、ステップＳ４００５０へ移行する。マウスあるいはキーボードにより変更ボタン部７０１が指示されると、ステップＳ４００４０へ移行する。マウスあるいはキーボードにより、取消ボタン部７０２が指示されるとシナリオスクリプト作成を中止する。
【００３８】
ステップＳ４００４０では、表示装置２０５に図８に示すシナリオ設定画面の一例を表示する。シナリオ設定画面の構成を示す。シナリオスクリプト選択部８００は外部記憶装置２０７に記憶されている既存のシナリオスクリプトを指示する。戻るボタン部８０１は次のステップへの移行を指示する。次へボタン部８０２は前のステップへの移行を指示する。取消ボタン部８０３はシナリオスクリプト作成中止を指示する。マウスあるいはキーボードにより、次へボタン部８０２が指示されるとシナリオスクリプト選択部８００に入力された既存のシナリオスクリプトを編集対象として、ステップＳ４００５０へ移行する。マウスあるいはキーボードにより、戻るボタン部８０１が指示されると、ステップＳ４００２０へ戻り再び図７に示すメニュー画面を表示する。マウスあるいはキーボードにより、取消ボタン部８０３が指示されるとシナリオスクリプト作成を中止する。
【００３９】
ステップＳ４００５０では、表示装置２０５に例えば、図９（ａ）に示す機能選択画面を表示する。機能選択画面の構成を示す。シナリオフロー表示部９００はユーザにより選択された機能フローを表示する。削除ボタン部９０１はシナリオフロー表示部に表示されている項目を削除する。利用可能検索機能表示部９０２乃至９０５は利用可能な検索機能一覧を表示する。選択ボタン部９０６は、利用可能検索機能表示部９０２で選択された項目をシナリオフロー表示部９００に反映させる。次へボタン部９０９は次のステップへの移行を指示する。戻るボタン部９０８は前のステップへの移行を指示する。取消ボタン部９１０はシナリオスクリプト作成中止を指示する。利用可能検索機能表示部９０２乃至９０５は、ステップＳ４００００において、ＲＡＭ２０３に記憶された図１９に示す検索サーバリストから利用可能な検索機能を表示する。
【００４０】
例えば、メタデータ検索を行い、次に全文検索を行うというシナリオスクリプトを生成する場合の機能選択画面の画面遷移は以下のようになる。
【００４１】
マウスまたはキーボードにより、“メタデータ検索”を利用可能検索機能表示部９０２乃至９０５より選択する（図９（ｂ））。マウスまたはキーボードにより、選択ボタン部９０６を指示すると、機能選択画面は、図９（ｃ）に示す画面となる。図９（ｃ）のシナリオフロー表示部９００には、選択された検索機能“メタデータ検索”が表示される。また、利用可能検索機能表示部９０２乃至９０５は、検索機能の接合条件を表示する接合条件表示部９１１に表示が切り替わる。
【００４２】
次に、マウスまたはキーボードにより、９１２“前の結果数がｎの場合に実行”を接合条件表示部より選択する（図９（ｄ））。マウスまたはキーボードにより、選択ボタン表示部９０６を指示すると、機能選択画面は、図９（ｅ）に示す画面となる。図９（ｅ）のシナリオフロー表示部９００には、選択された接合条件“前の結果数がｎの場合に実行”が表示される。また、接合条件表示部９１１は、利用可能検索機能表示部９０２乃至９０５に表示が切り替わる。
【００４３】
次にマウスまたはキーボードにより、９０３“全文検索”を利用可能検索機能表示部より選択する（図９（ｆ））。マウスまたはキーボードにより、選択ボタン部９０６を指示すると、機能選択画面は、図９（ｇ）に示す画面となる。図９（ｇ）のシナリオフロー表示部９００には、選択された検索機能“全文検索”が表示される。また、利用可能検索機能表示部は、検索機能の接合条件を表示する接合条件表示部９１１に表示が切り替わる。
【００４４】
次に、マウスまたはキーボードにより、９１４“終了”を接合条件表示部９１１より選択する（図９（ｈ））。マウスまたはキーボードにより、選択ボタン表示部９０６を指示すると、機能選択画面は、図９（ｉ）に示す画面となる。図９（ｉ）のシナリオフロー表示部９００には、選択された接合条件“終了”が表示される。また、接合条件表示部９１１は、利用可能検索機能表示部に表示が切り替わる。
【００４５】
マウスまたはキーボードにより、次へボタン部９０９が指示されると、ステップＳ４００６０へ移行する。マウスまたはキーボードにより、戻るボタン部９０８が指示されると、ステップＳ４００４０に戻る。マウスあるいはキーボードにより、取消ボタン部９１０が指示されるとシナリオスクリプト作成を中止する。
【００４６】
ステップＳ４００６０では、例えば、表示装置２０５に図１０（ａ）に示す詳細設定画面を表示する。詳細設定画面の構成を示す。詳細設定部１００００は、ステップＳ４００５０にて選択された機能を表示するシナリオフロー部、シナリオフロー部で選択されている機能の詳細設定を表示する。次へボタン部１０００１は、次のステップへの移行を指示する。戻るボタン部１０００２は、前のステップへの移行を指示する。取消ボタン部１０００３は、シナリオスクリプト作成中止を指示する。尚、詳細設定部１００００は、シナリオフロー部で指定された項目によって表示内容が異なる。
【００４７】
図１０（ａ）における詳細設定部１００００は、シナリオフロー部で指定されている“メタデータ検索”に対する詳細設定である。設定できる項目の例を示す。検索処理を実行する“検索サーバ”と、“メタデータ検索”のクエリの指定方法を示す“検索クエリ”と、“メタデータ検索”の対象となるメタデータの指定を示す“対象メタデータ”と、クエリの展開方法を示す“検索語の展開”とである。
【００４８】
“検索サーバ”指定においては、図１９の１９００５に示す検索サーバリストのコンテンツ量が多い順にソートされてＩＰアドレスが詳細設定部１００００に表示される。また、“検索サーバ”の既定の設定では、１９００５で示すコンテンツ量が一番多い検索サーバ“１７２．２３．３９．９”が検索処理を実行する検索サーバとして設定される。“検索サーバ“指定において、自動が設定されているときには、シナリオフロー部で指定されている検索機能を提供する全ての検索サーバで検索処理を実行するものとする。
【００４９】
“対象メタデータ“指定においては、図１９に示す検索サーバリストの指定可能検索対象１９００４に設定されている情報を表示する。例えば、図１０（ａ）において、”検索サーバ“指定を”１７２．２３．３９．９“から”１７２．２３．３９．１４“にマウスまたはキーボードにより変更した場合、図１０（ｂ）に示すように”対象メタデータ“指定で指定可能な項目が変更される。
【００５０】
マウスまたはキーボードにより、図１０（ｂ）のシナリオフロー部の選択を“メタデータ検索”から“前の検索結果数がｎの場合に実行”に変更した場合、詳細設定部１００００は、図１０（ｃ）詳細設定部１００１０に示すように、表示内容が変更される。
【００５１】
図１０（ｃ）詳細設定部は、接合条件“前の検索結果数がｎの場合に実行”に対する詳細設定である。設定できる項目は、接合条件の条件値を指定する“条件値”、接合条件の次の検索機能に対する検索対象を指定する“検索対象”である。例えば、メタデータ検索結果が０件の時に全文検索を実行するというシナリオスクリプトを生成する場合には、“条件値”に“０”、“条件値に等しい”を設定し、“検索対象”は“全て”を設定する。
【００５２】
マウスまたはキーボードにより、図１０（ｃ）のシナリオフロー部の選択を、“前の検索結果数がｎの場合に実行”から“全文検索”に変更した場合、詳細設定部１００１０は、図１０（ｄ）詳細設定部１００２０に示すように、表示内容が変更される。
【００５３】
図１０（ｄ）詳細設定部１００２０は、“全文検索”に対する詳細設定である。設定できる項目は、検索処理を実行する“検索サーバ”、“全文検索”のクエリの指定方法を示す“検索クエリ”、クエリの展開方法を示す“検索語の展開”である。
【００５４】
“検索サーバ”指定においては、前記“メタデータ検索”と同様に、図１９の１９００５に示す検索サーバリストのコンテンツ量が多い順にソートされてＩＰアドレスが表示される。“検索サーバ”の既定の設定では、１９００５に示すコンテンツ量が一番多い検索サーバ“１７２．２．３９．１１”が検索処理を実行する検索サーバとして設定される。マウスまたはキーボードにより図１０（ｄ）の詳細設定部１００２０の“検索サーバ”の指定を“１７２．２３．３９．１１”から“自動”に変更することで（図１０（ｅ））、検索サーバを全文検索機能を提供している全ての検索サーバにすることが可能となる。
【００５５】
例えば、メタデータ検索で使用するユーザ指定の検索クエリを全文検索でも検索クエリとして使用できる。マウスまたはキーボードにより、図１０（ｅ）の詳細設定部１００２０の“検索クエリ”の指定を“ユーザ指定”から“前の検索クエリ”に変更する（図１０（ｆ））。
【００５６】
マウスまたはキーボードにより、次へボタン部１０００１が指示されると、ステップＳ４００７０へ移行する。マウスまたはキーボードにより、戻るボタン部１０００２が指示されると、ステップ４００５０に戻る。マウスあるいはキーボードにより、取消ボタン部１０００３が指示されるとシナリオスクリプト作成を中止する。
【００５７】
ステップＳ４００７０では、表示装置２０５に図１１（ａ）に示す代替シナリオ設定画面を表示する。代替シナリオ設定画面の構成を示す。代替設定指定部１１０００は、どのシナリオスクリプトあるいは検索機能の代替設定を行うかを指定する。シナリオスクリプト選択部１１００１は、外部記憶装置２０７上のシナリオスクリプトファイル３０５に記憶されている既存のシナリオスクリプトを指示する。利用可能検索機能表示部１１００２は、利用可能な検索機能一覧を表示する。戻るボタン部１１００３は、前のステップへの移行を指示する。次へボタン部１１００４は、次のステップへの移行を指示する。取消ボタン部１１００５は、シナリオスクリプト作成中止を指示する。
【００５８】
マウスあるいはキーボードにより、次へボタン部１１００４が指示されると、ステップＳ４００７３へ移行する。マウスあるいはキーボードにより、戻るボタン部１１００３が指示されると、ステップＳ４００６０へ戻る。マウスあるいはキーボードにより、取消ボタン部１１００５が指示されるとシナリオスクリプト作成を中止する。例えば、作成中のシナリオスクリプトを“Ｄ：￥Ｓｈａｒｅ￥Ｓｈａｒｅ１．ｘｍｌ”の代替シナリオとして設定する場合は図１１（ｂ）に示す画面となる。“概念検索”の代替シナリオとして設定する場合は図１１（ｃ）に示す画面になる。“Ｄ：￥Ｓｈａｒｅ￥ＳｈａｒｅＸＹＺ．ｘｍｌ”と“概念検索”の代替シナリオとして設定する場合は図１１（ｄ）に示す画面になる。
【００５９】
ステップＳ４００７３では、ステップＳ４００７０において代替設定指定部１１０００で選択された設定を判断する。代替設定指定部１１０００で、“代替シナリオ設定をしない”が選択されていた場合、ステップＳ４００８０へ移行する。代替設定指定部１１０００で、“シナリオ指定”あるいは“利用可能検索機能指定”、もしくは“シナリオ指定”と“利用可能検索機能指定”の両方が選択されていた場合、ステップＳ４００７６へ移行する。
【００６０】
ステップＳ４００７６では、ステップＳ４００７０においてシナリオスクリプト選択部１１００１あるいは利用可能検索機能表示部１１００２、もしくはその両方で指定されたすべての検索機能に既に他の代替シナリオスクリプトが存在するかを判定する。存在しない場合、代替シナリオを持つ検索機能として設定されたシナリオスクリプトあるいは検索機能と作成中のシナリオとの代替関係を示す代替情報を代替シナリオ管理部３０２内のＲＡＭ２０３に記憶し、ステップＳ４００８０へ移行する。他の代替シナリオスクリプトが存在する検索機能が１つでもある場合、ステップＳ４００７９へ移行する。
【００６１】
ステップＳ４００７９では、表示装置２０５に図２５（ａ）に示すシナリオスクリプト優先度設定画面を表示する。シナリオスクリプト優先度設定画面の構成を示す。代替元表示部２５０００は、ステップＳ４００７０においてシナリオスクリプト指定部１１００１あるいは利用可能検索機能表示部１１００２、もしくはその両方で指定された代替元（作成中のシナリオスクリプトが代替すべき検索機能を指す）を表示する。代替シナリオスクリプト表示部２５００１は、代替先（代替元に代替シナリオとして登録されているシナリオ）のシナリオスクリプトを図２０において詳述する代替シナリオ定義部から取得し、作成中のシナリオスクリプトとあわせて表示する。優先度変更ボタン部２５００２は、代替シナリオスクリプト表示部２５００１で選択されているシナリオスクリプトの優先度を変更する。削除ボタン部２５００３は、代替シナリオスクリプト表示部２５００１で選択されているシナリオスクリプトを削除する。戻るボタン部２５００４は、代替元表示部２５０００で表示される代替元を前のものへ戻す（後述する例を参照）。次へボタン部２５００５は、代替元表示部２５０００で表示される代替元を次のものへ移行する（後述する例を参照）。設定ボタン部２５００６は、シナリオスクリプトの優先度設定を終了する。取消ボタン部２５００７は、シナリオスクリプトの優先度設定を中止する。
【００６２】
例えば、作成中のシナリオスクリプトを“ＳｃｅｎａｒｉｏＸＹＺ．ｘｍｌ”と“概念検索”の代替シナリオとして設定する例を示す。“ＳｃｅｎａｒｉｏＸＹＺ．ｘｍｌ”における優先度を一番低く、“概念検索”における優先度を一番高く設定する場合の画面遷移は以下のようになる。
【００６３】
図２５（ａ）に示すシナリオスクリプト優先度設定画面が初めに表示される。図２５（ａ）では、代替元表示部２５０００に“ＳｃｅｎａｒｉｏＸＹＺ．ｘｍｌ”が表示される。代替シナリオスクリプト表示部には一番優先度の低いものとして“作成中のシナリオ”が表示される。マウスあるいはキーボードにより、次へボタン部２５００５を指示するとシナリオスクリプト優先度設定画面は図２５（ｂ）に示す画面となる。図２５（ｂ）では、代替元表示部２５０００に“概念検索”が表示される。代替シナリオスクリプト表示部２５００１には一番優先度の低いものとして“作成中のシナリオ”が表示される。マウスあるいはキーボードにより、優先度変更ボタン部２５００２で“↑”が指示されると、シナリオスクリプト優先度設定画面は図２５（ｃ）に示す画面となる。マウスあるいはキーボードにより、戻るボタン部２５００４が指示されると、シナリオスクリプト優先度設定画面は再び図２５（ｃ）に示す画面となる。
【００６４】
マウスあるいはキーボードにより、削除ボタン部２５００３が指示されると、代替シナリオスクリプト表示部２５００１で選択中のシナリオスクリプトが削除される。マウスあるいはキーボードにより、設定ボタン部２５００６が指示されるとステップＳ４００８０へ移行する。そして、代替シナリオを持つ検索機能として設定された検索機能と作成中のシナリオの代替関係と優先度を示す代替情報を代替シナリオ管理部３０２内のＲＡＭ２０３に記憶する。マウスあるいはキーボードにより、取消ボタン部２５００７が指示されるとステップＳ４００７０へ戻り表示装置２０５に図１１（ａ）に示す画面を表示する。
【００６５】
ステップＳ４００８０では、表示装置２０５に図１２に示す実行ユーザ設定画面を表示する。実行ユーザ設定画面の構成を示す。実行ユーザ表示部１２０００は、実行ユーザとして設定可能なユーザ情報を持つ不図示の設定ファイルから設定可能な実行ユーザを取得し、一覧を表示する。戻るボタン部１２００１は、前のステップへの移行を指示する。次へボタン部１２００２は、次のステップへの移行を指示する。取消ボタン部１２００３は、シナリオスクリプト作成中止を指示する。
【００６６】
マウスあるいはキーボードにより、実行ユーザ表示部１２０００に表示されるユーザ一覧で選択されたものが、図２３において詳述するシナリオスクリプト内の実行可能ユーザ指定要素＜ｓｃｅｎａｒｉｏ：ｅｘｅｃＵｓｅｒ＞の値として設定される。マウスあるいはキーボードにより、戻るボタン部１２００１が指示されると、ステップＳ４００７０へ戻る。マウスあるいはキーボードにより、取消ボタン部１２００３が指示されると、シナリオスクリプト作成を中止する。
【００６７】
ステップＳ４００９０では、表示装置２０５に図１３に示す保存確認画面を表示する。保存確認画面の構成を示す。ファイル名指定部１３０００は、編集したシナリオスクリプトを外部記憶装置２０７に保存する時のファイル名を指示する。テストボタン部１３００１は、編集したシナリオスクリプトファイルのテスト実行を指示する。戻るボタン部１３００３は、前のステップへの移行を指示する。保存ボタン部１３００３は、編集したシナリオスクリプトを外部記憶装置に記憶することを指示する。取消ボタン部１３００４は、シナリオスクリプト作成中止を指示する。
【００６８】
テストボタン部１３００１を指示すると、表示装置２０５に図１１６に示す画面を表示し、図２８において詳述される検索テスト処理を実行する。テスト処理を実行終了後、図１３（ａ）に戻りシナリオ保存入力待ちとなる。
【００６９】
マウスまたはキーボードによりファイル名指定部１３０００に外部記憶装置２０７に保存するファイル名を入力（図１３（ｂ））する。その後、マウスまたはキーボードにより保存ボタン部１３００３を指示すると、図２３に示す形式で編集したシナリオスクリプトを外部記憶装置２０７に保存し、ステップＳ４０１００へ移行する。マウスまたはキーボードにより、戻るボタン部１３００２が指示されると、ステップ４００８０に戻る。マウスあるいはキーボードにより、取消ボタン部１３００４が指示されるとシナリオスクリプト作成を中止する。
【００７０】
ステップＳ４０１００では、ステップＳ４００７６乃至ステップＳ４００７９で代替シナリオ管理部３０２内のＲＡＭ２０３に記憶した、代替関係、優先度情報、およびステップＳ４００９０で指定したシナリオスクリプト名を参照する。そして、外部記憶装置２０７に格納されている図２０で示される代替スクリプト定義部の情報を更新し、その後処理を終了する。代替シナリオ管理部３０２内のＲＡＭ２０３に作成中のシナリオと代替関係にある検索機能との代替関係と優先度情報が記憶されていない場合、図２０に示す代替スクリプト定義部の情報の更新は行わず、処理を終了する。
【００７１】
次に本実施形態でシナリオスクリプト作成部３０４により実行されるシナリオスクリプト作成処理のうち、作成したシナリオのテスト実行処理について図２８を用いて説明する。
【００７２】
図２８は本実施形態で実行される図４のステップＳ４００９０で、テスト実行ボタン部１３００１が指示された場合に実行されるテスト実行処理を詳細化したフローチャートである。
【００７３】
まず、ステップＳ２８０４０では、ＲＡＭ２０３上の図２４において詳述の検索要求記述に設定されたシナリオスクリプト指定要素＜ｓｃｅｎａｒｉｏ：ｓｃｒｉｐｔ＞の値を取り出し、ステップＳ２８０５０へ進む。
【００７４】
次に図２７において詳述するステップＳ２８０５０でＳ２８０４０で取り出したシナリオスクリプトが実行可能であるか判定する。実行可能であると判定されたならばステップＳ２８０７０へ、実行不能と判定されたならばステップＳ２８０６０へ分岐する。
【００７５】
ステップＳ２８０５０で実行不能であると判定された場合、ステップＳ２８０６０で、指定されたシナリオスクリプトの代替シナリオが存在するか確認する。存在すれば、代替シナリオスクリプトを検索要求記述のシナリオスクリプト指定要素＜ｓｃｅｎａｒｉｏ：ｓｃｒｉｐｔ＞の末尾に追加する。代替シナリオスクリプトの存在有無は、シナリオスクリプト作成部３０４でシナリオ作成時に設定され、外部記憶装置２０７に格納されている図２０に示す代替スクリプト定義部を参照することにより判定される。代替スクリプト定義部の検索機能２００００にステップＳ５００４０で取り出されたシナリオスクリプトと一致するものがあるかどうかを探す。見つかったならば対応する代替スクリプト２０００１を検索要求記述のシナリオスクリプト指定要素＜ｓｃｅｎａｒｉｏ：ｓｃｒｉｐｔ＞の末尾に追加する。次にステップＳ２８０４０へループする。
【００７６】
次にステップＳ２８０７０で、表示装置２０５に図１６（ａ）に示す検索サーバ設定画面を表示し、シナリオスクリプトで定義されている検索機能を実行可能な検索サーバを指定する。図１６において、ステップＳ２８０４０で取り出されたシナリオスクリプトが使用する検索機能が表示部１６０００に表示される。表示部１６０００に表示される各検索機能に対してサーバの特定をするか否かを選択するＩＰアドレス表示部１６００１には、サーバの特定をせず自動選択とする「自動」が表示される。さらに、図１９において詳述される検索サーバリストの当該検索機能を有する検索サーバのＩＰアドレス１９０００が表示され、ラジオボタンにより「自動」または検索サーバの具体的なＩＰアドレスのいずれかを選択する。
【００７７】
図１６（ｂ）において選択されている「メタデータ検索」を実行する検索サーバとして、ＩＰアドレス「１７２．２３．３９．９」に対応するラジオボタンを選択している。設定ボタン部１６００２を指示すると，検索要求記述中の図２３において詳述される当該シナリオスクリプトの検索サーバ指定要素＜ｓｃｅｎａｒｉｏ：ｓｅｒｖｅｒ＞の値として選択したＩＰアドレスを設定する。図１６のＩＰアドレス表示部で自動を選択した場合は「ａｕｔｏ  ｓｅｌｅｃｔ」が＜ｓｃｅｎａｒｉｏ：ｓｅｒｖｅｒ＞の値として設定される。取消しボタン部１６００３が指示された場合は、検索サーバ指定の処理を終了し、ステップＳ２８０８０へ進む。
【００７８】
次にステップＳ２８０８０で、表示装置２０５に図１７に示す検索クエリ設定画面を表示し、検索要求となるクエリ情報を入力する。検索クエリ設定画面の構成を示す。概念検索クエリ入力部１７０００には、文章の意味に基づいて検索する概念検索の検索クエリとなる文書を入力する。メタデータ指定部１７００１乃至１７００４は、メタデータの値に基づいて検索するメタデータ検索の検索対象となるメタデータを指定する。画像ファイル入力部１７００５では、画像の視覚特徴に基づいて類似の画像を検索する画像検索の検索クエリとなる画像ファイル名を入力する。クエリ画像表示部１７００６では、画像ファイル入力部１７００５で入力された画像の縮小画像を表示する。設定ボタン部１７００７では、検索クエリの検索要求記述への設定を支持する。取消しボタン部１７００８では、設定処理を中止する。各検索クエリ入力部において入力された検索クエリは、検索要求記述の対応する検索クエリ記述要素＜ｓｃｅｎａｒｉｏ：ｐａｒａｍｅｔｅｒ＞に、検索機能種別であるｔｙｐｅ属性と対応づけて設定される。
【００７９】
次にステップＳ２８０９０において、検索要求記述に格納されたすべてのシナリオスクリプトについて検索条件設定を終えたかどうかを判定する。すべて設定済であればステップＳ２８１００へ、未設定のシナリオスクリプトがあればステップＳ２８０４０へループする。
【００８０】
次にステップＳ２８１００で、ＲＡＭ２０３上の検索要求記述を検索サーバ既定のプロトコルに従い、その記述内容を伝送する。本実施形態においては、通常行われているＨＴＴＰ（Ｈｙｐｅｒ  Ｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）により伝送する。
【００８１】
ステップＳ２８１００で検索サーバに送信された検索要求に基づく検索サーバでの処理の詳細は図２６において詳述される。
【００８２】
ステップＳ２８１１０では、検索サーバからの処理結果の受信を待機し、検索結果を取得する。検索結果は図２４に示す検索要求記述の結果出力要素＜ｄｒｔｆ：ｒｅｓｕｌｔ＞以下の値として取得可能であり、出力結果を取出し、表示装置２０５に図１８に示す検索結果を表示する。
【００８３】
図１９は、情報処理装置のＲＡＭ２０３に記憶される検索サーバリストの記憶領域を示す説明である。図１９において図示される検索サーバリストは、検索サーバ管理部３０１において作成され、検索サーバ情報通知部３１３から通知される検索サーバ３１２の情報が記憶される。そして、シナリオスクリプト作成部３０４によるシナリオスクリプト作成時、あるいは、シナリオスクリプト実行部３０３による検索実行時に使用される情報である。
【００８４】
検索サーバリストの構成を示す。ＩＰアドレス１９０００は、検索サーバ３１２が動作する情報処理装置に割り当てられたＩＰアドレスである。検索機能１９００１は、検索サーバ３１２が提供している検索機能である。クエリタイプ１９００２は、検索実行時にユーザが指示する検索クエリの種別を表す。クエリ拡張１９００３は、ユーザが指示するクエリに対して、例えば、同義語辞書を使用した検索クエリの展開等の指定が可能であるか否かを表す。指定可能検索対象１９００４は、ユーザが検索時に検索対象となる項目、例えば、タイトル、作成者、作成日付、コメント等を指定することが可能であるか、また、指定可能な項目を表す。コンテンツ量１９００５は、検索サーバ３１２が保持する検索対象コンテンツの数を表す。
【００８５】
図２０は、代替シナリオ管理部３０２で管理される代替スクリプトの対応関係を示す代替スクリプト定義部である。代替スクリプト定義部の構成を示す。検索機能２００００は、代替となるスクリプトが設定される検索機能あるいはシナリオスクリプト（代替元）の一覧を表示する。代替スクリプト２０００１は、代替元の代替スクリプト（代替先）を一覧表示する。代替スクリプト２０００１は、１つの代替元に対し複数の代替先が登録されている場合には、記述されている順により優先度を表す。例えば、図２０における類似原本検索の代替スクリプトは“Ｓｃｅｎａｒｉｏ１．ｘｍｌ”と“Ｓｃｅｎａｒｉｏ２．ｘｍｌ”である。“Ｓｃｅｎａｒｉｏ１．ｘｍｌ”の優先度が一番高く、続いて記述されている“Ｓｃｅｎａｒｉｏ２．ｘｍｌ”の優先度が二番目となる。
【００８６】
図２１は、情報処理装置の外部記憶装置２０７に記憶されるシナリオスクリプト学習データの記憶領域を示す説明図である。図２１において図示されるシナリオスクリプト学習データは、検索サーバ管理部３０１のシナリオスクリプト実行部３０３による検索実行時に使用及び更新される情報である。
【００８７】
シナリオスクリプト学習データは、検索実行時に使用したシナリオスクリプトファイル名２１０００、シナリオスクリプトファイル名２１０００の参照回数を保持する参照回数２１００１から構成される。シナリオスクリプト学習データは、複数のシナリオスクリプトが指定された場合に、図１５に示すシナリオスクリプトリスト表示部１５００２の既定の表示順を決める際に使用する。シナリオスクリプトリスト表示部１５００２は、シナリオスクリプト学習データの参照回数２１００１が多い順にソートして表示する。
【００８８】
図２３はシナリオスクリプトであり、シナリオスクリプト作成部３０４で作成される。シナリオスクリプトはユーザ情報、本体および検索結果フォーマットから構成される。
【００８９】
例えば、３行目〜７行目はユーザ情報であり、４行目の＜ｓｃｅｎａｒｉｏ：ｕｓｅｒＩＤ＞要素はユーザ認証されたユーザＩＤおよびパスワードが暗号化されている。また、５行目の＜ｓｃｅｎａｒｉｏ：ｅｘｅｃＵｓｅｒ＞要素は該シナリオスクリプトの実行可能なユーザの情報が暗号化されている。
【００９０】
８行目から２７行目はシナリオスクリプト実行部３０４および３１１が実行するシナリオスクリプトの本体であり、検索機能の情報と、検索機能と検索機能の結合条件から構成される。１０行目の＜ｓｃｅｎａｒｉｏ：ｓｅａｒｃｈＦｕｎｃ＞要素は検索機能の指定であり、メタデータ検索が指定されている。そして、１０行目〜１５行目はメタデータ検索の情報である。１１行目の＜ｓｃｅｎａｒｉｏ：ｓｅｒｖｅｒ＞要素は検索対象となる検索サーバの指定であり、検索対象となる検索サーバのＩＰアドレスが指定されている。１２行目の＜ｓｃｅｎａｒｉｏ：ｓｅｒｖｅｒ＞要素は検索クエリの入力に関する情報であり、ユーザからの検索クエリの入力待ちである。
【００９１】
１３行目の＜ｓｃｅｎａｒｉｏ：ｓｅａｒｃｈＴａｇ＞要素はメタデータ検索の検索対象項目であり、タイトルが指定されている。１４行目の＜ｓｃｅｎａｒｉｏ：ｑｕｅｒｙＥｘｐａｎｔｉｏｎ＞要素は検索後の拡張情報であり、“拡張しない”が指定されている。１７行目の＜ｓｃｅｎａｒｉｏ：ｊｏｉｎＣｏｎｄ＞要素は結合条件であり、“前の検索数がｎの場合に実行する”が指定されている。そして、１７行目〜２０行目は結合条件の情報である。１８行目の＜ｓｃｅｎａｒｉｏ：ｃｏｎｄＶａｌｕｅ＞要素は条件値であり、“等しい”が指定されている。１９行目の＜ｓｃｅｎａｒｉｏ：ｓｅａｒｃｈＯｂｊｅｃｔ＞要素は検索対象であり、“全て”が指定されている。２２行目の＜ｓｃｅｎａｒｉｏ：ｓｅａｒｃｈＦｕｎｃ＞要素は検索機能の指定であり、全文検索が指定されている。そして、２２行目〜２６行目は全文検索の情報である。２３行目の＜ｓｃｅｎａｒｉｏ：ｓｅｒｖｅｒ＞要素は検索対象となる検索サーバの指定であり、“自動”が指定されている。２４行目の＜ｓｃｅｎａｒｉｏ：ｓｅｒｖｅｒ＞要素は検索クエリの入力に関する情報であり、ユーザからの検索クエリの入力待ちである。２５行目の＜ｓｃｅｎａｒｉｏ：ｑｕｅｒｙＥｘｐａｎｔｉｏｎ＞要素は検索後の拡張情報であり、“拡張しない”が指定されている。
【００９２】
２９行目〜３８行目は検索結果フォーマットである。３１行目の＜ｓｃｅｎａｒｉｏ：ｒｅｓｕｌｔ＞要素は検索機能の指定であり、メタデータ検索が指定されている。そして、３１行目〜３３行目はメタデータ検索の検索結果の詳細情報である。３２行目の＜ｓｃｅｎａｒｉｏ：ｒｅｓｕｌｔＤｅｔａｉｌ＞要素は検索結果の詳細情報であり、ＵＲＩが指定されている。３４行目の＜ｓｃｅｎａｒｉｏ：ｒｅｓｕｌｔ＞要素は検索機能の指定であり、全文検索が指定されている。そして、３４行目〜３７行目はメタデータ検索の検索結果の詳細情報である。３５行目および３６行目の＜ｓｃｅｎａｒｉｏ：ｒｅｓｕｌｔＤｅｔａｉｌ＞要素は検索結果の詳細情報であり、ＵＲＩおよびスコアが指定されている。
【００９３】
図２４はクライアント３０８と検索サーバ３１２の間でデータ交換するための検索要求および検索結果を記述する形式である。３行目から１２行目の＜ｄｒｔｆ：ｃｏｎｔｒｏｌ＞要素は制御情報である。４行目の＜ｄｒｔｆ：ｔｉｃｋｅｔ＞要素は検索要求を指定している。また、６行目〜１１行目の＜ｄｒｔｆ：ｎｕｍｂｅｒ＞要素は検索結果の有無であり、シナリオスクリプト実行からの検索結果があることを示している。１３行目から３４行目の＜ｄｒｔｆ：ｑｕｅｒｙ＞要素は検索要求の情報である。１７行目〜２１行目の＜ｓｃｅｎａｒｉｏ：ｓｃｒｉｐｔ＞要素はシナリオスクリプトの指定である。１８行目〜２０行目の＜ｓｃｅｎａｒｉｏ：ｅｘｅｃＳｃｒｉｐｔ＞要素はシナリオスクリプト名“ｓｃｅｎａｒｉｏ１”の検索で使用する図２３のようなシナリオスクリプトが記述される。なお、＜ｓｃｅｎａｒｉｏ：ｅｘｅｃＳｃｒｉｐｔ＞要素を使用することで複数のシナリオスクリプトを指定することが可能である。また、２３行目〜３２行目の＜ｓｃｅｎａｒｉｏ：ｄａｔａ＞要素はシナリオスクリプトで使用するデータである。２４行目〜２７行目の＜ｓｃｅｎａｒｉｏ：ｐａｒａｍｅｔｅｒ＞要素および２８行目〜３１行目の＜ｓｃｅｎａｒｉｏ：ｐａｒａｍｅｔｅｒ＞要素はシナリオスクリプトの検索クエリ入力に対応する。ここでは、２４行目〜２７行目の＜ｓｃｅｎａｒｉｏ：ｐａｒａｍｅｔｅｒ＞要素はメタデータ検索に対応し、２８行目〜３１行目の＜ｓｃｅｎａｒｉｏ：ｐａｒａｍｅｔｅｒ＞要素は全文検索に対応する。そのため、２６行目の＜ｓｃｅｎａｒｉｏ：ｋｅｙｗｏｒｄ＞はメタデータ検索用のキーワードである“京都”が指定されており、３０行目の＜ｓｃｅｎａｒｉｏ：ｋｅｙｗｏｒｄ＞は全文検索用のキーワードである“フラワーカーニバル”が指定されている。３５行目から７８行目の＜ｄｒｔｆ：ｒｅｓｕｌｔ＞要素は検索結果の情報である。３８行目の＜ｓｃｅｎａｒｉｏ：ｅｎｔｉｔｙ＞要素は実行されたシナリオスクリプト名であり、シナリオスクリプト名“ｓｃｅｎａｒｉｏ１”が記述されている。４０行目の＜ｓｃｅｎａｒｉｏ：ｎｕｍｂｅｒ＞要素は検索結果の件数であり、４１行目から４４行目はメタデータ検索の検索結果の件数が３件、４５行目から４８行目は全文検索の検索結果の件数が２件であることを示している。５１行目〜６４行目はメタデータ検索の検索結果の情報であり、結果が３件あり、ＵＲＩ、スコアおよび検索された検索サーバが動作する情報処理装置に割り当てられたＩＰアドレスが記述されている。また、６６行目〜７５行目は全文検索の検索結果の情報であり、結果が２件あり、ＵＲＩ、スコアおよび検索された検索サーバが動作する情報処理装置に割り当てられたＩＰアドレスが記述されている。
【００９４】
次に本実施形態でクライアント３０８により実行される検索処理について図５を用いて説明する。図５は本実施形態で実行される検索処理のフローチャートである。まず、ステップＳ５００００で、検索サーバ管理部３０１内のＲＡＭ２０３に記憶された検索サーバリストの情報を最新の状態に更新するために、検索サーバ管理部３０１において、ネットワークに接続している検索サーバ３１２に対して検索機能取得を行う。検索機能取得では、検索サーバのＩＰアドレス、提供している検索機能、検索クエリの種別、検索クエリ拡張指定の可否、指定可能な検索対象、各検索サーバの検索インデックスが保持しているコンテンツ数を取得する。取得した前記情報は、図１９に示す検索サービスリストとして検索サーバ管理部３０１内のＲＡＭ２０３に記憶する。
【００９５】
ステップＳ５００１０では、表示装置２０５に図１４に示す認証画面を表示する。認証画面は、図６と同様の構成である。入力装置２０４として接続されたマウスあるいはキーボードにより、認証ボタン６０２が指示されると、ユーザ名入力部１４０００及びパスワード入力部１４００１に入力された情報をもとに認証処理を行い、ステップＳ５００２０へ移行する。認証処理は図１のネットワークシステムにおいて不図示の認証サーバを設け、認証サーバがユーザ名とパスワードとの照合を行うことにより処理される。認証に失敗したならば直ちに検索処理を中止する。マウスあるいはキーボードにより、取消ボタン部１４００３が指示されると検索処理を中止する。
【００９６】
次にステップＳ５００２０では、表示装置２０５に図１５（ａ）に示すシナリオスクリプト設定画面を表示する。シナリオスクリプト設定画面の構成を示す。スクリプトファイル入力部１５０００は、外部記憶装置２０７に保存されているシナリオスクリプトファイル３０５を指定する。シナリオスクリプトリスト表示部１５００２は、設定されたシナリオスクリプトファイルのファイル名称を表示する。追加ボタン部１５００１は、複数のシナリオスクリプトを設定する場合にシナリオスクリプトリスト表示部１５００２に追加指定することを指示する。実行優先順ＵＰ・ＤＯＷＮボタン部１５００３および１５００４は、シナリオスクリプトリスト表示部１５００２に表示されているシナリオスクリプトファイルの実行優先順を指定するためにシナリオスクリプトリスト表示部１５００２上での表示位置を変更する。設定ボタン部１５００５は、図２４において後述する検索要求記述に設定する。取消ボタン部１５００６は、シナリオスクリプト設定処理を中止することを指示する。シナリオスクリプトリスト表示部１５００２は、図２１に示すシナリオスクリプト学習データの参照回数２１００１が多い順にソートする。
【００９７】
次に図１５（ｂ）において、シナリオスクリプトファイル入力部１５０００にシナリオスクリプト「Ｓｃｅｎａｒｉｏ．ｘｍｌ」を入力し、追加ボタン部１５００１をキーボードあるいはマウスにより指示する。シナリオスクリプトリスト表示部１５００２に入力したシナリオスクリプトファイル名が表示される。
【００９８】
引き続き図１５（ｃ）において、２つめのシナリオスクリプトとしてシナリオスクリプト入力部１５００１にシナリオスクリプト「Ｓｃｅｎａｒｉｏ２．ｘｍｌ」を入力し、追加ボタン部１５００１を指示する。図２１に示すシナリオ学習データのシナリオスクリプトファイル名２１０００と参照回数２１００１を参照すると、「Ｓｃｅｎａｒｉｏ．ｘｍｌ」が「Ｓｃｅｎａｒｉｏ２．ｘｍｌ」よりも参照回数が多いことがわかる。そこでシナリオスクリプトリスト表示部１５００２に追加したシナリオスクリプトファイル「Ｓｃｅｎａｒｉｏ２．ｘｍｌ」が先に設定済の「Ｓｃｅｎａｒｉｏ．ｘｍｌ」の下位に表示される。
【００９９】
次に図１５（ｄ）において、シナリオスクリプトリスト表示部１５００２上でキーボードあるいはマウスにより、図１５（ｃ）で追加したシナリオスクリプト「Ｓｃｅｎａｒｉｏ２．ｘｍｌ」を選択する。実行優先順ＵＰボタン部１５００３を指示することにより、「Ｓｃｅｎａｒｉｏ．ｘｍｌ」の上位の実行優先順となるように設定する。ステップＳ５００３０において、ＲＡＭ２０３上の図２４において詳述される検索要求記述の＜ｓｃｅｎａｒｉｏ：ｓｃｒｉｐｔ＞要素の値を書き込む。設定ボタン部１５００５が指示されると、選択されたシナリオスクリプトファイルの内容が優先順位に従い書き込まれる。検索要求記述を設定し終えたならば、ステップＳ５００４０の処理へ移行する。取消ボタン部１５００６が指示されたならば、シナリオスクリプト設定画面を終了し、ステップＳ５００４０へ進む。
【０１００】
ステップＳ５００４０では、ＲＡＭ２０３上の図２４において詳述の検索要求記述に設定されたシナリオスクリプト指定要素＜ｓｃｅｎａｒｉｏ：ｓｃｒｉｐｔ＞の値をひとつ取り出し、ステップＳ５００５０へ進む。
【０１０１】
次に図２７において詳述するステップＳ５００５０でＳ５００４０で取り出したシナリオスクリプトが実行可能であるか判定し、実行可能であると判定されたならばステップＳ５００７０へ、実行不能と判定されたならばステップＳ５００６０へ分岐する。
【０１０２】
ステップＳ５００５０で実行不能であると判定された場合、ステップＳ５００６０で、指定されたシナリオスクリプトの代替シナリオが存在するか確認する。代替シナリオが存在すれば、代替シナリオスクリプトを検索要求記述のシナリオスクリプト指定要素＜ｓｃｅｎａｒｉｏ：ｓｃｒｉｐｔ＞の末尾に追加する。代替シナリオスクリプトの存在有無は、シナリオスクリプト作成部３０４でシナリオ作成時に設定され、外部記憶装置２０７に格納されている図２０に示す代替スクリプト定義部を参照することにより判定される。代替スクリプト定義部の検索機能２００００にステップＳ５００４０で取り出されたシナリオスクリプトと一致するものがあるかどうかを探す。見つかったならば対応する代替スクリプト２０００１を検索要求記述のシナリオスクリプト指定要素＜ｓｃｅｎａｒｉｏ：ｓｃｒｉｐｔ＞の末尾に追加する。次にステップＳ５００４０へループする。
【０１０３】
次にステップＳ５００７０で、表示装置２０５に図１６（ａ）に示す検索サーバ設定画面を表示し、シナリオスクリプトで定義されている検索機能を実行可能な検索サーバを指定するか否かを指定する。図１６において、ステップＳ５００４０で取り出されたシナリオスクリプトが使用する検索機能が表示部１６０００に表示される。表示部１６０００に表示される各検索機能に対してサーバの特定をするか否かを選択するＩＰアドレス表示部１６００１には、サーバの特定をせず自動選択とする「自動」がステップＳ５００００で取得される。さらに、図１９において詳述される検索サーバリストの当該検索機能を有する検索サーバのＩＰアドレス１９０００が表示され、ラジオボタンによりいずれかを選択する。ＩＰアドレス表示部１６００１は、ステップＳ５００００において取得した図１９に示す検索サーバリストに含まれる検索サーバで、図２２に示すＩＰアドレス学習データの参照回数２２００２が多い順にソートして表示する。図２２に示すＩＰアドレス学習データに格納されていない検索サーバは末尾に表示していく。図２２に示すＩＰアドレス学習データの参照回数２２００２が一番多いＩＰアドレスの検索サーバを既定として選択する。
【０１０４】
図１６（ｂ）において選択されている「メタデータ検索」を実行する検索サーバとして、ＩＰアドレス「１７２．２３．３９．９」に対応するラジオボタンを選択し、設定ボタン部１６００３を指示する。すると、検索要求記述中の図２３において詳述される当該シナリオスクリプトの検索サーバ指定要素＜ｓｃｅｎａｒｉｏ：ｓｅｒｖｅｒ＞の値として選択したＩＰアドレスまたは自動を選択した場合は「ａｕｔｏ  ｓｅｌｅｃｔ」を設定する。取消しボタン部１６００３が指示された場合は、検索サーバ指定の処理を終了し、ステップＳ５００８０へ進む。
【０１０５】
次にステップＳ５００８０で、表示装置２０５に図１７に示す検索クエリ設定画面を表示し、検索要求となるクエリ情報を入力する。図１７において、各機能を説明する。文章の意味に基づいて検索する概念検索の検索クエリとなる文書を入力する概念検索クエリ入力部１７０００。メタデータの値に基づいて検索するメタデータ検索の検索対象となるメタデータを指定するメタデータ指定部１７００１乃至１７００４。画像の視覚特徴に基づいて類似の画像を検索する画像検索の検索クエリとなる画像ファイル名を入力する画像ファイル入力部１７００５。画像ファイル入力部１７００５で入力された画像の縮小画像を表示するクエリ画像表示部１７００６。検索クエリの検索要求記述への設定を支持する設定ボタン部１７００７。設定処理を中止する取消しボタン部１７００８。各検索クエリ入力部において入力された検索クエリは検索要求記述の対応する検索クエリ記述要素＜ｓｃｅｎａｒｉｏ：ｐａｒａｍｅｔｅｒ＞に検索機能種別をｔｙｐｅ属性として対応づけて設定される。
【０１０６】
次にステップＳ５００９０において、検索要求記述に格納されたすべてのシナリオスクリプトについて検索条件設定を終えたかどうかを判定する。すべて設定済であればステップＳ５０１００へ、未設定のシナリオスクリプトがあればステップＳ５００４０へループする。
【０１０７】
次にステップＳ５０１００で、ＲＡＭ２０３上の検索要求記述を検索サーバ既定のプロトコルに従い、その記述内容を伝送する。本実施形態においては、通常行われているＨＴＴＰ（Ｈｙｐｅｒ  Ｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）により伝送する。
【０１０８】
次にステップＳ５０１１０で検索サーバからの処理結果の受信を待機し、検索結果を取得する。検索結果は図２４に示す検索要求記述の結果出力要素＜ｄｒｔｆ：ｒｅｓｕｌｔ＞以下の値として取得可能であり、出力結果を取出し、表示装置２０５に図１８に示す検索結果を表示する。次に、＜ｄｒｔｆ：ｅｎｔｉｔｙ＞要素のｎａｍｅ属性の値及び＜ｓｅｎａｒｉｏ：ｓｃｒｉｐｔ＞要素以下から検索実行時に使用したシナリオスクリプトを取得する。ステップＳ５００２０にて設定したシナリオスクリプトファイルと前記取得したシナリオスクリプトから検索実行時に使用したシナリオスクリプトファイルを求める。求めたシナリオスクリプトファイルを元に図２１に示すシナリオスクリプト学習データを更新する。既にシナリオスクリプトファイルがシナリオスクリプトファイル名２１０００に記憶されている場合には、参照回数２１００１を加算する。シナリオスクリプトファイルがシナリオスクリプトファイル名２１０００に記憶されていない場合には、シナリオスクリプトファイル名２１０００にシナリオスクリプトファイル名を記憶し、参照回数２１００１を１として記憶する。
【０１０９】
図１８は検索結果の表示画面であり、検索結果の結果出力要素＜ｄｒｔｆ：ｒｅｓｕｌｔ＞下の＜ｓｃｎｅａｒｉｏ：ｅｎｔｉｔｙ＞要素のｕｒｉ属性の値からファイル名を取得し、ファイル名１８００１に表示する。同様に＜ｓｃｎｅａｒｉｏ：ｓｃｏｒｅ＞要素から検索結果の確からしさを表すスコアの値を取得し、スコア１８００２に、＜ｓｃｎｅａｒｉｏ：ｒｅｓｕｌｔＤｅｔａｉｌＴｙｐｅ＞要素のｔｙｐｅ属性の値を検索種別１８００３に表示する。取得ボタン部１８００４が指示されたならば、検索結果ｕｒｉに従いデータを取得する。データ取得時には、＜ｓｃｅｎａｒｉｏ：ｒｅｓｕｌｔＤｅｔａｉｌ＞要素のｔｙｐｅ属性及び＜ｓｃｅｎａｒｉｏ：Ｓｅｒｖｅｒ＞要素から検索サーバのＩＰアドレスを取得し、図２２に示すＩＰアドレス学習データを更新する。既にＩＰアドレスが記憶済みの場合には、参照回数２２００２を加算する。ＩＰアドレスが記憶されていない場合には、検索結果から取得した前記情報を検索機能２２０００、ＩＰアドレスリスト２２００１に追加し、参照回数２２００２を１とする。終了ボタン部１８００５が指示されたならば検索処理を終了する。
【０１１０】
次に図５のステップＳ５００５０および図２８のステップＳ２８０５０の実行可能判定の処理を図２７を用いて説明する。図２７は、本実施形態で実行される図５に示すフローチャートのステップＳ５００５０における詳細処理を表すフローチャートである。ステップＳ２７０００は、シナリオスクリプトの実行権限の判定を行う。実行権限の判定は、図２３において詳述するシナリオスクリプト中の実行可能ユーザ指定要素＜ｓｃｅｎａｒｉｏ：ｅｘｅｃＵｓｅｒ＞の値として記述された実行権限を持つユーザ情報をもとに、不図示の認証サーバによる認証を行うことで判定する。認証された場合は、ステップＳ２７０１０へ移行する。認証されなかった場合は、ステップＳ２７０２０へ移行する。
【０１１１】
ステップＳ２７０１０は、シナリオスクリプト中の検索機能が現在サービスされており、実行可能か否かの判定を行う。実行可能か否かの判定は、図１９において詳述する検索サービスリストの情報をもとに行う。検索サービスリストの検索機能１９００１に当該シナリオスクリプト中の検索機能が存在する場合は、ステップＳ２７０３０へ移行する。検索サービスリストの検索機能１９００１に当該シナリオスクリプト中の検索機能が存在しない場合は、ステップＳ２７０２０へ移行する。ステップＳ２７０２０は、シナリオスクリプトが実行不可であると判定を行い、その後処理を終了する。ステップＳ２７０３０は、シナリオスクリプトが実行可能であると判定を行い、その後処理を終了する。
【０１１２】
次に図５のステップＳ５０１００および図２８のステップＳ２８１００においてクライアント３０８より送信された検索要求を受け取り、検索処理を実行する検索サーバ３１２の処理を図２６を用いて説明する。
【０１１３】
図２６は本実施形態で実行される検索サーバ３１２において行われる検索処理のフローチャートである。
【０１１４】
ステップＳ２６０００で、クライアント３０８からの検索要求を受信待機し、検索要求を取得する。
【０１１５】
次にステップＳ２６０１０で、検索要求からシナリオスクリプト＜ｓｃｅｎａｉｒｏ：ｓｃｒｉｐｔ＞をひとつ取り出す。
【０１１６】
ステップＳ２６０２０で、取り出したシナリオスクリプトを検索サーバ上のシナリオスクリプト実行部３１１に入力し、シナリオスクリプトを実行する。シナリオスクリプト実行部３１１は入力されたシナリオスクリプトの＜ｓｃｅｎａｉｒｏ：ｊｏｉｎＣｏｎｄ＞要素によって示される検索エンジン処理結果の扱いに準じながら、＜ｓｃｅｎａｉｒｏ：ｓｅａｒｃｈＦｕｎｃ＞要素、＜ｓｃｅｎａｉｒｏ：ｓｅｒｖｅｒ＞要素、＜ｓｃｅｎａｉｒｏ：ｑｕｅｒｙ＞要素、＜ｓｃｅｎａｉｒｏ：ｓｅａｒｃｈＴａｇ＞要素、＜ｓｃｅｎａｉｒｏ：ｑｕｅｒｙＥｘｐａｎｔｉｏｎ＞要素および＜ｓｃｅｎａｉｒｏ：ｐａｒａｍｅｔｅｒ＞要素に設定されたクエリの値を順次、検索エンジン３０９乃至３１０を適宜に呼び出してシナリオスクリプトに記述された処理を行い、＜ｓｃｅｎａｉｒｏ：ｏｕｔｐｕｔＲｅｓｕｌｔ＞要素に指定された出力書式に従って、結果を出力する。
【０１１７】
次にステップＳ２６０３０において、ステップＳ２６０２０で出力された検索結果を検索結果要求に設定する。次にステップＳ２６０４０で、検索要求記述中のすべてのシナリオスクリプトを実行したか否かを判定し、未実行のシナリオスクリプトがあればステップＳ２６０１０へループし、すべてのシナリオスクリプトを実行したならば、ステップＳ２６０５０へ進む。
【０１１８】
次にステップＳ２６０５０で、検索要求記述に追記された検索処理結果をクライアント３０８に送信して検索処理を終了する。
【０１１９】
図２２は、情報処理装置の外部記憶装置２０７に記憶されるＩＰアドレス学習データの記憶領域を示す説明図である。図２２において図示されるＩＰアドレス学習データは、検索サーバ管理部３０１のシナリオスクリプト実行部３０３による検索実行時に使用及び更新される情報である。ＩＰアドレス学習データは、図１８に図示する検索結果表示画面の取得ボタン部１８００４が指示された場合に、当該検索結果コンテンツデータを検索した検索サーバのＩＰアドレスを学習する情報である。
【０１２０】
ＩＰアドレス学習データの構成を示す。コンテンツデータを検索した検索機能を格納する検索機能２２０００。検索サーバのＩＰアドレスを格納するＩＰアドレス２２００１。前記ＩＰアドレスで示される検索サーバの検索結果からコンテンツデータを取得した回数を記憶する参照回数２２００２。ＩＰアドレス学習データは、図１６に図示する検索サーバ設定画面のＩＰアドレス表示部１６００１の既定の表示順を決める際に使用する。ＩＰアドレス表示部１６００１は、ＩＰアドレス学習データの参照回数２２００２が多い順にソートして表示する。
【０１２１】
＜実施形態２＞
また、本発明の目的は、以下のようにすることによって達成されることはいうまでもない。即ち、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体（または記憶媒体）を、システムあるいは装置に供給する。そして、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に格納されたプログラムコードを読み出し実行する。この場合、記録媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記録した記録媒体は本発明を構成することになる。
【０１２２】
また、コンピュータが読み出したプログラムコードを実行することにより、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（ＯＳ）などが実際の処理の一部または全部を行う。その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１２３】
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれたとする。その後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１２４】
本発明を上記記録媒体に適用する場合、その記録媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。
【図面の簡単な説明】
【０１２５】
【図１】本実施形態のネットワークシステム構成図を示す図である。
【図２】本実施形態の装置構成図を示す図である。
【図３】本実施形態の装置機能構成図を示す図である。
【図４】本実施形態のシナリオウイザードの動作を示すフローチャートである。
【図５】本実施形態のクライアント側の検索の動作を示すフローチャートである。
【図６】本実施形態のシナリオウイザードのユーザ認証を示す図である。
【図７】本実施形態のシナリオウイザードの初期メニューを示す図である。
【図８】本実施形態のシナリオウイザードのシナリオ選択を示す図である。
【図９】本実施形態のシナリオウイザードのメイン設定を示す図である。
【図１０】本実施形態のシナリオウイザードの詳細設定を示す図である。
【図１１】本実施形態のシナリオウイザードの代替シナリオ設定を示す図である。
【図１２】本実施形態のシナリオウイザードのシナリオ実行権設定を示す図である。
【図１３】本実施形態のシナリオウイザードのシナリオ保存を示す図である。
【図１４】本実施形態の検索時のユーザ認証を示す図である。
【図１５】本実施形態の検索シナリオ指定を示す図である。
【図１６】本実施形態の検索サーバ指定を示す図である。
【図１７】本実施形態の検索クエリ設定を示す図である。
【図１８】本実施形態の検索結果表示を示す図である。
【図１９】本実施形態の検索サーバ管理情報を示す図である。
【図２０】本実施形態の代替シナリオ管理部を示す図である。
【図２１】本発明の実施例のシナリオ参照回数を示す図である。
【図２２】本実施形態の検索サーバのＩＰアドレス学習データの記憶領域を示す図である。
【図２３】本実施形態のシナリオ記述形式を示す図である。
【図２４】本実施形態の検索要求記述形式を示す図である。
【図２５】本実施形態のシナリオウイザード優先度設定を示す図である。
【図２６】本実施形態のサーバ側の検索の動作を示すフローチャートである。
【図２７】本実施形態のシナリオ実行可否判定の動作を示すフローチャートである。
【図２８】本実施形態のシナリオウイザードで作成したシナリオの動作テストの処理を示すフローチャートである。
【符号の説明】
【０１２６】
１０１  情報処理装置
１０２  ネットワーク
２０１  ＣＰＵ
２０２  ＲＯＭ
２０３  ＲＡＭ
２０４  入力装置
２０５  表示装置
２０６  表示コントローラ
２０７  外部記憶装置
２０８  通信装置
３０１  検索サーバ管理部
３０２  代替シナリオ管理部
３０３  シナリオスクリプト実行部
３０４  シナリオスクリプト作成部
３０５  シナリオスクリプトファイル
３０６  ＩＰアドレス学習データ
３０７  シナリオスクリプト学習データ
３０８  クライアント
３０９  検索エンジン
３１０  検索エンジン
３１１  シナリオスクリプト実行部
３１２  検索サーバ
３１３  検索サーバ情報通知部
【図１】
2008003990.tif 000003
【図２】
2008003990.tif 000004
【図３】
2008003990.tif 000005
【図４】
2008003990.tif 000006
【図５】
2008003990.tif 000007
【図６】
2008003990.tif 000008
【図７】
2008003990.tif 000009
【図８】
2008003990.tif 000010
【図９】
2008003990.tif 000011
【図１０】
2008003990.tif 000012
【図１１】
2008003990.tif 000013
【図１２】
2008003990.tif 000014
【図１３】
2008003990.tif 000015
【図１４】
2008003990.tif 000016
【図１５】
2008003990.tif 000017
【図１６】
2008003990.tif 000018
【図１７】
2008003990.tif 000019
【図１８】
2008003990.tif 000020
【図１９】
2008003990.tif 000021
【図２０】
2008003990.tif 000022
【図２１】
2008003990.tif 000023
【図２２】
2008003990.tif 000024
【図２３】
2008003990.tif 000025
【図２４】
2008003990.tif 000026
【図２５】
2008003990.tif 000027
【図２６】
2008003990.tif 000028
【図２７】
2008003990.tif 000029
【図２８】
2008003990.tif 000030