【手続補正書】
【提出日】平成17年11月1日(2005.11.1)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】特許請求の範囲
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
アプリケーションを実行する少なくとも一つのクライアントと、
それぞれにデータベースを備え、アクセス要求にしたがって該データベースを検索する少なくとも一つのサーバとにネットワークで接続され、前記クライアントからの問合せを受け付け、該問合せに対する結果を該クライアントに返す問合せ処理システムであって、
前記少なくとも一つのデータベース上の項目、もしくは前記項目に対する演算結果の多重マッピングが可能な仮想項目名を保持して前記アプリケーションに提供する仮想表と、
該仮想表を管理する仮想表管理部と、
前記問合せを解析する問合せ解析部と、
該問合せ解析部で解析された問合せから、該仮想表の定義を用いて前記データベースを参照するデータベース参照問合せを生成する問合せ生成部と、
該問合せ生成部で生成された前記データベースへの問合せ処理を実行する問合せ実行部と、
を有することを特徴とする問合せ処理システム。
【請求項２】
アプリケーションを実行する少なくとも一つのクライアントと、
それぞれにデータベースを備え、アクセス要求にしたがって該データベースを検索する少なくとも一つのサーバとにネットワークで接続され、前記クライアントからの問合せを受け付け、該問合せに対する結果を該クライアントに返す問合せ処理システムであって、
前記少なくとも一つのデータベース上の項目、もしくは前記項目に対する演算結果のマッピング、もしくは多重マッピングが可能な仮想項目名を保持して前記アプリケーションに提供する仮想表と、
該仮想表を管理する仮想表管理部と、
該仮想表に定義された項目、もしくは前記項目に対する演算結果の全体もしくは一部分を実データとして保持する部分レプリカと、
該部分レプリカ内のデータを管理し、データの検索、データ更新、データ削除、データ挿入を行う部分レプリカ管理部と、
前記問合せを解析する問合せ解析部と、
該問合せ解析部で解析された問合せが、前記部分レプリカを用いて処理可能か否かを判定する問合せ最適化部と、
処理可能と判定された場合に、該問合せから該部分レプリカを参照する部分レプリカ参照問合せを生成する部分レプリカ参照問合せ生成部と、
処理不可能と判定された場合に、該問合せから前記仮想表の定義を用いて前記データベースを参照するデータベース参照問合せを生成するデータベース参照問合せ生成部と、
生成された前記部分レプリカ参照問合せか前記データベース参照問合せの少なくとも一方を実行する問合せ実行部と、
を有することを特徴とする問合せ処理システム。
【請求項３】
前記部分レプリカ管理部は、汎用のデータベース管理システムを有する請求項２記載の問合せ処理システム。
【請求項４】
前記仮想表管理部は、多重マッピングされている仮想表を、データ鮮度、データ精度、ユーザロール、業務、アクセス位置のいずれか、もしくはその組合せを指定して切り替える手段を有する請求項１記載の問合せ処理システム。
【請求項５】
前記問合せ最適化部は、
前記解析された問合せを選言標準形に変形する手段と、
該選言標準形の各要素に対して前記部分レプリカを用いて処理可能か否かを判定する手段と、
処理可能と判定された場合には前記選言標準形の要素に対して、該要素の処理に必要な部分レプリカの組を生成する手段と、
を有する請求項２記載の問合せ処理システム。
【請求項６】
アプリケーションを実行する少なくとも一つのクライアントと、それぞれにデータベースを備え、アクセス要求にしたがって該データベースを検索する少なくとも一つのサーバとにネットワークで接続され、前記クライアントからの問合せを受け付け、該問合せに対する結果を該クライアントに返す問合せ処理システムであって、
前記少なくとも一つのデータベース上の項目、もしくは前記項目に対する演算結果のマッピングもしくは多重マッピングが可能な仮想項目名を保持して前記アプリケーションに提供する仮想表と、
該仮想表を管理する仮想表管理部と、
前記問合せを解析する問合せ解析部と、
該問合せ解析部で解析された問合せから、該仮想表の定義を用いて前記データベースを参照するデータベース参照問合せを生成する問合せ生成部と、
該問合せ生成部で生成された前記データベースへの問合せ処理を実行する問合せ実行部とを有し、
前記データベース参照問合せを生成する問合せ生成部は、
問合せを連言標準形に変形する手段と、
該連言標準形の各要素である問合せ要素に対して、該問合せ要素の処理が一つのデータベースで処理可能か否かを判定する手段と、
処理可能と判定された場合には、該問合せを該データベースで処理するように書き替える手段と、
処理不可能と判定された場合には、該問合せを該データベースとデータ処理システムとを用いて処理するように書き替える手段と、
を有する問合せ処理システム。
【請求項７】
前記問合せをデータベースとデータ処理システムとを用いて処理するように書き替える手段は、
該問合せが異なるデータベース間の結合処理を含む問合せに対して、以下の方式（１）〜（４）それぞれの適用可能性をチェックする手段と、
（１）結合対象の第１のデータベースおよび第２のデータベースからそれぞれ結合対象のデータをデータ処理システムに転送し、該データ処理システムで結合処理を行う第１の方式、
（２）第１のデータベースから得た結果を第２のデータベース検索の問合せに埋め込むことによって結合処理を行う第２の方式、
（３）第２のデータベースに対する検索式に検索条件をパラメータとして記述し
、第１のデータベースから得た結果をパラメータの値として与えて結合処理を行う第３の方式、および
（４）第１のデータベースから得た値を第２のデータベースの一時表に挿入し、第２のデータベース上で結合処理を行う第４の方式、
適用可能な方式の中から、処理コスト計算に基づき最もコストが小さい方式を選択する手段と、
を有する請求項６記載の問合せ処理システム。
【請求項８】
前記問合せ生成部は、
問合せをデータベースとデータ処理システムの両方を用いて処理するように書き替える手段と、
複数の問合せ実行方法の候補を抽出する手段と、
異なるデータベース間の複数の結合処理を含む問合せにおいて、抽出された複数の候補間の結合処理に対して、以下の方式（１）〜（４）それぞれの適用可能性をチェックする手段と、
（１）結合対象の第１のデータベースおよび第２のデータベースからそれぞれ結合対象のデータをデータ処理システムに転送し、該データ処理システムで結合処理を行う第１の方式、
（２）第１のデータベースから得た結果を第２のデータベース検索の問合せに埋め込むことによって結合処理を行う第２の方式、
（３）第２のデータベースに対する検索式に検索条件をパラメータとして記述し
、第１のデータベースから得た結果をパラメータの値として与えて結合処理を行う第３の方式、および
（４）第１のデータベースから得た値を第２のデータベースの一時表に挿入し、第２のデータベース上で結合処理を行う第４の方式、
前記問合せ実行方法の候補から適用不可能な方式を含む問合せ実行方法の候補を取り除いた残余の各候補の処理コストを計算する手段と、
該処理コストが最も小さい候補を問合せ実行方法として選択する手段と、
を有する請求項６記載の問合せ処理システム。
【請求項９】
前記処理コストを計算する手段は、計算処理、Ｉ／Ｏ処理に必要なＣＰＵ時間の和で見積もる手段を有する請求項７または８記載の問合せ処理システム。
【請求項１０】
前記処理コストを計算する手段は、該コストをデータ転送量で見積もる手段を有する請求項７または８記載の問合せ処理システム。
【請求項１１】
前記問合せ実行部は、
データベース参照問合せを実行する際に問合せ構文を変換する構文変換手段と、問合せ条件のデータ型および値と、該変換された問合せの結果、前記データベースより得られるデータのデータ型および値を変換するデータ型、値変換手段と、を有する請求項１または２記載の問合せ処理システム。
【請求項１２】
前記データ型、値変換手段は、データ型識別子とデータ本体の組で、データベース固有のデータを格納する普遍データ型を持つことによりデータの精度を落さずにデータの格納およびデータ変換を行う手段を有する請求項１１記載の問合せ処理システム。
【請求項１３】
前記構文変換手段、およびデータ型、値変換手段は、それぞれ、変換に必要なモジュールをプラグインとして動的に挿入可能なインタフェース手段を有する請求項１１記載の問合せ処理システム。
【請求項１４】
前記仮想表管理部は、前記仮想表の定義を行うインタフェース手段を有する請求項１記載の問合せ処理システム。
【請求項１５】
前記仮想表管理部は、前記仮想表に対する多重マッピングの切り替えを行うインタフェース手段を有する請求項１記載の問合せ処理システム。
【請求項１６】
前記部分レプリカ管理部は、前記部分レプリカの定義を行うインタフェース手段を有する請求項２記載の問合せ処理システム。
【請求項１７】
アプリケーションを実行する少なくとも一つのクライアントと、
それぞれにデータベースを備え、アクセス要求にしたがって該データベースを検索する少なくとも一つのサーバとにネットワークで接続されたデータ処理システムにおいて実行されるべき問合せを前記クライアントから受け付け、該問合せの実行結果を該クライアントに返す問合せ処理方法であって、
受け付けた問合せを解析する処理と、
前記少なくとも一つのデータベース上の項目、もしくは前記項目に対する演算結果の多重マッピングが可能な仮想項目名を保持して前記アプリケーションに提供する仮想表の定義を用いて、該解析された問合せから前記データベースを参照するデータベース参照問合せを生成する処理と、
生成した問合せを実行する処理と、
を有することを特徴とする問合せ処理方法。
【請求項１８】
アプリケーションを実行する少なくとも一つのクライアントと、
それぞれにデータベースを備え、アクセス要求にしたがって該データベースを検索する少なくとも一つのサーバとにネットワークで接続されたデータ処理システムにおいて実行されるべき問合せを前記クライアントから受け付け、該問合せの実行結果を該クライアントに返す問合せ処理方法であって、
受け付けた問合せを解析する処理と、
前記少なくとも一つのデータベース上の項目、もしくは前記項目に対する演算結果の多重マッピングが可能な仮想項目名を保持して前記アプリケーションに提供する仮想表の定義を用いて、該解析された問合せから前記データベースを参照するデータベース参照問合せを生成する処理と、
該仮想表に定義された項目、もしくは前記項目に対する演算結果の全体もしくは一部分を実データとして保持する部分レプリカを参照する部分レプリカ参照問合せを生成する処理と、
該部分レプリカを用いて、前記解析された問合せが処理可能か否かを判定する処理と、
処理可能と判定された場合には、少なくとも前記部分レプリカ参照問合せを実行する処理と、
処理不可能と判定された場合には、前記データベース参照問合せを実行する処理と、
を有することを特徴とする問合せ処理方法。
【請求項１９】
アプリケーションを実行する少なくとも一つのクライアントと、
それぞれにデータベースを備え、アクセス要求にしたがって該データベースを検索する少なくとも一つのサーバとにネットワークで接続されたデータ処理システムにおいて実行されるべき問合せを前記クライアントから受け付け、該問合せの実行結果を該クライアントに返す問合せ処理方法であって、
前記少なくとも一つのデータベース上の項目、もしくは前記項目に対する演算結果のマッピングもしくは多重マッピングが可能な仮想項目名を保持して前記アプリケーションに提供する仮想表の定義を用いて前記データベースを参照するデータベース参照問合せを生成する処理と、
該生成されたデータベース参照問合せを実行する処理とを有し、
前記データベース参照問合せを生成する処理は、
生成された問合せを連言標準形に変形する処理と、
該連言標準形の各要素である問合せ要素に対して、該問合せ要素の処理が一つのデータベースで処理可能か否かを判定する処理と、
処理可能と判定された場合には、該問合せを該データベースで処理するように書き替える処理と、
処理不可能と判定された場合には、該問合せを該データベースとデータ処理システムとを用いて処理するように書き替える処理と、
を有することを特徴とする問合せ処理方法。