(57)【要約】【課題】検索を行うシステムに過負荷をかけずに、大量のデータに対して効果的な検索処理を行う事を目的とする。【解決手段】検索処理の対象となる検索範囲全体の一部を分割検索範囲として指定し、指定された分割検索範囲に対する検索処理に要した時間を検索処理時間として計測し、計測した検索処理時間と、検索範囲全体に対する検索処理を継続することができる残り時間とに応じて、次に検索処理を実行する新たな分割検索範囲が有するデータ数を動的に変更する。【選択図】        図５
2010224699.tif 000002
【特許請求の範囲】
【請求項１】
記憶装置に記憶された情報に対して検索を要求する検索要求を受信する検索要求受信手順と、
前記検索要求受信手順によって受信された前記検索要求の検索対象となる全データ数のうち、指定されたデータ数で定まる範囲に対して検索処理を順次実行する検索手順と、
前記検索手順によって前記指定されたデータ数に対して検索処理が実行された場合に、当該検索処理に要した時間を検索処理時間として取得する検索処理時間取得手順と、
前記検索処理時間取得手順によって取得された前記検索処理時間と前記検索処理を継続することができる残り時間とに応じて、次回検索を行うデータ数を指定する検索範囲指定手順と、
前記検索手順によって順次実行された検索処理の結果をクライアントに応答する応答手順と、
をコンピュータに実行させることを特徴とする検索プログラム。
【請求項２】
前記検索範囲指定手順は、前記検索処理時間取得手順によって取得された前記検索処理時間が前記検索処理を継続できる残り時間よりも短い場合には、前記検索手順が次回検索を行うデータ数を前回検索したデータ数よりも多く指定することを特徴とする請求項１に記載の検索プログラム。
【請求項３】
前記検索範囲指定手順は、前記検索処理時間取得手順によって取得された前記検索処理時間に対して前記検索処理を続行できる残り時間が二倍以上残っている場合には、前記次回検索を行うデータ数を前回検索を行ったデータ数の二倍にして指定することを特徴とする請求項２に記載の検索プログラム。
【請求項４】
記憶装置に記憶された情報に対して検索を要求する検索要求を受信する検索要求受信部と、
前記検索要求受信部によって受信された前記検索要求の検索対象となる全データ数のうち、指定されたデータ数で定まる範囲に対して検索処理を順次実行する検索部と、
前記検索部によって前記指定されたデータ数に対して検索処理が実行された場合に、当該検索処理に要した時間を検索処理時間として取得する検索処理時間取得部と、
前記検索処理時間取得部によって取得された前記検索処理時間と前記検索処理を継続することができる残り時間とに応じて、次回検索を行うデータ数を指定する検索範囲指定部と、
前記検索部によって順次実行された検索処理の結果をクライアントに応答する応答部と、
を備えることを特徴とする検索サーバ。
【請求項５】
前記検索範囲指定部は、前記検索処理時間取得部によって取得された前記検索処理時間が前記検索処理を継続できる残り時間よりも短い場合には、前記検索部が次回検索を行うデータ数を前回検索したデータ数よりも多く指定することを特徴とする請求項４に記載の検索サーバ。
【請求項６】
前記検索範囲指定部は、前記検索処理時間取得部によって取得された前記検索処理時間に対して前記検索処理を続行できる残り時間が二倍以上残っている場合には、前記次回検索を行うデータ数を前回検索を行ったデータ数の二倍にして指定することを特徴とする請求項５に記載の検索サーバ。
【請求項７】
記憶装置に記憶された情報に対して検索を要求する検索要求を受信する検索要求受信ステップと、
前記検索要求受信ステップによって受信された前記検索要求の検索対象となる全データ数のうち、指定されたデータ数で定まる範囲に対して検索処理を順次実行する検索ステップと、
前記検索ステップによって前記指定されたデータ数に対して検索処理が実行された場合に、当該検索処理に要した時間を検索処理時間として取得する検索処理時間取得ステップと、
前記検索処理時間取得ステップによって取得された前記検索処理時間と前記検索処理を継続することができる残り時間とに応じて、次回検索を行うデータ数を指定する検索範囲指定ステップと、
前記検索ステップによって順次実行された検索処理の結果をクライアントに応答する応答ステップと、
を含むことを特徴とする検索方法。
【請求項８】
前記検索範囲指定ステップは、前記検索処理時間取得ステップによって取得された前記検索処理時間が前記検索処理を継続できる残り時間よりも短い場合には、前記検索ステップが次回検索を行うデータ数を前回検索したデータ数よりも多く指定することを特徴とする請求項７に記載の検索方法。
【請求項９】
前記検索範囲指定ステップは、前記検索処理時間取得ステップによって取得された前記検索処理時間に対して前記検索処理を続行できる残り時間が二倍以上残っている場合には、前記次回検索を行うデータ数を前回検索を行ったデータ数の二倍にして指定することを特徴とする請求項８に記載の検索方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、検索プログラム、検索サーバおよび検索方法に関する。
【背景技術】
【０００２】
近年、各データを関連付けて保存するＲＤＢＭＳ（Ｒｅｌａｔｉｏｎａｌ  ＤａｔａＢａｓｅ  Ｍａｎａｇｅｍｅｎｔ  Ｓｙｓｔｅｍ）を利用して、大量の情報を管理する技術が知られている。具体的には、ＲＤＢＭＳは、データを記憶するデータベースと、データベースに対して各種処理を行うサーバと、サーバに対して各種処理の要求を送信するクライアントとを有する。このような構成のもと、ＲＤＢＭＳでは、一件のデータを複数項目の情報の集合としてデータベースに記憶しており、データの検索や抽出を容易に行う。
【０００３】
例えば、ＲＤＢＭＳにおいて、クライアントは、データベースの中からデータを検索する場合には、サーバに対して検索の要求を「問い合わせ言語」形式で送信する。そして、クライアントから検索の要求を受信したサーバは、受信された要求と合致するデータをデータベースから検索し、検索されたデータをクライアントに送信する。
【０００４】
検索処理を実行する検索サーバは、検索処理の対象となるデータ量が多い場合には、図９に示すように検索処理に長時間を要するため、検索サーバが長時間の無応答状態になってしまう場合があった。また、クライアントは、検索処理を途中で中断した場合には、検索処理がトランザクション処理であるため、検索結果を取得することができなかった。ここで、図９は、従来技術を説明するための図である。
【０００５】
ここで、検索処理実行中に、所定の時間が経過した場合には、検索を続行するかどうかクライアントに問い合わせる技術が知られている（例えば、特許文献１参照）。また、一時的に使用不可能なサーバ（例えば、メンテナンス中のサーバ）を除いて検索する技術が知られている（例えば、特許文献２参照）。
【０００６】
また、複数のデータベースとサーバの能力に応じて、一回の検索処理がほぼ同じ時間で終了するように、一度に検索処理を行う範囲をデータベースごとに等分割する技術が知られている（例えば、特許文献３参照）。具体的には、サーバは、各データベースが有するデータ量と、各データベースの相対的な処理能力とをあらかじめ取得し、データ分布表として記憶する。さらに、サーバは、記憶された各データベースが有するデータ量と、相対的な処理能力とに応じた大きさに各データベースを等分割し、分割された範囲に対して順次検索処理を行う。例えば、あるデータベースＹの処理能力がデータベースＸの処理能力の二倍である場合には、サーバは、データベースＹの分割された各検索範囲がデータベースＸの分割された検索範囲の二倍の広さになるように等分割する。そして、サーバは、分割された範囲に対して順次検索処理を行う。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開平４−２７９９７２号公報
【特許文献２】特開平１１−１４９４７８号公報
【特許文献３】特開２００５−１１５５１４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
ところで、大量のデータに対して検索処理を一度に実行した場合には、システムが過負荷状態となるため検索処理を行うサーバが長時間の無応答状態になってしまうなど、検索処理自体がシステム全体に悪影響を及ぼすという問題があった。しかし、上記した問い合わせを行う技術では、大量のデータに対して検索処理を一度に実行した場合には、クライアントに問い合わせを行うものの、システムの過負荷状態を回避できない。また、上記した一時的に使用不可能なサーバを回避する技術も同様に、大量のデータに対して検索処理を一度に実行した場合には、使用可能なサーバの過負荷状態を回避できない。
【０００９】
また、上記した検索範囲を分割する技術では、事前に作成されたデータ分布表に基づいて検索範囲を等分割し、分割された範囲に対して順次検索処理を行っている。しかし、各データベースの処理能力が状況に応じて変動しているので、サーバは、各データベースの現在の処理能力を反映させることができない。結果として、上記した検索範囲を分割する技術では、検索処理を行った時点の各データベースの処理能力が変動している場合には、システムを過負荷状態にしてしまうという問題があった。
【００１０】
そこで、この発明は、上記した従来技術の課題を解決するためになされたものであり、システムに過負荷をかけず大量のデータに対して効果的な検索処理を行う事を可能とする検索プログラム、検索サーバおよび検索方法を提供することを目的とする。
【課題を解決するための手段】
【００１１】
本願の開示する技術は、一つの様態によれば、分割された検索範囲に対して順に検索処理を実行し、当該検索処理が要した時間と、検索を継続することができる残り時間とに応じて、次に検索処理を行う範囲の広さを動的に変更する。
【発明の効果】
【００１２】
本願の開示する技術は、一つの様態によれば、サーバの状態をリアルタイムに反映した分割を行うことを可能とし、さらに、クライアントが設定する時間内で、効果的に検索範囲を分割した検索を行う事が可能である。
【図面の簡単な説明】
【００１３】
【図１】図１は、実施例１に係る検索処理依頼の流れを説明する図である。
【図２−１】図２−１は、実施例１に係る検索サーバを表すブロック図である。
【図２−２】図２−２は、実施例１に係る検索範囲変更部が処理を実行するために使用する情報を説明するための図（１）である。
【図２−３】図２−３は、実施例１に係る検索範囲変更部が処理を実行するために使用する情報を説明するための図（２）である。
【図３】図３は、実施例１に係る検索方法を説明する図（１）である。
【図４】図４は、実施例１に係る検索方法を説明する図（２）である。
【図５】図５は、実施例１に係る検索範囲変更処理を説明するための図である。
【図６−１】図６−１は、実施例１に係る検索処理を説明するフローチャートである。
【図６−２】図６−２は、実施例１に係る検索範囲の見直し処理を詳しく説明するフローチャートである。
【図７】図７は、実施例１に係る検索方法を説明するための図である。
【図８】図８は、検索調整プログラムを実行するコンピュータの図である。
【図９】図９は、従来技術を説明するための図である。
【発明を実施するための形態】
【００１４】
以下に添付図面を参照してこの発明に係る検索プログラム、検索サーバおよび検索方法の実施例を詳細に説明する。
【実施例１】
【００１５】
以下の実施例では、検索サーバの構成および処理の流れを順に説明する。
【００１６】
まず最初に、図１を用いて検索サーバが行う検索処理の流れについて説明する。図１は、実施例１に係る検索処理依頼の全体の流れを説明する図である。クライアントは、検索サーバに対してＳＱＬによる検索の要求を送信する。検索サーバは、クライアントから送信されたＳＱＬを解析し、クライアントからの検索要求を変換する。すなわち、検索処理を行う範囲を動的に分割する。そして、サーバは、分割された検索を行う範囲に対して、順次検索処理を実行し、結果をクライアントに送信する。
【００１７】
次に、実施例１に係る検索サーバの構成について図２−１を用いて説明する。図２−１は、実施例１に係る検索サーバを表すブロック図である。検索サーバ１０は、検索範囲変更部１１と、検索部１６とを有し、データベース１７に接続されている。また、検索範囲変更部１１は、応答部１２と検索要求受信部１３と、検索処理時間取得部１４と、検索範囲指定部１５とを有している。
【００１８】
データベース１７は、検索対象である情報を記憶している。具体的には、データベース１７は、検索対象である情報と、情報の属性を示すインデックスとを関連付けて記憶している。例えば、インデックスは、図３に示した「引き出し金」と「預かり金」と「処理時間」と「口座番号」と「取引窓口」とを対応付けて記憶している。図３は、実施例１に係る検索方法を説明する図（１）である。
【００１９】
次に図２−２および図２−３を用いて、検索範囲変更部１１が各種処理を実行するために使用する情報を説明する。図２−２は、実施例１に係る検索範囲変更部が処理を実行するために使用する情報を説明するための図（１）である。図２−３は、実施例１に係る検索範囲変更部が処理を実行するために使用する情報を説明するための図（２）である。
【００２０】
検索範囲変更部１１は、制御パラメタとして、検索範囲初期値と許容処理時間と最大応答件数とを記憶し、内部制御情報として、制御開始時刻と前回ＳＱＬ以来時刻と前回ＳＱＬ検索範囲と検索対象取得済件数とを記憶する。また、検索範囲変更部１１は、検索結果格納用バッファを有し、検索処理の結果として得られたデータを記憶する。
【００２１】
検索範囲初期値とは、検索部１６が一番最初に検索を行う範囲に含まれるデータの件数を表す値である。例えば、図２−３の例では、検索範囲初期値が１００００であるので、検索範囲変更部１１は、検索部１６に対して１００００件のデータ件数を有する検索範囲を一番最初に指定する。
【００２２】
許容処理時間とは、クライアント１が送信した検索要求を検索サーバ１０が受信してから、クライアント１に対して検索処理の結果を検索サーバ１０が送信するまでに許容される時間のことをいう。すなわち、検索サーバ１０が、検索処理を継続することができる時間を示す。例えば、図２−３に示した場合には、検索サーバ１０は、検索処理を最大で３０秒間継続することができる。
【００２３】
また、最大応答件数とは、検索範囲変更部１１がクライアント１に送信する検索結果の最大数である。すなわち、検索範囲変更部１１は、クライアント１から受信した検索要求に合致する検索結果が最大応答件数の値を超過した場合には、その後の検索処理をせず、結果をクライアント１に送信する。例えば、図２−３に示した場合には、検索範囲変更部１１は、検索要求と合致する検索結果を１００件取得した時点で、検索処理を終了し、クライアント１に検索結果を送信する。
【００２４】
処理開始時刻とは、検索範囲変更部１１がクライアント１から検索要求を受信した時間のことをいう。すなわち、検索範囲変更部１１は、処理開始時刻から許容処理時間が経過するまでの間、検索部１６に検索処理を続行させることができる。例えば、図２−３に示した場合には、検索範囲変更部１１は、１０時２４分２７．１０１秒まで検索処理を検索部１６に継続させることができる。
【００２５】
前回ＳＱＬ依頼時刻とは、検索範囲変更部１１が前回指定した検索範囲について検索部１６に検索処理を開始させた時刻である。すなわち、検索範囲変更部１１は、前回ＳＱＬ依頼時刻と、検索部１６が指定された範囲について検索処理を終了した時刻とを用いて、検索部１６が検索処理に要した時間を計算する。例えば、図２−３に示した場合には、検索部１６は、１０時２３分５７．２９５秒の時点より検索処理を開始している。
【００２６】
前回ＳＱＬ検索範囲とは、検索範囲変更部１１が検索部１６に検索処理を実行させる範囲として前回指定した検索範囲を表す値である。すなわち、検索範囲変更部１１は、前回ＳＱＬ検索範囲を用いて、検索部１６に前回検索させた範囲と当該検索させた範囲に含まれるデータの件数とを得ることができる。例えば、図２−３に示した例では、検索範囲変更部１１は、１０００１番〜３００００番の番号を有する範囲を前回指定し、前回指定したデータの件数が２００００件であったと計算することができる。
【００２７】
検索対象取得済件数とは、検索部１６が検索処理を行った結果、クライアント１から受信した検索要求に合致する情報を何件取得したかを表す値である。例えば、図２−３に示した場合には、検索サーバ１０は、まだ検索要求に合致する情報を取得していない。また、検索対象取得済件数が、最大応答件数よりも多くなった時点で、検索範囲変更部１１は、検索部１６が新たに検索を行う検索範囲を指定せず、検索処理の結果をクライアント１に送信する。
【００２８】
検索結果格納用バッファとは、検索要求と合致する情報を一時的に記憶する領域である。検索範囲変更部１１は、許容処理時間が経過した場合、もしくは最大応答件数よりも検索処理の結果が多くなった場合、もしくはデータベース１７の全範囲を検索した場合には、一時的に記憶した検索処理の結果をクライアントに送信する。
【００２９】
次に、検索サーバ１０を構成する各部を説明する。クライアント１は、検索要求を検索サーバ１０に対し送信し、検索結果を受信する。クライアント１は、通常の様態において複数存在し、各自が検索サーバ１０に対して検索要求の送信し、また、検索処理の結果を受信している。
【００３０】
応答部１２は、検索部１６が検索処理を実行した結果をクライアントに送信する。具体的には、応答部１２は、検索部１６が検索範囲指定部１５によって指定されたデータベース１７の一部に対して検索処理を行った結果、クライアント１から受信した検索要求に合致する情報を検索部１６から受信して、一時的に記憶する。また、応答部１２は、検索部１６から受信した情報の件数を検索対象取得済件数として記憶する。また、応答部１２は、検索処理がすべて終了した時点で、一時的に記憶した検索結果をクライアントに送信する。
【００３１】
検索要求受信部１３は、クライアント１が送信した検索要求を受信する。具体的には、検索要求受信部１３は、クライアント１と検索範囲指定部１５とに接続されており、クライアント１が送信したＳＱＬを受信し、受信したＳＱＬを検索範囲指定部１５へ送信する。
【００３２】
検索処理時間取得部１４は、検索部１６が検索処理を実行するために要した時間を取得し、取得した時間を検索処理時間とする。具体的には、検索処理時間取得部１４は、前回ＳＱＬ依頼時刻と検索部１６が指定された範囲に対する検索処理を終了した時刻との差を検索処理時間とする。検索処理時間取得部１４は、検索部１６がデータベース１７の一部に対して検索処理を実行するたびに、検索処理時間を計算する。
【００３３】
検索範囲指定部１５は、検索処理時間取得部１４が取得した検索処理時間と検索処理を継続することができる残り時間とに応じて、検索部１６が次回検索を行うデータ数を指定する。具体的には、検索範囲指定部１５は、検索処理時間取得部１４から検索処理時間を受信し、許容処理時間と処理処理開始時刻と現在時刻とから検索処理を継続することができる時間を計算する。そして、検索範囲指定部１５は、検索処理時間と検索処理を続行することができる時間に応じて、次回検索部１６が検索処理を行うデータ数を計算し、計算したデータ数を有する検索範囲を指定する。
【００３４】
また、検索範囲指定部１５は、一番最初に検索範囲１６が検索処理を行うデータ数として、検索範囲初期値を用いる。例えば、図２−３に例示した場合には、検索範囲指定部１５は、検索範囲初期値である１００００件を用いて、検索部１６が最初に検索を行う範囲を指定する。
【００３５】
以下、実施例１に係る検索範囲指定部１５が、データ数および検索範囲を計算し、指定する方法について説明する。実施例１に係る検索範囲指定部１５は、検索処理時間が検索処理を継続できる残り時間よりも短い場合には、検索部１６が次回検索する範囲のデータ数を前回検索した範囲のデータ数よりも多く指定する。具体的には、検索処理を継続できる残り時間が検索処理時間の二倍以上残っている場合には、検索範囲指定部１５は、次回検索処理を行う範囲のデータ数として、前回指定したデータ数の二倍のデータ数を有する検索範囲を指定する。
【００３６】
さらに、検索処理を継続できる残り時間が検索処理時間の二倍未満一倍以上残っている場合には、検索範囲指定部１５は、次回検索処理を行う範囲のデータ数として、前回指定したデータ数の二倍のデータ数を有する検索範囲を指定する。また、検索処理を継続できる残り時間が検索処理時間の一倍未満しかない場合には、検索範囲指定部１５は、次回検索処理を行う範囲のデータ数として、検索範囲初期値と同じ数のデータ数を指定する。
【００３７】
以下、検索範囲指定部１５が行う処理を例を用いて具体的に説明する。検索範囲指定部１５は、前回ＳＱＬ検索範囲を用いて前回指定したデータ数を計算する。例えば、図２−３に示した場合には、前回指定したデータ数が２００００件である。検索範囲指定部１５は、検索処理を継続できる残り時間が検索処理時間の二倍以上残っている場合には、次回検索を行うデータ数を４００００件とし、次回検索を行う範囲を「３０００１〜７００００」と指定する。
【００３８】
また、検索範囲指定部１５は、検索処理を継続できる残り時間が検索処理時間の二倍未満一倍以上残っている場合には、次回検索を行うデータ数を２００００件とし、次回検索を行う範囲を「３０００１〜５００００」とする。また、検索範囲指定部１５は、検索処理を継続できる残り時間が検索処理時間の一倍未満しか残っていない場合には、次回検索を行うデータ数を検索範囲初期値である１００００件とし、次回検索を行う範囲を「３０００１〜４００００」と指定する。
【００３９】
また、検索範囲指定部１５は、検索する範囲として単純にデータベース１７全体を分割して順次指定していくのではなく、検索を行う範囲をさらに狭めてから分割した範囲を指定する。例えば、図３に示す情報がデータベース１７に記憶されており、検索要求が「口座番号３４１５２２００８に合致する情報」となっていた場合には、検索範囲指定部１０は、インデックスとして「口座番号」が付されている情報の範囲のみを指定する。
【００４０】
そして、検索範囲指定部１５は、インデックス「口座番号」が付された情報を分割して指定する。具体的には、検索範囲指定部１５は、インデックス「口座番号」が付された全ての情報を一度に検索処理を実行する対象とするのではなく、区切られた範囲を一度に検索処理を実行する対象とする。例えば、図４に例示したように、検索範囲指定部１５は、インデックス「口座番号」を有する情報すべてを指定するのではなく、インデックス「口座番号」を有する情報を区切って指定する。図４は、実施例１に係る検索方法を説明する図（２）である。
【００４１】
また、検索範囲指定部１５は、一度に指定する範囲を同じ大きさの範囲とするのではなく、前回の検索処理が要した時間と、検索処理を継続することができる残り時間とから、次回検索処理を実行する範囲のデータ数を動的に変更し、検索する範囲を指定する。例えば、図４に示した場合には、検索範囲指定部１５は、順に「１〜１００００」、「１０００１〜３００００」「３０００１〜７００００」までの範囲を指定する。
【００４２】
検索部１６は、検索範囲指定部１５が指定したデータ数を有する範囲に対して検索処理を順次実行する。具体的には、検索部１６は、検索範囲指定部１５が指定した検索範囲に対して検索処理を行い、検索要求に合致する情報を取得し、応答部に送信する。また、検索範囲指定部１５は、検索部１６が検索処理を行った結果を用いて、検索部１６が次回検索処理を行う範囲を指定する。そのため、検索部１６は、検索範囲指定部１５が指定する検索範囲に対して順次検索処理を実行する。
【００４３】
次に、検索サーバ１０が、データベース１７に対する検索処理の流れを図５を用いて具体的に説明する。ここで、図５は、実施例１に係る検索範囲変更処理を説明するための図である。図５に示した場合には、許容処理時間が「２．０」秒であり、検索範囲初期値に「１００００」件が設定されている。また、検索処理を継続することができる残り時間を「応答猶予時間」として示している。
【００４４】
まず、検索サーバ１０は、受信したＳＱＬからインデックスを参照し、データベース１７が格納しているデータから検索処理を実行する範囲を絞り込む。さらに、検索範囲指定部１５は、検索範囲初期値に基づいて、データ番号「１〜１００００」を一回目の検索範囲として指定する。
【００４５】
検索サーバ１０が指定した範囲について一回目の検索を行った結果、データ番号「１〜１００００」の範囲に対する検索処理に０．１秒を要したので、応答猶予時間は、１．９秒となる。すると、応答猶予時間が検索処理時間の二倍以上残っているので、検索範囲指定部１５は、二回目の検索範囲として、一回目の検索処理を実行したデータ数の二倍のデータ数を有する範囲であるデータ番号「１０００１〜３００００」の範囲を指定する。
【００４６】
次に、検索サーバ１０は、二回目の検索を実行する。二回目の検索では、データ番号「１０００１〜３００００」の範囲に対する検索処理に０．４秒を要したので、応答猶予時間は、１．５秒となる。すると、応答猶予時間が検索処理時間の二倍以上残っているので、検索範囲指定部１５は、三回目の検索範囲として、二回目の検索処理を実行したデータ数の二倍のデータ数を有する範囲であるデータ番号「３０００１〜７００００」の範囲を指定する。
【００４７】
次に、検索サーバ１０は、三回目の検索を実行する。三回目の検索では、データ番号「３０００１〜７００００」の範囲に対する検索処理に１．１秒を要したので、応答猶予時間は、０．４秒となる。応答猶予時間が検索処理時間の一倍未満しか残っていないので、検索範囲指定部１５は、四回目の検索範囲として、検索範囲初期値と同じデータ数を有する範囲であるデータ番号「７０００１〜８００００」の範囲を指定する。
【００４８】
次に、検索サーバ１０は、四回目の検索を実行する。四回目の検索では、データ番号「７０００１〜８００００」の範囲に対する検索処理に０．１秒を要したので、応答猶予時間は、０．３秒となる。すると、応答猶予時間が検索処理時間の二倍以上残っているので、検索範囲指定部１５は、五回目の検索範囲として、四回目の検索処理を実行したデータ数の二倍のデータ数を有する範囲であるデータ番号「８０００１〜１０００００」を指定する。
【００４９】
次に、検索サーバ１０は、五回目の検索を実行する。五回目の検索では、データ番号「８０００１〜１０００００」の範囲に対する検索処理に０．２秒を要したので、応答猶予時間は、０．１秒となる。すると、応答猶予時間が検索処理時間の一倍未満しか残っていないので、検索範囲指定部１５は、六回目の検索範囲として、検索範囲初期値と同じデータ数を有する範囲であるデータ番号「１００００１〜１１００００」の範囲を指定する。
【００５０】
次に、検索サーバ１０は、六回目の検索処理に０．１秒を要した。すると、応答猶予時間は０秒となるので、検索範囲指定部１５は、検索部１３に新たな検索範囲の指定を行わず、検索処理を終了させる。
【００５１】
なお、検索部１６は、検索要求に合致する情報を各検索処理において取得し、当該取得した情報を応答部１２に送信する。応答部１２は、検索部１６から受信した情報を検索結果格納用バッファに記憶する。また、応答部１２は、検索処理が終了した場合には、クライアント１に検索結果格納用バッファに記憶した情報を送信する。ここで、検索処理は、データベース１７全体に対して検索処理が終了した場合、応答猶予時間が０になった場合もしくは検索対象取得済件数が最大応答件数よりも多くなった場合に終了する。
【００５２】
ここで、応答猶予時間が「０秒」になったが、検索対象全体に対して検索処理が終了していない場合には、検索サーバ１０は、クライアントに対して検索の継続を行うかどうかの応答処理を行うようにしてもよい。
【００５３】
[検索サーバの処理]
次に、図６−１を用いて検索サーバ１０が行う検索処理の流れを説明する。図６−１は実施例１に係る検索処理を説明するフローチャートである。初めに、検索サーバ１０は、クライアント１の検索要求（ＳＱＬ）を受信したことをトリガとして、検索処理を開始する。
【００５４】
検索範囲変更部１１は、各制御パラメタと、内部制御情報と、検索結果格納用バッファとを初期値に設定する（ステップＳ１０１）。次に検索範囲指定部１５は、検索範囲初期値とクライアント１の検索要求とを用いて、一回目の検索を行う範囲を指定する（ステップＳ１０２）。具体的には、検索範囲指定部１５は、一回目の検索を行う範囲を指定したＳＱＬを作成する。
【００５５】
次に、検索部１６は、ステップＳ１０２で指定された範囲である分割検索範囲について検索を実行する（ステップＳ１０３）。また、検索処理時間取得部１４は、前回ＳＱＬ依頼時刻を更新する（ステップＳ１０３）。分割検索範囲に検索要求と合致する情報である検索対象がある場合には（ステップＳ１０４肯定）、応答部１２は、検索結果を検索結果格納用バッファに記憶し、検索対象取得済件数を計算して更新する（ステップＳ１０５）。
【００５６】
次に、検索対象取得件数が最大応答件数よりも多くなった場合には（ステップＳ１０６肯定）、応答部１２は、検索結果格納用バッファに記憶された情報をクライアント１に送信する（ステップＳ１１１）。その後、検索サーバ１０は、検索処理を終了する（ステップＳ１１２）。
【００５７】
ステップＳ１０４にて、分割検索範囲に検索要求と合致する検索対象が無かった場合には（ステップＳ１０４否定）、検索範囲指定部１５が検索処理時間を計算する（ステップＳ１０７）。また、ステップＳ１０６にて、検索対象取得件数が最大応答件数よりも少ない場合にも（ステップＳ１０６否定）同様に、検索範囲指定部１５が検索処理時間を計算する（ステップＳ１０７）。
【００５８】
次に、検索サーバ１０は、検索すべき全ての範囲に対して検索処理を行った場合には（ステップＳ１０８肯定）、クライアントに検索処理の結果を送信し（ステップＳ１１１）、検索処理を終了とする（ステップＳ１１２）。一方、検索すべき全ての範囲に対して検索処理を行っていない場合には（ステップＳ１０８否定）、検索範囲指定部１５は、許容処理時間が残っているかどうかを判断する（ステップＳ１０９）。
【００５９】
ステップＳ１０９にて、許容処理時間が残っていない場合には（ステップＳ１０９否定）、検索サーバ１０は、クライアント１に検索処理の結果を送信し（ステップＳ１１１）、検索処理を終了する（ステップＳ１１２）。一方、ステップＳ１０９にて、応答猶予時間が残っている場合には（ステップＳ１０９肯定）、検索範囲指定部１５は、検索部１６が次回検索処理を行う検索範囲を計算する処理を実行する（ステップＳ１１０）。その後、検索範囲指定部１５によって新たに指定された分割検索範囲について、検索部１６は検索処理を実行する（ステップＳ１０３）。
【００６０】
次に、図６−２を用いて、検索範囲指定部１５が実行する検索範囲の見直し処理について詳しく説明する。ここで、図６−２は、実施例１に係る検索範囲の見直し処理を詳しく説明するフローチャートである。
【００６１】
検索範囲指定部１５は、検索処理を継続する場合に（ステップＳ１０９肯定）、検索範囲の見直し処理を開始する。まず、検索範囲指定部１５は、応答猶予時間が検索処理時間の二倍以上残っているかどうかを判断する（ステップＳ２０１）。応答猶予時間が検索処理時間の二倍以上残っている場合には（ステップＳ２０１肯定）、検索範囲指定部１５は、前回指定した分割検索範囲が有するデータ件数の二倍のデータを有する範囲を、新たな分割検索範囲として指定する（ステップＳ２０２）。次に、検索範囲指定部１５は、新たな分割検索範囲を指定したＳＱＬを作成して（ステップＳ２０６）、検索処理の見直し処理を終了する。
【００６２】
一方、応答猶予時間が検索処理時間の二倍以上残っていない場合には（ステップＳ２０１否定）、検索範囲指定部１５は、応答猶予時間が検索処理時間の一倍以上二倍未満残っているかどうかを判断する（ステップＳ２０３）。応答猶予時間が検索処理時間の一倍以上二倍未満残っている場合には（ステップＳ２０３肯定）、検索範囲変更部１５は、前回指定した分割検索範囲が有するデータ件数と同じデータ件数を有する範囲を、新たな分割検索範囲として指定する（ステップＳ２０４）。その後、検索範囲指定部１５は、新たな分割検索範囲を指定したＳＱＬを作成して（ステップＳ２０６）、検索処理の見直し処理を終了する。
【００６３】
一方、応答猶予時間が検索処理時間の一倍未満しかない場合には（ステップＳ２０３否定）、検索範囲指定部１５は、検索範囲初期値と同じデータ件数を有する分割検索範囲を新たに指定する（ステップＳ２０５）。その後、検索範囲指定部１５は、新たな分割検索範囲を指定したＳＱＬを作成して（ステップＳ２０６）、検索処理の見直し処理を終了する。
【００６４】
[実施例１の効果]
上述してきたように、実施例１に係る検索サーバ１０は、検索を行う範囲を分割して検索処理を実行し、検索処理時間と、応答猶予時間とに応じて、次に検索を行うデータ数を変更していく。このため、検索サーバ１０は、検索を行う範囲を等分割して検索を行う場合と比較して、適切な検索処理を行う事ができる。
【００６５】
クライアント１は、検索サーバに対して検索要求を送信する場合は、検索サーバが検索すべき適切な範囲を予測して指定することは困難である。検索サーバと検索対象のデータベースとの処理能力は変化するため、同じデータ件数を有する範囲に対して検索処理を実行したとしても、同じ時間で終わるわけではないからである。また、検索するデータ件数を１０倍にした場合であっても、検索処理に要する時間が単純に１０倍となるわけではなく、一般的には、検索処理に要する時間が１０倍以上必要となる。
【００６６】
しかし、実施例１に係る検索サーバ１０の場合には、クライアントは、許容処理時間を設定するだけでよいという効果を奏する。実施例１に係る検索サーバ１０は、一定時間内で検索することができる効率的な検索範囲を検索するからである。
【００６７】
また、実施例１に係る検索サーバ１０は、一度に検索処理を実行する範囲を分割し、さらに検索する範囲の広さを動的に変更するので、システムに過負荷をかけずに検索処理を実行することができる。
【００６８】
図７を用いて具体的に説明する。図７は、実施例１に係る検索方法を説明する図である。許容処理時間３０秒、検索範囲は全体という検索処理要求を受信したサーバは、まず初期値として、データ番号１〜１００００までの範囲を検索する。さらに、応答猶予時間と、検索処理時間とに応じて検索範囲の大きさを随時変更していく。
【００６９】
実施例１に係る検索サーバ１０は、検索を行う範囲を指定する際に直前の検索処理時間を用いるので、応答猶予時間に余裕がある場合、もしくはサーバ資源に余裕があるため検索処理が要する時間が短い場合には、広い分割検索範囲を新たに指定し、検索する。また、応答猶予時間に余裕がない場合、もしくはサーバ資源に余裕がないため検索処理が要する時間が長い場合は、検索サーバ１０は、狭い分割検索範囲を新たに指定し、検索する。
【００７０】
すなわち、図７に示す様に、応答猶予時間に余裕がある場合もしくは検索処理が要する時間が短い場合は、検索サーバ１０は、新たな分割検索範囲を広くして検索を行う事ができるので、広い範囲について検索を実行することが可能である。そのため、検索サーバ１０は、データベースを同じ大きさの細かな範囲に分割して検索処理を実行するよりも、検索処理に共通する処理を繰り返し実行せず、より効率的な検索処理を実行することができる。
【００７１】
一方、応答猶予時間に余裕がない場合もしくは検索処理が要する時間が長い場合は、検索サーバ１０は、新たな分割検索範囲を狭めて検索を実行する。そのため、図７に示したように、検索処理を開始してから、定められた許容処理時間が経過してしまっても、検索結果の無駄は最小限に留めることが可能である。さらに、検索サーバ１０は、新たな分割検索範囲を狭くして検索を実行するので、検索処理時間も短くなり、許容処理時間の中で最大限の検索処理を継続することができる。
【００７２】
また、検索サーバ１０は、直前の検索時間に基づいて分割検索範囲の変更を行う。よって、検索サーバ１０は、検索処理に対して検索サーバおよびデータベースが有する処理能力をリアルタイムに反映することができる。
【００７３】
結果として、実施例１に係る検索サーバは、サーバとデータベースの状態をリアルタイムに反映した検索範囲の分割を行うので、システムに過負荷をかけず大量のデータに対して効果的な検索処理を行うことができる。
【実施例２】
【００７４】
これまで実施例について説明したが、実施例は上述した実施例以外にも様々な異なる形態にて実施されてよいものである。そこで、以下では実施例２として他の実施例を説明する。
【００７５】
（１）検索範囲変換部の計算
実施例１に係る検索範囲指定部では、応答猶予時間と検索処理時間とに応じて、新たに指定する分割検索範囲の大きさを変更していた。しかし、実施例はこれに限定されるものではなく、別の計算方法であってもよい。例えば、応答猶予時間が直前の検索時間の二倍以上ある場合には、新たに指定する分割検索範囲の大きさを前回指定した分割検索範囲の１．５倍もしくは三倍にしてもよい。また、分割検索範囲の大きさに上限を持たせてもよい。また、一回の検索処理時間が一定の時間を超過した場合には、当該検索処理時間を取得したときに指定されていた分割検索範囲が有するデータ件数を指定する上限としてもよい。
【００７６】
応答猶予時間と検索処理時間とに応じて、分割検索範囲が有するデータ数の変更を行う事ができれば、検索サーバは、適切な範囲に対して検索処理を実行することができるからである。
【００７７】
（２）検索時間の利用
実施例１に係る検索範囲指定部１５は新しく指定する分割検索範囲の大きさを、前回の検索処理時間と応答猶予時間とに応じて計算していた。しかし、実施例はこれに限定されるものではなく、別の計算方法であってもよい。例えば、前々回の検索処理時間と、前回の検索処理時間との和を考慮して計算してもよい。例えば、前々回の検索時間と前回の検索時間との和よりも、応答猶予時間が長い場合には、新たに指定する分割検索範囲の広さを、前回の分割検索範囲の広さと、前々回の分割検索範囲の広さとの和としてもよい。また、前回の検索処理時間と、前々回の検索処理時間との微分値を用いて、新たに指定する分割検索範囲を計算してもよい。
【００７８】
（３）実施形態について
実施例１に係る検索サーバは、クライアントが送信する検索要求を解析し、変更し、データベースの検索を行っていた。しかし、実施例はこれに限定されるものではなく、別の形態でも実施可能である。
【００７９】
例えば、データベースの検索を行う既存の検索サーバが存在する場合に、クライアントとサーバとの間に設置される検索要求調整装置、もしくは検索要求調整サーバとしても実施可能である。この場合には、検索要求調整装置、もしくは検索要求調整サーバは、検索部を必要とせず、クライアントから送信された検索要求を解析し、検索範囲の変更を行った検索要求を既存のサーバに送信する。
【００８０】
（４）データベースについて
実施例１に係る検索サーバは、データベースとそれに付随するインデックスを有していた。しかし、実施例はこれに限定されるものではなく、別の形態でも実施可能である。例えばインデックスを考慮せず、データベースが有するデータに対してそのまま分割を行い、検索処理を実行してもよい。
【００８１】
また、検索サーバが検索処理を行うデータベースの物理的数量は１に限られるわけではなく、例えば、ＲＡＩＤ（Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙｓ  ｏｆ  Ｉｎｅｘｐｅｎｓｉｖｅ  Ｄｉｓｋｓ）技術により構築された複数のＨＤ（Ｈａｒｄ  Ｄｉｓｋ）であってもよい。さらに、検索サーバはデータベースを有する必要はなく、例えば、ネットワークで接続された複数の記憶装置にアクセスする検索サーバであってもよい。
【００８２】
検索サーバは、複数の記憶装置から構成されるデータベースもしくは複数のデータベースから構成される記憶装置全体に対して適切な検索を行う事ができれば目的を達成できるからである。さらに、各記憶装置ごとに検索を行う場合であっても、直前に行った検索処理が要した時間に応じて、次の分割検索範囲を指定するので、記憶装置の処理能力に係らず、効率的な検索範囲の指定を行うことができる。
【００８３】
（５）初期値の設定について
実施例１に係る検索範囲変更部は、検索範囲初期値と最大応答件数と許容処理時間とを予め定められた数値として記憶し、検索範囲の変更に用いていた。しかし、実施例はこれに限定されるものではなく、別の形態でも実施可能である。
【００８４】
例えば、検索範囲変更部は、クライアントから要求された検索処理を行う前に、テスト用の検索処理を実行し、得られた検索時間から適切な検索範囲初期値を自動的に設定してもよい。
【００８５】
また、検索範囲変更部は、最大応答件数と許容処理時間と検索範囲初期値との設定をクライアントに求め、クライアントが設定した最大応答件数と許容処理時間と検索範囲初期値とを用いて、検索範囲の変更を行ってもよい。
【００８６】
（６）応答部の動作について
実施例１に係る応答部は、検索部が検索処理を実行した結果データベースから取得した情報を順次記憶し、全検索処理が終了してからクライアントに送信していた。しかし、実施例はこれに限定されるものではなく、別の形態でも実施可能である。例えば、応答部は、検索要求と合致する情報を検索部から取得し、取得した情報を、検索処理の全終了を待つことなくすぐに送信してもよい。すなわち、応答部は、全検索処理が終わるまでクライアントへ情報を送信しないのではなく、検索部が分割された各範囲に対して実行する各検索処理が終了し、検索部から情報を受信するたびにクライアントへ情報を送信してもよい。
【００８７】
（７）プログラム
ところで、実施例に係る検索範囲変換方法は、ハードウェアを利用して各種の処理を実現する場合を説明したが、本発明はこれに限定されるものではなく、あらかじめ用意されたプログラムをコンピュータで実行することによって実現するようにしてもよい。
【００８８】
そこで、以下では、図８を用いて実施例１に示した検索サーバと同様の機能を有するプログラムを実行するコンピュータの一例を説明する。なお、本実施例は実施例１に示した検索サーバ以外にも、検索サーバで実行される検索範囲変換プログラムとしても動作させることができる。
【００８９】
図８に例示されたコンピュータ１００は、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）１１０、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１５０、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１４０、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１３０をバス１７０で接続されている。さらにバス１７０には、クライアント１とデータベース１７と接続するための接続端子部分Ｉ／Ｏ（Ｉｎｐｕｔ／Ｏｕｔｐｕｔ）１６０が接続されている。ここで、図８は、検索調整プログラムを実行するコンピュータの図である。
【００９０】
ＲＯＭ１３０には、応答プログラム１３２、検索要求受信プログラム１３３、検索処理時間取得プログラム１３４、検索範囲指定プログラム１３５、検索プログラム１３６が記憶されている。ＣＰＵ１４０が各プログラム１３２〜１３６をＲＯＭ１３０から読み出して実行することによって、図８に示す様に、各プログラム１３２〜１３６は、応答プロセス１４２、検索要求受信プロセス１４３、検索処理時間取得プロセス１４４、検索範囲指定プロセス１４５、検索プロセス１４６として機能するようになる。なお、各プロセス１４２〜１４６は、実施例１に係る検索サーバを構成する各部１２〜１６と対応する。
【００９１】
ＲＡＭ１５０には、検索範囲初期値１５１、許容処理時間１５２、最大応答件数１５３、処理開始時刻１５４、前回ＳＱＬ依頼時刻１５５、前回ＳＱＬ検索範囲１５６、検索対象取得済件数１５７が記憶されている。またＲＡＭ１５０は、検索結果格納バッファ１５８を有している。
【００９２】
ＣＰＵ１４０に読み出されて実行された検索範囲指定プロセス１４５は、ＲＡＭ１５０に記憶された各パラメータ１５１〜１５７と、クライアントから受信した検索命令を用いて、検索範囲を指定した新たな検索命令を作成し、Ｉ／Ｏ１６０を通じてデータベース１７を検索する。
【００９３】
なお、各プログラム１３２〜１３６はＲＯＭ１３０に保持されている必要は無く、例えばＨＤＤ１１０に記憶されており、ＣＰＵ１４０によって展開され、各プロセス１４２〜１４６として機能するようにしてもよい。
【００９４】
また、コンピュータ１００が実行する検索プログラムは、検索プログラム１３６および検索プロセス１４６を有さない検索調整プログラムとしてもよい。すなわち、既存の検索サーバに付すコンピュータが実行する検索調整プログラムとしても実行可能である。
【００９５】
なお、本実施例で説明した検索範囲調整方法は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。このプログラムは、インターネットなどのネットワークを介して配布することができる。また、このプログラムは、ハードディスク、フレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ，ＭＯ、ＤＶＤなどのコンピュータで読取可能な記憶媒体に記憶され、コンピュータによって記憶媒体から読み出されることによって実行することもできる。
【００９６】
以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。
【００９７】
（付記１）記憶装置に記憶された情報に対して検索を要求する検索要求を受信する検索要求受信手順と、
前記検索要求受信手順によって受信された前記検索要求の検索対象となる全データ数のうち、指定されたデータ数で定まる範囲に対して検索処理を順次実行する検索手順と、
前記検索手順によって前記指定されたデータ数に対して検索処理が実行された場合に、当該検索処理に要した時間を検索処理時間として取得する検索処理時間取得手順と、
前記検索処理時間取得手順によって取得された前記検索処理時間と前記検索処理を継続することができる残り時間とに応じて、次回検索を行うデータ数を指定する検索範囲指定手順と、
前記検索手順によって順次実行された検索処理の結果をクライアントに応答する応答手順と、
をコンピュータに実行させることを特徴とする検索プログラム。
【００９８】
（付記２）前記検索範囲指定手順は、前記検索処理時間取得手順によって取得された前記検索処理時間が前記検索処理を継続できる残り時間よりも短い場合には、前記検索手順が次回検索を行うデータ数を前回検索したデータ数よりも多く指定することを特徴とする付記１に記載の検索プログラム。
【００９９】
（付記３）前記検索範囲指定手順は、前記検索処理時間取得手順によって取得された前記検索処理時間に対して前記検索処理を続行できる残り時間が二倍以上残っている場合には、前記次回検索を行うデータ数を前回検索を行ったデータ数の二倍にして指定することを特徴とする付記２に記載の検索プログラム。
【０１００】
（付記４）記憶装置に記憶された情報に対して検索を要求する検索要求を受信する検索要求受信部と、
前記検索要求受信部によって受信された前記検索要求の検索対象となる全データ数のうち、指定されたデータ数で定まる範囲に対して検索処理を順次実行する検索部と、
前記検索部によって前記指定されたデータ数に対して検索処理が実行された場合に、当該検索処理に要した時間を検索処理時間として取得する検索処理時間取得部と、
前記検索処理時間取得部によって取得された前記検索処理時間と前記検索処理を継続することができる残り時間とに応じて、次回検索を行うデータ数を指定する検索範囲指定部と、
前記検索部によって順次実行された検索処理の結果をクライアントに応答する応答部と、
を備えることを特徴とする検索サーバ。
【０１０１】
（付記５）前記検索範囲指定部は、前記検索処理時間取得部によって取得された前記検索処理時間が前記検索処理を継続できる残り時間よりも短い場合には、前記検索部が次回検索を行うデータ数を前回検索したデータ数よりも多く指定することを特徴とする付記４に記載の検索サーバ。
【０１０２】
（付記６）前記検索範囲指定部は、前記検索処理時間取得部によって取得された前記検索処理時間に対して前記検索処理を続行できる残り時間が二倍以上残っている場合には、前記次回検索を行うデータ数を前回検索を行ったデータ数の二倍にして指定することを特徴とする付記５に記載の検索サーバ。
【０１０３】
（付記７）記憶装置に記憶された情報に対して検索を要求する検索要求を受信する検索要求受信ステップと、
前記検索要求受信ステップによって受信された前記検索要求の検索対象となる全データ数のうち、指定されたデータ数で定まる範囲に対して検索処理を順次実行する検索ステップと、
前記検索ステップによって前記指定されたデータ数に対して検索処理が実行された場合に、当該検索処理に要した時間を検索処理時間として取得する検索処理時間取得ステップと、
前記検索処理時間取得ステップによって取得された前記検索処理時間と前記検索処理を継続することができる残り時間とに応じて、次回検索を行うデータ数を指定する検索範囲指定ステップと、
前記検索ステップによって順次実行された検索処理の結果をクライアントに応答する応答ステップと、
を含むことを特徴とする検索方法。
【０１０４】
（付記８）前記検索範囲指定ステップは、前記検索処理時間取得ステップによって取得された前記検索処理時間が前記検索処理を継続できる残り時間よりも短い場合には、前記検索ステップが次回検索を行うデータ数を前回検索したデータ数よりも多く指定することを特徴とする付記７に記載の検索方法。
【０１０５】
（付記９）前記検索範囲指定ステップは、前記検索処理時間取得ステップによって取得された前記検索処理時間に対して前記検索処理を続行できる残り時間が二倍以上残っている場合には、前記次回検索を行うデータ数を前回検索を行ったデータ数の二倍にして指定することを特徴とする付記８に記載の検索方法。
【符号の説明】
【０１０６】
１  クライアント
１０  検索サーバ
１１  検索範囲変更部
１２  応答部
１３  検索要求受信部
１４  検索処理時間取得部
１５  検索範囲指定部
１６  検索部
１７  データベース
１３２  応答プログラム
１３３  検索要求受信プログラム
１３４  検索処理時間取得プログラム
１３５  検索範囲指定プログラム
１３６  検索プログラム
１４２  応答プロセス
１４３  検索要求受信プロセス
１４４  検索処理時間取得プロセス
１４５  検索範囲指定プロセス
１４６  検索プロセス
１５１  検索範囲初期値
１５２  許容処理時間
１５３  最大応答件数
１５４  処理開始時刻
１５５  前回ＳＱＬ依頼時刻
１５６  前回ＳＱＬ検索範囲
１５７  検索対象取得済件数
【図１】
2010224699.tif 000003
【図２−１】
2010224699.tif 000004
【図２−２】
2010224699.tif 000005
【図２−３】
2010224699.tif 000006
【図３】
2010224699.tif 000007
【図４】
2010224699.tif 000008
【図５】
2010224699.tif 000009
【図６−１】
2010224699.tif 000010
【図６−２】
2010224699.tif 000011
【図７】
2010224699.tif 000012
【図８】
2010224699.tif 000013
【図９】
2010224699.tif 000014