2020-001340
標準化データベースアクセスシステムおよび方法
- 審判番号
- 2020-001340
- 法域
- 特許
- 審判種別
- 拒絶査定不服審判(拒絶査定不服の審決)
- 出願番号
- 特願2017-182465外部サイト(J-PlatPat)へ移動します
- 請求日
- 2020年01月31日
- 審決日
- 2022年03月08日
- 公報発行日
- 2022年04月28日
- 結論
- 原査定取消(特許/登録すべき)
- 当事者
- 【請求人】クリニコンプ インターナショナル,インコーポレイテッド
- 【請求人代理人】飯田 伸行
- 【請求人代理人】飯田 和彦
- 分類
- P18 .121-WY (G06F)
- 条文(本文から自動抽出・参考)
- 特許法第29条第2項
- データ出所
- 審決公報(XML)
事件の表示
結論
理由
目次 ▾ 13項目
第1 手続の経緯
折りたたみ中(クリックで表示)
本願は、2011年(平成23年)10月10日(パリ条約による優先権主張外国庁受理2010年(平成22年)10月12日、アメリカ合衆国)を国際出願日とする出願である特願2013-533921号の一部を、平成27年2月12日に新たな特許出願とした特願2015-25552号の一部を、平成29年9月22に新たな特許出願として出願したものであって、その手続の経緯は以下のとおりである。
第2 原査定の概要
原査定(令和元年9月17日付け拒絶査定)の概要は次のとおりである。
本願請求項1~3に係る発明は、引用文献Aに記載された発明に基づいて、その発明の属する技術の分野における通常の知識を有する者(以下、「当業者」という。)が容易に発明をすることができたものであるから、特許法第29条第2項の規定により特許を受けることができない。
第3 当審拒絶理由の概要
当審において令和3年4月21日付けて通知した拒絶理由(以下、「当審拒絶理由」という。)の概要は次のとおりである。
本願請求項1~3に係る発明は、引用文献1に記載された発明に基づいて、当業者が容易に発明をすることができたものであるから、特許法第29条第2項の規定により特許を受けることができない。
第4 本願発明
本願の請求項1~3に係る発明(以下、それぞれを「本願発明1」~「本願発明3」という。)は、令和3年10月19日に提出された手続補正書により補正された特許請求の範囲の請求項1~3に記載されたとおりの以下のとおりのものである。
「【請求項1】データベースからデータにアクセスするデータベースのアクセスシステムによる標準化データベースアクセス方法において、前記アクセスシステムのハイパーオブジェクトライブラリーに格納され、それぞれが異なるルールを有し、かつそれぞれが少なくとも一つのデータハイパーオブジェクトを含む一群のハイパーオブジェクトを管理するソフトウェア手段を提供して、ハイパーオブジェクト照会言語(HOQL)エンジンを使用して、前記データベースに記憶された所定のデータに関するHOQL照会を受け取るソフトウェア手段を提供して、続きを表示(全28行)前記HOQL照会に応答して、前記HOQLエンジンの使用によって、少なくとも一つのデータハイパーオブジェクトを選択して、そして前記HOQL照会によって新しいハイパーオブジェクトが望ましいとすると新しいハイパーオブジェクトの作成を指示するソフトウェア手段を提供して、前記データベースからデータを検索するために、アダプタを介し、前記データベースに対して前記の選択されたデータハイパーオブジェクトと前記作成された新しいハイパーオブジェクトとを併用して且つそのルールに従ったデータリクエストを送信するソフトウェア手段を提供して、前記の選択されたデータハイパーオブジェクトによって使用される前記のリクエストされたデータを前記データベースから前記アダプタを介して受け取るソフトウェア手段を提供して、そして目的の標準化出力を提供するために、前記の選択されたデータハイパーオブジェクトに関連する前記ルールに従って前記HOQLエンジンに疑似ハイパーオブジェクトとして送信するように、前記のリクエストされたデータを使用するソフトウェア手段を提供することを特徴とする標準化データベースアクセス方法。【請求項2】データベースのアクセスシステムによる標準化データベースアクセス方法において、データベースを用意するソフトウェア手段を提供し、前記アクセスシステムのハイパーオブジェクトライブラリーに格納され、それぞれが異なるルールを有し、かつそれぞれが少なくとも一つのデータハイパーオブジェクトおよび少なくとも一つのコンテクストハイパーオブジェクトを有する一群のハイパーオブジェクトを用意するソフトウェア手段を提供し、ハイパーオブジェクト照会言語(HOQL)エンジンを使用して、前記データベースに記憶された所定のデータに関するHOQL照会を受け取るソフトウェア手段を提供し、前記HOQL照会に応答して、前記HOQLエンジンを使用して少なくとも一つのデータハイパーオブジェクトを選択するソフトウェア手段を提供し、前記コンテクストハイパーオブジェクトが、所定のデータの環境に関する前記データベースに記憶された前記所定のデータのみが選択された部分の前記データベースにコンテクストデータをリクエストするルールを含み、前記の選択されたコンテクストハイパーオブジェクトを用いて、前記データベースにコンテクストデータをリクエストするためのソフトウェア手段を提供し、前記の選択されたデータハイパーオブジェクトの変換部分が使用する前記の選択されたコンテクストハイパーオブジェクトを介してルール変換コマンドを発生して、このルールを修正するソフトウェア手段を提供し、前記データベースからデータを検索するために、その変えられたルールに従ってアダプタを介して前記の選択されたデータハイパーオブジェクトから前記データベースに対するデータリクエストを送るソフトウェア手段を提供し、前記変えられたルールを前記HOQL照会に応答して使用すべきか否かの判断のために前記のリクエストされたコンテクストデータを操作して、そして、前記変えられたルールを使用するならば前記の選択されたデータハイパーオブジェクトに変換コマンドを送り、前記の選択されたデータハイパーオブジェクトによって使用される前記のリクエストされたデータを前記データベースから前記アダプタを介して受け取るソフトウェア手段を提供し、そして目的の標準化出力を提供するために、前記の選択されたデータハイパーオブジェクトに関連する前記ルールに従って前記HOQLエンジンに疑似ハイパーオブジェクトとして送信するように、前記のリクエストされたデータを使用するソフトウェア手段を提供することを特徴とする標準化データベースアクセス方法。【請求項3】データベースからデータにアクセスするデータベースのアクセスシステムによる標準化データベースアクセス機能をコンピュータに実現させるプログラムにおいて、前記アクセスシステムのハイパーオブジェクトライブラリーに格納され、それぞれが異なるルールを有し、かつそれぞれが少なくとも一つのデータハイパーオブジェクトを有する一群のハイパーオブジェクトを用意し、ハイパーオブジェクト照会言語(HOQL)エンジンを使用して、前記データベースに記憶された所定のデータに関するHOQL照会を受け取り、前記HOQL照会に応答して、前記HOQLエンジンの使用によって、少なくとも一つのデータハイパーオブジェクトを選択して、そして前記HOQL照会によって前記ハイパーオブジェクトライブラリーに記憶された前記一群のハイパーオブジェクトが十分でないとすると新しいハイパーオブジェクトの作成を指示し、前記データベースからデータを検索するために、アダプタを介し、前記データベースに対して前記の選択されたデータハイパーオブジェクトと前記作成された新しいハイパーオブジェクトとを併用して且つそのルールに従ったデータリクエストを送り、前記の選択されたデータハイパーオブジェクトによって使用される前記のリクエストされたデータを前記データベースから前記アダプタを介して受け取り、そして目的の標準化出力を提供するために、前記の選択されたデータハイパーオブジェクトに関連する前記ルールに従って前記HOQLエンジンに疑似ハイパーオブジェクトとして送信するように、前記のリクエストされたデータを使用することを特徴とするプログラム。」
第5 引用文献、引用発明
1 引用文献1、引用発明について
(1)当審において拒絶の理由に引用した引用文献1(特開平10-187742号公報)には、以下のとおりの記載がある。下線は、当審が付した。
「【0001】【発明の属する技術分野】本発明は、複数のデータベースが存在する環境において同じ意味を有するが、データベースによってそれぞれ表現が異なるデータ項目をその表現の違いを解消して検索するデータベース異種性解消検索装置に関する。」
「【0007】また、ユーザは、自分の持っているデータベースと同じ表現形式で、他のデータベースの情報を取りたいという要求がある。これは、自分の使っているアプリケーションを用いて他のデータベースのデータを使いたいが、そのアプリケーションが自分のデータベースの表現形式に合わせて作られるからである。この要求を既存のマルチデータベースで実現しようとすると、ユーザのデータベースと同じ形式を持ったグローバルスキーマをユーザ毎に定義する必要があり、非効率であった。よって、グローバルスキーマを定義することなく、断片的にデータの違いを定義することによって、データの表現の違いを解消することが必要である。そして、ユーザが利用したい表現形式を容易に変更できる仕組みが必要である。【0008】本発明は、上記に鑑みてなされたもので、その目的とするところは、各データベースによるデータ項目の表現が同じ意味にも関わらず異なっていても、各ユーザ自身の表現形式で各データベースを自由に検索することができるデータベース異種性解消検索装置を提供することにある。」
「【0014】図1は、本発明の一実施形態に係るデータベース異種性解消検索装置の構成を示すブロック図である。本実施形態のデータベース異種性解消検索装置は、複数のデータベースが存在する環境において同じ意味を有するが、データベースによってそれぞれ表現が異なるデータ項目をその表現の違いを解消して検索するものであり、データベースのデータ項目の値の表現形式(これをドメインと称する)を管理し、同じ意味を有するドメインをドメイングループとし、このドメイングループの中から代表して標準的に使用されるグローバルドメインを選択し、検索時にデータベースのローカルドメインとグローバルドメインとが異なる場合、ドメイン間の変換関数を呼び出し、この変換関数を用いてユーザの問い合わせ文を各データベースに適合した問い合わせ文に翻訳し、この翻訳した問い合わせ文によりデータベースを検索するものであり、該データベース異種性解消検索装置は、図1に示すように、ユーザのアプリケーションプログラム12から入力される問い合わせ文13の構文を解析する構文解析部1と、この問い合わせ文に対する処理の全体の流れを制御する問い合わせ処理制御部2、問い合わせの変換を行う問い合わせ変換部3、ドレイン間のデータ変換を行う関数の集まりである変換関数ライブラリ4、および検索されたデータのドメインを変換するデータ処理部6からなる問い合わせ処理部11と、分散データベースにアクセスするためのデータベースアクセス部5と、ドメイン、ドメイングループなどの情報、データベースに含まれるテーブルの情報などを記憶し管理するメタデータ蓄積部7と、該メタデータ蓄積部7に対するメタデータの投入変換などを行うメタデータ管理部8とから構成され、前記データベースアクセス部5にはそれぞれデータベース9および該データベース9を管理するデータベース管理システム10からなる複数のデータベースシステムが接続されている。なお、データベース9はローカルデータベースとも称する。【0015】このように構成される本実施形態のデータベース異種性解消検索装置は、検索を実行する前にドメインの定義などの準備を行う準備フェーズと実際の検索を行う検索フェーズの2段階の処理を実施する。【0016】まず、準備フェーズについて説明する。この準備フェーズでは、ドメインの定義を行うが、本実施形態におけるドメインの管理の考え方について図2を参照して説明する。データベースにおけるデータ項目のデータ値の表現法であるドメインとして、例えば図2に示すように、血液型を表す場合のドメインとしては、血液型値で表す場合、血液型コードで表す場合、血液型詳細で表す場合などのように種々の表現方法がある。このように種々の表現法の中で同じ意味を有するものをドメイングループとして定義し、この中からただ1つのドメインをユーザに見えるドメインとして設定することで、ユーザに対して単一な見方を提供することができる。なお、図2では、ドメイングループとして、年月日も挙げ、この中には年/月/日や月.日.年などを種々のドメインを示している。また、図2では、ユーザは血液型コードおよび年/月/日を使用しており、これらがユーザドメインとなる。【0017】ドメインについては、次に示す4つの設定、すなわちローカルドメインの設定、ドメイングループの設定、変換関数の作成、ユーザドメインの設定が必要であり、ユーザはメタデータ管理部8を用いてドメインなどの情報の設定を行う。また、これらの情報はメタデータ蓄積部7に保存される。更に、メタデータ蓄積部7に保存される各情報のテーブルの構成を図3および図4に示す。各ドメインの設定について説明する。続きを表示(全169行)【0018】(1)ローカルドメインの設定:ローカルデータベース9の項目に対し、その表現形式を表す概念である「ドメイン」を設定する。これをローカルドメインと呼ぶ。例えば、あるデータベースのデータ項目「氏名」(型はchar(20))に対し、これのドメインをNameであると設定する。このNameというドメインの表す意味は、単にchar(20)という型だけではなく、「氏名」のより細かい表現の形式を表す。例えば、このNameは、・姓が先で、名が後である。・姓と名の間隔は、半角スペースである。【0019】といった表現形式である。列に対するドメインの定義は、図3(a)に示すように「列」テーブルに保持される。【0020】基本的には、この作業は、ローカルデータベースの管理者が行う。その時、メタデータ管理部8を用いて、既に定義されているドメインを参照する。もし、自分のデータベースのデータ項目のドメインとして使えるドメインが既に定義されているようなら、それを用い、新たにドメインを作成しない。【0021】(2)ドメイングループの設定:表現の形式は異なっているが、実際には同じ意味を表しているドメインのグループをドメイングループと呼ぶ。このグループに入るドメインは、すべて同じ意味の異なった表現法である。本装置では、ユーザからは、このドメイングループに含まれるドメインはすべて1つのドメインに統一されて見える。【0022】ローカルデータベースの管理者は、自分が定義したドメインがどのドメイングループに入るのかを判断し、そのドメイングループに入れる処理をする。適当なドメイングループが見つからない場合は、新しいドメイングループを作成する。もし、既に定義されているドメインであれば、どれかのドメイングループに含まれているので設定をする必要はない。図3(b)にドメイングループを示す。【0023】ドメイングループの中には、1つの代表して標準的に使われるドメインを設定しておく(この設定は、基本的に本装置の管理者が行う)。そのドメインをグローバルドメインと呼ぶ。図3(c)にグローバルドメインを示す。【0024】(3)変換関数作成:これは、既に変換関数が定義されている場合は、必要はない。グローバルドメインとローカルドメインの間の変換関数を一般のプログラミング言語を用いて作成する。作成した関数は、コンパイルし、ダイナミックにリンクできる形式にする。【0025】メタデータ管理部8を用いて、この変換関数とドメインの関係を登録する。変換関数とドメインの対応、変換関数の所在は、図4に示すように、「変換関数」テーブルに保持される。【0026】変換関数は、グローバルドメイン→ローカルドメイン、ローカルドメイン→グローバルドメインというように双方向の関数を作る。ただし、変換によっては、双方向に関数を作ることが不可能な場合もある(例:名前の変換で、「鈴木 源吾」→「鈴木源吾」という変換=空白の削除は可能だが、その逆は一般的には不可能である)。その場合は、片方向のみの関数を作成する。双方向の関数を作る理由は、直接変換する関数がない場合に、関数を組み合わせて変換を行うためである。【0027】(4)ユーザドメインの設定:ドメイングループの中から、ユーザに実際に見えるドメインを(ユーザ毎に)選んでおく。これをユーザドメインと呼ぶ。ユーザが本装置に問い合わせを行う場合、さまざまなドメインにより表現されている項目があっても、すべてこのユーザドメインによる表現に統一される。また、このユーザドメインを変更することによって、ユーザからのデータの見え方を変更することができる。図3(d)にユーザドメインを示す。【0028】次に、検索フェーズについて説明する。ドメインの情報を用いて以下のように検索を行う。ユーザは、一般にアプリケーションプログラムから、本装置の機能をライブラリなどの形で呼び出し使用する。ユーザからの問い合わせは、関係データベースの検索言語であるSQL言語で作成する。【0029】(1)問い合わせDBの決定:構文解析部1により問い合わせを解析し、問い合わせに含まれるテーブル・列を含むデータベースをメタデータ蓄積部7の「列」テーブルを検索することによって知る。【0030】(2)問い合わせに含まれる列のドメインの検索:問い合わせに含まれる列のドメインを図3(a)に示す「列」テーブルを検索することによって知る。【0031】(3)ユーザドメインの検索:問い合わせているユーザとドメインから、図3(d)に示す「ドメイングループユーザ」テーブルを検索することにより、ユーザドメインを検索する。【0032】(4)変換関数の探索:ユーザドメインと(2)のドメインの間の変換関数を図4に示す「変換関数」テーブルを用いて調べる。A→Bと直接適用できる変換関数が見つからない場合、A→C,C→Bと組み合わせて変換できないかを探索する。これは、ドメインをノード、ドメイン間の変換関数の存在をエッジにしたグラフ上の探索問題であり、グラフ理論で検討されているアルゴリズムを用いて容易に実現することができる。【0033】(5)問い合わせの翻訳と実行:データベースアクセス部5に用いるシステムの差で、2つの実現方式がある。データベースアクセス部5は、データベース統合のためのミドルウェアを用いる。【0034】実現方式1はデータベースアクセス部5が拡張可能データベース的な機能を許す場合である。【0035】ユーザが定義した関数を使って、機能を拡張できるようなデータベース管理システムを拡張可能データベース管理システム(拡張可能DBMS)と呼ぶ。これに相当する機能がデータベースアクセス部に用いることのできる場合、変換関数は、拡張可能DBMSのユーザ定義関数として実現することができる。そして、その関数を問い合わせ言語の中で用いることができる。【0036】データベースアクセス部に渡す問い合わせを作るために、ユーザの問い合わせの文中に含まれる列を、変換関数を含む形に置き換える。【0037】SQL文は、select(検索する列)from(検索するテーブル)where(条件式)の形式である。検索する列と条件式の列のドメインがユーザドメインと異なる場合、以下の置き換えを行う。【0038】A)(検索する列)を(ローカルドメイン→ユーザドメインへの変換関数)((検索する列))に置き換える。B)(条件式に含まれる列)を(ローカルドメイン→ユーザドメインへの変換関数)((条件式に含まれる列))に置き換える。【0039】実現方式2はデータベースアクセス部5が関係データベースの機能しか持たない場合である。関係データベースと同じ機能でしか、データベースアクセスできないミドルウェアでは、拡張可能データベースのように、ユーザ定義関数を問い合わせ言語内で用いることができないので、実現方式1のように問い合わせを書き換えることでは、変換を実現できない。以下のようにしてデータの変換を実現する必要がある。【0040】・問い合わせの中に含まれる値の変換:問い合わせに含まれる値をユーザドメインからローカルドメインに変換する。・検索結果の変換:データ処理部6が、検索された結果の値をローカルドメインからユーザドメインに変換する。【0041】それぞれの方式ともに、複数のデータベースにアクセスを行うが、結果はそれぞれのデータベースへの検索結果の和を取ることとする。【0042】次に、具体的に合成変換を行う場合と行わない場合の2つの例について説明する。図5に使用するサンプルデータベース(DB)を示す。ドメインなどのメタデータについては、図3および図4の値はこの例に沿っている。例1、例2の両方で同じデータベースを用いる。2つの例は、準備フェーズの変換関数の定義までは共通である。ユーザドメインの設定から先が異なっている。2つのデータベース(DB)は以下の形式である。【0043】DB1:テーブル「社員」「社員」の列=(氏名、血液型)「氏名」の表現法=(鈴木源吾)「血液型」の表現法=(0,1,2,3)DB2:テーブル「社員」「社員」の列=(氏名、血液型)「氏名」の表現法=(鈴木 源吾)「血液型」の表現法=(A,B,O,AB)つまり、DB1の「氏名」は名字と名前の間に空白をおかず、DB2の「氏名」は名字と名前の間に半角の空白をおく。DB1の血液型は、コードで表現され、DB2の血液型は値で表現されている。【0044】まず、例1として、合成変換を行わない場合について説明する。例1の準備フェーズとして、上述したようにローカルドメイン、ドメイングループ、変換関数の定義およびユーザドメインの決定がそれぞれ以下のように行われる。【0045】(1)ローカルドメインの定義:DB1,DB2の管理者は、それぞれ自分のDBの列に対してそのローカルドメインを設定する。DB1の氏名のドメインは姓名間のスペースがないので、NameNoSpaceとする。DB1の血液型のドメインはコードで表現されているので、BloodTypeCodeとする。DB2の氏名のドメインは姓名間にスペースがあるので、NameSpaceとする。DB2の血液型のドメインは半角の値で表現されているので、BloodTypeValueとする。【0046】(2)ドメイングループの定義:ここでは、ドメイングループとして・Name(含まれるドメインは、NameNoSpace,NameSpace、グローバルドメインは、NameNoSpace)、・BloodType(含まれるドメインは、BloodTypeCode,BloodTypeValue,BloodTypeValueLarge、グローバルドメインは、BloodTypeValueLarge)の2つを設定する。ここで、BloodTypeValueLargeとは、(A,B,O,AB)という全角文字で値の入っているドメインである。【0047】(3)変換関数の定義:それぞれのドメイングループについて、以下の変換関数を定義する。ドメイングループ:Name変換関数:NameSpace2NameNoSpace( )名字と名前の間の空白を除去する。逆変換は、姓と名の間を一般的には判断できないので作れない。ドメイングループ:BloodType変換関数:BloodTypeCode2BloodTypeValueLarge( )図6の対応表を用いて変換を行う。変換関数:BloodTypeValue2BloodTypeValueLarge( )半角→全角変換変換関数:BloodTypeValueLarge2BloodTypeCode( )図6の対応表を用いて値の変換を行う。変換関数:BloodTypeValueLarge2BloodTypeValue( )全角→半角変換(4)ユーザドメインの決定:この例では、ユーザドメインはグローバルドメインと等しいとする(図3(d)にあるユーザgsuzukiが使う場合である)。つまり、(Nameのユーザドメイン)=NameNoSpace(BloodTypeのユーザドメイン)=BloodTypeValueLargeとする。【0048】次に、例1の検索フェーズについて説明する。◎ユーザの問い合わせを次のようにSQL文に変換する。問い合わせ:select氏名 where血液型=”A”(1)血液型と氏名を含むテーブルの検索:「列」テーブルを検索して、DB1とDB2を発見する。【0049】(2)氏名と血液型のドメインのチェックDB1:氏名→NameNoSpace、血液型→BloodTypeCodeCB2:氏名→NameSpace、血液型→BloodTypeValue(3)それぞれのドメインが含まれるグループのユーザドメインの検索:DB1,DB2:氏名→NameNoSpace、血液型→BloodTypeValueLarge以下(4)以降は、上述した実現方式1と実現方式2に分けて説明する。【0050】実現方式1の場合について説明する。(4)変換関数探索:(検索する列)について、(ローカルドメイン→ユーザドメインへの変換関数)を探す。DB1:氏名→変換なしDB2:氏名→NameSpace2NameNoSpace( )(条件式に含まれる列)について(ローカルドメイン→ユーザドメインへの変換関数)を探す。DB1:血液型→BloodTypeCode2BloodTypeValueLarge( )DB2:血液型→BloodTypeValue2BloodTypeValueLarge( )いずれも関数を組み合わせないで変換可能である。(5)問い合わせの翻訳を行う:DB1:select氏名 where BloodTypeCode2BloodTypeValueLarge(血液型)=”A”DB2:select NameSpace2NameNoSpace(氏名)Where BloodTypeValu2BloodTypeValueLarge(血液型)=”A”(6)問い合わせ実行:各DB毎の検索結果は、次のようになる。DB1:鈴木美紀DB2:町原宏毅最終的な検索結果はその和をとって、鈴木美紀町原宏毅となる。【0051】次に、実現方式2の場合について説明する。(4)変換関数探索(条件式に含まれる値)について、(ユーザドメイン→ローカルドメインへの変換関数)を探す。DB1:血液型→BloodTypeValueLarge2BloodTypeCode( )DB2:血液型→BloodTypeValueLarge2BloodTypeValue( )(5)値の変換を行う。BloodTypeValueLarge2BloodTypeCode(”A”)の検索結果は0となる。BloodTypeValueLarge2BloodTypeValue(”A”)の検索結果はAとなる。(6)問い合わせの翻訳を行う。【0052】DB1:select氏名 where血液型=”0”DB2:select氏名 where血液型=”A”(7)各DBに問い合わせを実行する。DB1:鈴木美紀DB2:町原 宏毅(8)検索結果を変換する。DB2:氏名は、ユーザドメインとローカルドメインが異なっているので、値を変換する。NameSpace2NameNoSpace(”町原 宏毅”)の結果は、”町原宏毅”(9)検索結果の和をとる。最終的な検索結果は、鈴木美紀町原宏毅となる。【0053】次に、例2として、合成変換を行う場合について説明する。DB1を使用するユーザが、DB1の形式で情報を得たいという状況を考える。このとき、ユーザドメインをDB1の型にすることになる(図3にあるユーザsatohが使う場合である)。【0054】まず、準備フェーズについて説明するが、(3)までは、例1と同様であるので、次のように(4)を行う。【0055】(4)ユーザドメインの決定:NameのユーザドメインをNameNoSpaceとする。BloodTypeのユーザドメインをBloodTypeCodeとする。次に、例2の検索フェーズについて説明する。ユーザの問い合わせを次のようにSQL文に変更する。問い合わせ:select氏名 where血液型=”0”(1)血液型と氏名を含むテーブルの検索:DB1とDB2を発見する。(2)氏名と血液型のドメインのチェック:DB1:氏名→NameNoSpace、血液型→BloodTypeCodeDB2:氏名→NameSpace、血液型→BloodTypeValue(3)それぞれのドメインが含まれるグループのユーザドメインの検索:DB1,DB2:氏名→NameNoSpace、血液型→BloodTypeValue実現方式1の場合について(4)以降を説明する。(4)変換関数探索:(検索する列)について、(ローカルドメイン→ユーザドメインへの変換関数)を探す。DB1:氏名→変換なしDB2:氏名→NameSpace2NameNoSpace( )(条件式に含まれる列)について(ローカルドメイン→ユーザドメインへの変換関数)を探す。DB1:血液型→変換なしDB2:血液型→1つの関数で変換できないから図7に示すように以下のルートで検索する。ドメイン:BloodTypeValue →BloodTypeValueLarge →BloodTypeCodeBloodTypeValue2BloodTypeValueLarge →BloodTypeValueLargeBloodTypeValueCode(5)問い合わせの翻訳を行う:DB1:select氏名 where 血液型=”0”DB2:select NameSpace2NameNoSpace(氏名)Where BloodTypeValueLarge2BloodTypeCode(BloodTypeValue2BloodTypeValueLarge(血液型)=”0”(6)問い合わせ実行:検索結果は、例1)と同じである。次に、実現方式2の場合について説明する。(4)変換関数探索(条件式に含まれる値)について、(ユーザドメイン→ローカルドメインへの変換関数)を探す。DB1:血液型→変換なしDB2:血液型→1つの関数で変換できないから以下のルートで変換する。ドメイン:BloodTypeCode →BloodTypeValueLarge →BloodTypeValue関数:BloodTypeValueLarge2BloodTypeCode →BloodTypeValue2BloodTypeValueLarge(5)値の変換を行う。BloodTypeValue2BloodTypeValueLarge(BloodTypeValueLarge2BloodTypeCode(”0”)の結果はAとなる。(6)問い合わせの翻訳を行う。DB1:select氏名 where血液型=”0”DB2:select氏名 where血液型=”A”(7)以降は例1の実現方式2の場合と同じである。」
[図:0001382598000001.jpg]
[図:0001382598000002.jpg]
[図:0001382598000003.jpg]
[図:0001382598000004.jpg]
[図:0001382598000005.jpg]
[図:0001382598000006.jpg]
[図:0001382598000007.jpg]
(2)上記(1)の記載から以下のことがいえる。
ア 【0001】、【0014】によると、引用文献1には、「複数のローカルデータベースが存在する環境において同じ意味を有するが、ローカルデータベースによってそれぞれ表現が異なるデータ項目をその表現の違いを解消して検索するデータベース異種性解消検索装置における検索方法」が記載されている。
イ 【0014】、図1によると、上記アの「データベース異種性解消検索装置」は、「同じ意味を有するドメイン(データベースのデータ項目の値の表現形式)をドメイングループとし、ドメイン間のデータ変換を行う変換関数を集まりである変換関数ライブラリ」を備えている。
ウ 【0014】、【0028】、【0029】、【0030】、【0037】、【0039】、【0040】、図1によると、上記(1)の「データベース異種性解消検索装置」は、「問い合わせ文に対する処理の全体の流れを制御する問い合わせ処理制御部」と、「構文解析部」とを備え、「構文解析部」は、「関係データベースの検索言語であるSQL言語で作成されたユーザからの問い合わせ文を受け、解析し、問い合わせの対象となるローカルデータベースをメタデータ蓄積部から検索し、当該ローカルデータベースのデータ項目のドメインをメタデータ蓄積部においてチェック」するものである。
エ 【0014】、【0017】、【0032】、【0040】、【0048】、【0049】、【0051】、【0053】、【0055】図1、図3によると、上記アの「データベース異種性解消検索装置」は、「問い合わせ変換部」を備え、「問い合わせ変換部」は、「問い合わせ文の条件式に含まれる値について、ユーザドメインからローカルドメインへの変換関数を変換関数ライブラリから検索し、当該変換関数又は複数の変換関数の合成変換を用いて問い合わせの条件式に含まれる値をユーザドメインからローカルドメインに変換することにより、ユーザの問い合わせ文を各ローカルデータベースに適合した問い合わせ文に翻訳」するものである。
オ 【0014】、【0039】、【0052】、図1によると、上記エで「翻訳された問い合わせ文は、データベースアクセス部に渡され、各ローカルデータベースに問い合わせが実行される」。
カ 【0008】、【0014】、【0040】、【0052】、図1によると、上記アの「データベース異種性解消検索装置」は、「データ処理部」を備え、上記オにより問い合わされた結果、「データ処理部」により、「各ローカルデータベースにおいて検索されたデータのドメインを変換関数によりローカルドメインからユーザドメインに変換して、ユーザが利用したい表現形式で検索結果を返す」。
(3)引用発明
上記(2)によると、引用文献1には、
「問い合わせ文に対する処理の全体の流れを制御する問い合わせ処理制御部と、構文解析部と、同じ意味を有するドメイン(データベースのデータ項目の値の表現形式)をドメイングループとし、ドメイン間のデータ変換を行う変換関数を集まりである変換関数ライブラリと、問い合わせ変換部と、データ処理部とを備え、複数のローカルデータベースが存在する環境において同じ意味を有するが、ローカルデータベースによってそれぞれ表現が異なるデータ項目をその表現の違いを解消して検索するデータベース異種性解消検索装置における検索方法において、前記構文解析部は、関係データベースの検索言語であるSQL言語で作成されたユーザからの問い合わせ文を受け、解析し、問い合わせの対象となるローカルデータベースをメタデータ蓄積部から検索し、当該ローカルデータベースのデータ項目のドメインをメタデータ蓄積部においてチェックし、前記問い合わせ変換部は、問い合わせ文の条件式に含まれる値について、ユーザドメインからローカルドメインへの変換関数を変換関数ライブラリから検索し、当該変換関数又は複数の変換関数の合成変換を用いて問い合わせの条件式に含まれる値をユーザドメインからローカルドメインに変換することにより、ユーザの問い合わせ文を各ローカルデータベースに適合した問い合わせ文に翻訳し、翻訳された問い合わせ文は、データベースアクセス部に渡され、各ローカルデータベースに問い合わせが実行され、データ処理部により、各ローカルデータベースにおいて検索されたデータのドメインを変換関数によりローカルドメインからユーザドメインに変換して、ユーザが利用したい表現形式で検索結果を返す、検索方法。」の発明(以下、「引用発明」という。)が記載されている。
2 引用文献A
(1)引用文献Aの記載事項
折りたたみ中(クリックで表示)
原査定の拒絶の理由に引用された引用文献A(特開平7―175697号公報)には、以下のとおりの記載がある。下線は、当審が付した。
「【0001】【産業上の利用分野】本発明は、データベースをアクセスするための情報処理システムおよびその制御方法に係り、特に、クライアントの情報処理装置からネットワークを介して複数の異種データベース・サーバーをアクセスする場合に好適な、異種データベース・アクセス・システム、及びその制御方法に関する。【0002】【従来の技術】企業におけるデータベース・システムは、ダウンサイジング化に伴い、メインフレームを用いた全社システムから、各業務を担当する部門に分散された部門システムへと移行が進んでいる。部門システムでは、業務内容に応じた最適なシステムを構築するため、各部門毎に異なるベンダのデータベース管理システム(DataBase Management System: DBMS)を採用することも珍しくない。一方、意志決定支援などのアプリケーション・ソフトウェアにおいては、企業内の各部門に分散したデータベース上の種々のデータを必要に応じて収集し分析する必要がある。【0003】データベースのアクセスに用いるアプリケーション プログラム インタフェース(API) としては、ストラクチャード クイアリ ランゲージ Structured Query Language(SQL)が一般に用いられている。SQLは、JIS規格などで標準仕様が定められているが、実際のDBMSの製品では細かな点でDBMSベンダ毎にその仕様が異なっている。このため、同一のSQLで異なるベンダのDBMS上のデータベースにアクセスすることはできない。そこで、一種類のSQLを各ベンダ固有のSQLに変換するゲートウェイが製品化されている。なお、SQLの仕様の相違点については、Addison-Wesley Publishing Company、Inc発行の「THE PRACTICAL SQL HANDBOOK」pp.329~341にて開示されている。【0004】図2は、ゲートウェイを用いた異種データベース・アクセス・システムの一従来例である。この従来例では、アプリケーション・ソフトウェア111が動作するクライアント情報処理装置110にゲートウェイ機能を搭載している。120a、120bは、それぞれDBMS_A 121a、DBMS_B 121bが動作するサーバ情報処理装置であり、クライアント情報処理装置110とLAN(Local Area Network)100で接続されている。DBMS_A、DBMS_Bによって管理されているデータベースのデータは、外部記憶装置124a、124bにそれぞれ格納されている。アクセス管理コンポーネント112は、アクセス先がDBMS_Aの時はアプリケーション・ソフトウェア111がデータベース・アクセスのため発行するSQL文をSQL変換_Aとし、アクセス先がDBMS_Bの時はSQL変換_Bの各コンポーネントに引き渡すように動作する。SQL変換_A、SQL変換_Bの各コンポーネントは、受け取ったSQL文をターゲットDBMSの仕様に変換し、各DBMS用のデータベース・ドライバA 122a、データベース・ドライバB 122bおよびLANドライバ123、LAN100を介して、各ターゲットのサーバ情報処理装置120aまたは120bに変換を行ったSQL文を送信する。クライアント情報処理装置110のデータベース・ドライバA、データベース・ドライバBおよびLANドライバ123と同じものが各サーバ情報処理装置120a、120bにも搭載されており、通信プロトコルの階層に従った処理を行い、クライアント情報処理装置110が送信したLAN100上のパケットデータからDBMS_AまたはDBMS_B宛のSQL文を取り出し、各DBMSにSQL文を送る。各DBMSでの処理結果は、上述の経路を逆に辿り、SQL変換_AまたはSQL変換_Bによって、標準のデータ形式、および標準のリターン・コードに変換した後、アクセス管理コンポーネント112を介してアプリケーション・ソフトウェア111に送られる。このように、ゲートウェイ機能をクライアント情報処理装置110上のアクセス管理コンポーネント112とSQL変換_Aコンポーネント115a、SQL変換_Bコンポーネント115bによって実現することにより、単一のSQL仕様だけを用いて、異なるSQL仕様を持つDBMSにアクセスすることが可能となっている。【0005】これらのゲートウェイ機能をクライアント情報処理装置110上ではなく、専用のゲートウェイ情報処理装置130を用いて実現した従来例を図3に示す。この従来例では、アプリケーション・ソフトウェア111が発行したSQL文は、まず、データベース・ドライバC 122c、LANドライバ123、LAN100を介してゲートウェイ情報処理装置130に送られる。ゲートウェイ情報処理装置130上では、LANドライバ、データベース・ドライバCによってSQL文が取り出され、アクセス管理コンポーネント112に送られる。この後の動作は、図2で説明した従来例と同様であり、SQL変換_A、SQL変換_B、データベース・ドライバA、データベース・ドライバB、LANドライバ123を介してターゲットのサーバ情報処理装置120aまたは120b上のデータベースをアクセスし、結果がクライアント情報処理装置110上のアプリケーション・ソフトウェア111に返される。」
「【0023】図1は、本実施例における異種データベース・アクセス・システムの一構成例である。110は、アプリケーション・ソフトウェア111が動作するクライアント情報処理装置、130はゲートウェイ情報処理装置、120a、120bは、それぞれDBMS_A、DBMS_Bが動作するサーバ情報処理装置、150はRPC(Remote Procedure Call)で呼び出す各サーバ・コンポーネントのネットワーク上の物理位置との対応情報を提供するネームサーバ151が動作するネームサーバ情報処理装置である。前記各情報処理装置はLAN100で接続されている。DBMS_A、DBMS_Bによって管理されているデータベースのデータは、従来例と同様に外部記憶装置に格納されるが、図1では該外部記憶装置を省略している。(以下の実施例についても同様に省略する。)クライアント情報処理装置からサーバ情報処理装置へのアクセスは、アプリケーション・ソフトウェア111からのデータベース・アクセスは、SQL文に対応したRPCを実行することによって行う。本実施例では、アプリケーション・ソフトウェア111が使用するSQL仕様は、本システムでの標準仕様とし、各DBMS_A、DBMS_BのSQL仕様は、標準仕様とは異なるものとする。このRPCを以下SQL_RPCと呼ぶ。クライアント情報処理装置110上のRPCドライバ102は、まずネームサーバ情報処理装置150上のネームサーバ151に、SQL_RPCを処理するサーバのネットワーク・アドレスとサーバ・コンポーネントへの接続のためのポート番号を問い合わせる。SQL_RPCを処理するサーバは、ゲートウェイ情報処理装置130上のアクセス管理コンポーネント112vであるので、前記問い合わせに対して、ネームサーバ151はゲートウェイ情報処理装置130のネットワーク・アドレス情報とアクセス管理コンポーネント112vのポート番号を返すように動作する。このアドレス情報とポート番号をもとに、クライアント情報処理装置110上のRPCドライバ102は、ゲートウェイ情報処理装置130上のアクセス管理コンポーネント112vとRPCの接続を行い、SQL_RPCの処理をアクセス管理コンポーネント112vへ依頼する。アクセス管理コンポーネント112vは、SQL_RPCのパラメータに含まれるターゲットDBMSの名称から、使用すべきSQL変換コンポーネントをネームサーバ151に問い合わせる。本実施例では、SQL変換_Aコンポーネント115aまたは、SQL変換_Bコンポーネント115bのネットワーク・アドレス情報とポート番号が返される。アクセス管理コンポーネント112vは、ネームサーバ151から返された情報をもとに、何れかのSQL変換コンポーネントにSQL文の変換と、ターゲットDBMSへのアクセス処理をRPCを用いて依頼する。【0024】SQL変換_Aコンポーネント115aまたはSQL変換_Bコンポーネント115bが行った各DBMSへのアクセス結果は、上述の経路を逆に辿り、SQL変換_AコンポーネントまたはSQL変換_Bコンポーネントによって、標準のデータ形式、および標準のリターン・コードに変換した後、アクセス管理コンポーネントを介してアプリケーション・ソフトウェア111に送られる。【0025】図4は、SQL_RPCの処理を示すフローチャートである。まず、ステップ450で、ネームサーバ情報処理装置150上のネームサーバ151に、SQL_RPCを処理するサーバの物理位置すなわちネットワーク・アドレスとサーバ・コンポーネントのポート番号を問い合わせる。ネットワーク・アドレスとサーバ・コンポーネントのポート番号をもとに、ステップ451でクライアント情報処理装置110上のRPCドライバは、ゲートウェイ情報処理装置130上のアクセス管理コンポーネント112vとRPC接続を行い、SQL_RPCの処理をアクセス管理コンポーネントへ依頼する。ステップ401以下は、アクセス管理コンポーネント112vでの処理内容である。ステップ401では、RPCのパラメータとして送られてきたSQL文を解析し、アクセス先のテーブルが含まれるDBMSの名称を得る。本実施例におけるアクセス管理コンポーネント112vは、単一のDBMS上のテーブルに対する操作だけでなく、複数のDBMS上に跨る複数のテーブルに対するデータの結合などの操作を行えるようするため、ステップ402、403、404では、アクセス先がDBMS_AとDBMS_Bの両方か、DBMS_Aだけか、DBMS_Bだけかをそれぞれ判断する。アクセス先がDBMS_AとDBMS_Bの両方の場合はステップ406で、SQL文をDBMS_Aに対するアクセスと、DBMS_Bに対するアクセスに分割したSQL文を作成する。そして、ステップ407ではDBMS_Aに対して、ステップ408ではDBMS_Bに対するSQL文をパラメータとしたRPC(それぞれSQL_A_RPC、SQL_B_RPCと呼ぶ)を実行し、その結果を得る。ステップ409では、ステップ407、408で得た結果をマージし、分割前のSQL文に対応する結果を作成し、ステップ412でSQL_RPCを完了する。アクセス先がDBMS_AあるいはDBMS_Bだけであった場合は、ステップ410、411でそれぞれSQL文をパラメータとしたRPC(SQL_A_RPCまたはSQL_B_RPC)を発行し、アクセス結果を得、ステップ412でSQL_RPCを完了する。なお、アクセス先がDBMS_AでもDBMS_Bでもない場合は、ステップ405でエラーコードをセットし、SQL_RPCを終了する。」
[図:0001382598000008.jpg]
[図:0001382598000009.jpg]
[図:0001382598000010.jpg]
[図:0001382598000011.jpg]
(2)引用発明A
上記(1)によると、引用文献Aには、図3の従来技術について、
「クライアントの情報処理装置のアプリケーション・ソフトウェアによって、クライアントの情報処理装置からネットワークを介して、複数の異種のデータベースであるDBMS_A、DBMS_Bが動作するデータベース・サーバをアクセスする異種データベース・アクセス・システムのアクセス方法であって、クライアントから、標準仕様のSQL文で問い合わせを行うと、SQL文はゲートウェイ情報処理装置に送られ、ゲートウェイ情報処理装置において、SQL変換_A、SQL変換_Bの各コンポーネントは、受け取ったSQL文をターゲットDBMSの仕様に変換し、各DBMS用のデータベース・ドライバA 122a、データベース・ドライバB 122bを介して、各ターゲットのDBMS_Aによって管理されているサーバ情報処理装置120a、DBMS_Bによって管理されているサーバ情報処理装置120bに変換を行ったSQL文を送信し、各DBMSでの処理結果は、上述の経路を逆に辿り、SQL変換_AまたはSQL変換_Bによって、標準のデータ形式に変換された後、アプリケーション・ソフトウェアに返さされる、異種データベース・アクセス・システムのアクセス方法。」の発明(以下、「引用発明A」という。)が記載されている。
第6 当審の判断
1 本願発明1について
(1)対比
本願発明1と引用発明とを対比する。
ア 引用発明の「複数のローカルデータベースが存在する環境において同じ意味を有するが、ローカルデータベースによってそれぞれ表現が異なるデータ項目をその表現の違いを解消して検索するデータベース異種性解消検索装置における検索方法」は、ローカルデータベースからデータを検索するから、「データベースからデータにアクセスする」ものといえ、「データベース異種性解消検索装置」は、複数のローカルデータベースの表現の違いを解消してローカルデータベースにアクセスするためのアクセスシステムであり、ユーザが利用したい表現形式に標準化してデータベースにアクセスするものであるから、複数のローカルデータベースの表現が異なるデータ項目を表現の違いを解消して検索するものといえる。
よって、引用発明の「複数のローカルデータベースが存在する環境において同じ意味を有するが、ローカルデータベースによってそれぞれ表現が異なるデータ項目をその表現の違いを解消して検索するデータベース異種性解消検索装置における検索方法」は、本願発明1と同様の「データベースからデータにアクセスするデータベースのアクセスシステムによる標準化データベースアクセス方法」であるといえる。
イ 本願発明1における「ハイパーオブジェクト」は、本願明細書【0011】によると、「それぞれがルールを有」し、「別なデータベースからのデータへのアクセスを支配」し、「データベースからデータを検索する選択ハイパーオブジェクトを介してデータリクエストが送られ」るものであり、また、本願明細書【0017】によると、「データベースのデータへのアクセスのリクエストに対する異なるルールおよびデータベースから受け取られるデータを操作するためのルールで構成」され、「ルールのそれぞれは機能操作、論理的決定およびコンテクスト変換を行う」ことができ、また、本願明細書【0019】によると、「ルールの変換部は、サーチ照会において具体的に示されたコンテクストまたは環境に関する付加的なおよび/または具体的なルールを有する」ものである。
一方、引用発明は、「問い合わせ変換部」が、「問い合わせ文の条件式に含まれる値について、ユーザドメインからローカルドメインへの変換関数を」「同じ意味を有するドメイン(データベースのデータ項目の値の表現形式)をドメイングループとし、ドメイン間のデータ変換を行う変換関数を集まりである変換関数ライブラリ」から検索し、当該変換関数又は複数の変換関数の合成変換を用いて問い合わせの条件式に含まれる値をユーザドメインからローカルドメインに変換することにより、ユーザからの問い合わせ文を各ローカルデータベースに適合した問い合わせ文に翻訳するものである。ここで、引用発明の「変換関数」は、ライブラリに格納されており、それぞれが異なる変換ルールを有し、それぞれが、問い合わせ変換部のソフトウェアと協働して、データベースからのデータにアクセスするための手段を構成するものであるから、本願発明1の「データハイパーオブジェクト」に相当するといえる。
よって、引用発明の「同じ意味を有するドメイン(データベースのデータ項目の値の表現形式)をドメイングループとし、ドメイン間のデータ変換を行う変換関数を集まりである変換関数ライブラリ」と、「変換関数を変換関数ライブラリから検索し、当該変換関数又は複数の変換関数の合成変換を用いて問い合わせの条件式に含まれる値をユーザドメインからローカルドメインに変換することにより、ユーザの問い合わせ文を各ローカルデータベースに適合した問い合わせ文に翻訳」する「問い合わせ変換部」とが協働した構成は、本願発明1と同様に「前記アクセスシステムのハイパーオブジェクトライブラリーに格納され、それぞれが異なるルールを有し、かつそれぞれが少なくとも一つのデータハイパーオブジェクトを含む一群のハイパーオブジェクトを管理するソフトウェア手段を提供」するものといえる。
ウ 本願発明1の「ハイパーオブジェクト照会言語(HOQL)」は、本願明細書【0027】によると、「関係型データベース照会に使用される構造化照会言語(SQL)と同様な方法で実行することができ、具体的なアプリケーションに応じて機能拡張を使用することができる。HOQLのシンタックスはSQLのシンタックスと実質的に同じか似ていればよいが、アクションは異なり、例えば第1ハイパーオブジェクトに指示を与え、第2ハイパーオブジェクトに照会のコンテクスト条件に応答してそのルールの変換部を利用するようにコマンドを与えることができる」ものである。
そうすると、引用発明の「SQL言語で作成されたユーザからの問い合わせ文」は、「構文解析部」により受け付けられ、「問い合わせ変換部」において、「変換関数」(データハイパーオブジェクト)の選択に用いられるから、本願発明1と同様の「ハイパーオブジェクト照会言語(HOQL)」であるといえる。また、引用発明の「構文解析部」は、「問い合わせ文に対する処理の全体の流れを制御する問い合わせ処理制御部」により制御されることから、「構文解析部」を制御する「問い合わせ処理制御部」は「エンジン」といえるものである。よって、引用発明の「関係データベースの検索言語であるSQL言語で作成されたユーザからの問い合わせ文を受け、解析」する「構文解析部」の構成は、本願発明1と同様の「ハイパーオブジェクト照会言語(HOQL)エンジンを使用して、前記データベースに記憶された所定のデータに関するHOQL照会を受け取るソフトウェア手段を提供」するものといえる。
エ また、引用発明の「問い合わせ変換部」において、「SQL言語で作成されたユーザからの問い合わせ文」に対応して「変換関数」(データハイパーオブジェクト)を選択することと、本願発明1の「前記HOQL照会に応答して、前記HOQLエンジンの使用によって、少なくとも一つのデータハイパーオブジェクトを選択して、そして前記HOQL照会によって新しいハイパーオブジェクトが望ましいとすると新しいハイパーオブジェクトの作成を指示するソフトウェア手段を提供」することとは、「前記HOQL照会に応答して、前記HOQLエンジンの使用によって、少なくとも一つのデータハイパーオブジェクトを選択するソフトウェア手段を提供」する点で共通する。
オ 引用発明の「ローカルデータベース」は、本願発明1の「データベース」に相当し、引用発明において「ローカルデータベース」にアクセスするための「データベースアクセス部」、「データリクエスト」は、それぞれ、本願発明1の「データベース」にアクセスするための「アダプタ」、「翻訳した問い合わせ文」に相当し、引用発明において、変換関数を用いて問い合わせ分を翻訳することは、変換関数のルールに従って翻訳しているといえるから、引用発明の、変換関数を用いて問い合わせ文を翻訳し、翻訳した問い合わせ文を、データベースアクセス部を介して、各ローカルデータベースに送る「問い合わせ変換部」を構成することと、本願発明1の「前記データベースからデータを検索するために、アダプタを介し、前記データベースに対して前記の選択されたデータハイパーオブジェクトと前記作成された新しいハイパーオブジェクトとを併用して且つそのルールに従ったデータリクエストを送信するソフトウェア手段を提供」することとは、「前記データベースからデータを検索するために、アダプタを介し、前記データベースに対して前記の選択されたデータハイパーオブジェクトを使用して且つそのルールに従ったデータリクエストを送信するソフトウェア手段を提供」する点で共通する。
カ 引用発明において、「翻訳された問い合わせ文は、データベースアクセス部に渡され、各ローカルデータベースに問い合わせが実行され」、「各ローカルデータベースにおいて検索されたデータ」は、「データベースアクセス部」を介して「データ処理部」により受け取られることとは、本願発明1の「前記の選択されたデータハイパーオブジェクトによって使用される前記のリクエストされたデータを前記データベースから前記アダプタを介して受け取るソフトウェア手段を提供」することに相当する。
キ 引用発明の「データ処理部」は、各ローカルデータベースにおいて検索されたデータのドメインを変換関数によりローカルドメインからユーザドメインに変換して、ユーザが利用したい表現形式で検索結果を返すものであり、ここで、ユーザドメインに変換された各ローカルデータベースにおいて検索されたデータは、ユーザが利用したい表現形式の検索結果、すなわち、目的の標準化出力であるといえ、また、ドメインを変換する変換関数は、データハイパーオブジェクトに関連するルールに従ったものといえ、得られた結果は、ローカルデータベースのデータを擬似的にハイパーオブジェクトにしたものといえる。
よって、引用発明の「データ処理部」と、本願発明1の「目的の標準化出力を提供するために、前記の選択されたデータハイパーオブジェクトに関連する前記ルールに従って前記HOQLエンジンに疑似ハイパーオブジェクトとして送信するように、前記のリクエストされたデータを使用するソフトウェア手段を提供する」こととは、「目的の標準化出力を提供するために、前記の選択されたデータハイパーオブジェクトに関連する前記ルールに従って疑似ハイパーオブジェクトとして送信するように、前記のリクエストされたデータを使用するソフトウェア手段を提供する」点で共通する。
(2)一致点、相違点
上記(1)によると、本願発明1と引用発明とは、次の一致点、相違点を有する。
[一致点]
データベースからデータにアクセスするデータベースのアクセスシステムによる標準化データベースアクセス方法において、
前記アクセスシステムのハイパーオブジェクトライブラリーに格納され、それぞれが異なるルールを有し、かつそれぞれが少なくとも一つのデータハイパーオブジェクトを含む一群のハイパーオブジェクトを管理するソフトウェア手段を提供して、
ハイパーオブジェクト照会言語(HOQL)エンジンを使用して、前記データベースに記憶された所定のデータに関するHOQL照会を受け取るソフトウェア手段を提供して、
前記HOQL照会に応答して、前記HOQLエンジンの使用によって、少なくとも一つのデータハイパーオブジェクトを選択するソフトウェア手段を提供して、
前記データベースからデータを検索するために、アダプタを介し、前記データベースに対して前記の選択されたデータハイパーオブジェクトを使用して且つそのルールに従ったデータリクエストを送信するソフトウェア手段を提供して、
前記の選択されたデータハイパーオブジェクトによって使用される前記のリクエストされたデータを前記データベースから前記アダプタを介して受け取るソフトウェア手段を提供して、そして
目的の標準化出力を提供するために、前記の選択されたデータハイパーオブジェクトに関連する前記ルールに従って、疑似ハイパーオブジェクトとして送信するように、前記のリクエストされたデータを使用するソフトウェア手段を提供することを特徴とする標準化データベースアクセス方法。
[相違点1]
HOQL照会に応答して、少なくとも一つのデータハイパーオブジェクトを選択するソフトウェア手段が、本願発明1では、新しいハイパーオブジェクトが望ましいとすると新しいハイパーオブジェクトの作成を指示するのに対し、引用発明では、データを直接変換する変換関数(ハイパーオブジェクト)がない場合は、複数の変換関数の合成変換により行うものであり、新しいハイパーオブジェクトを作成するものではない点。
[相違点2]
データベースからデータを検索するためのデータリクエストが、本願発明1では、「作成された新しいハイパーオブジェクトを併用」したものであるのに対し、引用発明はそうではない点。
[相違点3]
疑似ハイパーオブジェクトが、本願発明1では、「HOQLエンジン」に送信されるのに対し、引用発明では、検索結果としてユーザに返される点。
(3)相違点についての判断
事案に鑑みて、上記[相違点1]及び[相違点2]について先に検討すると、[相違点1]に係る本願発明1の「新しいハイパーオブジェクトが望ましいとすると新しいハイパーオブジェクトの作成を指示する」構成、及び、[相違点2]に係る本願発明1の「作成された新しいハイパーオブジェクトを併用」して、データベースからデータを検索するためのデータリクエストを送信することは、引用文献1には記載されておらず、本願優先日前において周知技術であるともいえない。
そして、本願発明1は、「所定のデータベースのスキーマまたはデータ構造と無関係に、目的の標準化レポートやその他の出力を作成するために、ネイティブデータベースを利用できる。また、スキーマおよび/またはデータベース構造に変化があっても、同じ標準化レポートやその他の出力を簡単に作成できる。」という明細書(【0010】)記載の作用効果を奏するものである。
したがって、本願発明1は、[相違点3]について検討するまでもなく、当業者であっても引用発明に基づいて容易に発明をすることができたものではない。
2 本願発明2について
(1)対比
本願発明2と引用発明とを対比する。
ア 引用発明が、本願発明2と同様に「データベースを用意するソフトウェア手段を提供」していることは明らかである。
イ 本願発明2の「コンテクストハイパーオブジェクト」は、本願細書【0018】によると、「コンテクストデータをリクエストし、かつアダプタ34を介してデータベース36からリクエストされたコンテクストデータを受け取るために使用できるルールで構成することができる。コンテクストデータは調査照会で具体的に挙げられたコンテクストまたは環境に関する情報を有することができる。」というものである。
一方、引用発明の「構文解析部」が、「問い合わせの対象となるローカルデータベースをメタデータ蓄積部から検索し、当該ローカルデータベースのデータ項目のドメインをメタデータ蓄積部においてチェック」することは、各ローカルデータベースの環境に関する情報をメタデータ蓄積部から検索してチェックすることであり、また、引用発明において、変換関数を変換関数ライブラリから検索し、当該変換関数を用いて問い合わせの条件式に含まれる値をユーザドメインからローカルドメインに変換することは、ルールを変換することであるから、引用発明において、メタデータ蓄積部から検索し、ドメインをチェックする機能は、本願発明2の「コンテクストハイパーオブジェクト」に対応する機能であるといえ、引用発明は、本願発明2と同様の「コンテキスハイパーオブジェクト」を有しているといえる。
ウ 引用発明の「同じ意味を有するドメイン(データベースのデータ項目の値の表現形式)をドメイングループとし、ドメイン間のデータ変換を行う変換関数を集まりである変換関数ライブラリ」と、「変換関数を変換関数ライブラリから検索し、当該変換関数又は複数の変換関数の合成変換を用いて問い合わせの条件式に含まれる値をユーザドメインからローカルドメインに変換することにより、ユーザの問い合わせ文を各ローカルデータベースに適合した問い合わせ文に翻訳」する「問い合わせ変換部」とが協働した構成は、上記イを参酌すると、本願発明2と同様に「前記アクセスシステムのハイパーオブジェクトライブラリーに格納され、それぞれが異なるルールを有し、かつそれぞれが少なくとも一つのデータハイパーオブジェクトおよび少なくとも一つのコンテクストハイパーオブジェクトを有する一群のハイパーオブジェクトを管理するソフトウェア手段を提供」するものといえる。
エ 引用発明において、メタデータ蓄積部から検索し、ドメインをチェックする機能は、本願発明2の「コンテクストハイパーオブジェクト」に対応する機能であるといえ、ドメインのチェック結果に基づいて、変換関数を変換関数ライブラリから検索し、当該変換関数を用いて問い合わせの条件式に含まれる値をユーザドメインからローカルドメインに変換することは、ルールを変換することであるから、引用発明のこれらの機能と、本願発明2の「前記コンテクストハイパーオブジェクトが、所定のデータの環境に関する前記データベースに記憶された前記所定のデータのみが選択された部分の前記データベースにコンテクストデータをリクエストするルールを含み、前記の選択されたコンテクストハイパーオブジェクトを用いて、前記データベースにコンテクストデータをリクエストするためのソフトウェア手段を提供し、前記の選択されたデータハイパーオブジェクトの変換部分が使用する前記の選択されたコンテクストハイパーオブジェクトを介してルール変換コマンドを発生して、このルールを修正するソフトウェア手段を提供」することとは、「前記コンテクストハイパーオブジェクトが、所定のデータの環境に関するコンテクストデータをリクエストするルールを含み、前記の選択されたコンテクストハイパーオブジェクトを用いて、コンテクストデータをリクエストするためのソフトウェア手段を提供し、前記の選択されたデータハイパーオブジェクトの変換部分が使用するルールを修正するソフトウェア手段を提供」する点で共通する。
オ 引用発明の「ローカルデータベース」は、本願発明2の「データベース」に相当し、引用発明において「ローカルデータベース」にアクセスするための「データベースアクセス部」、「データリクエスト」は、それぞれ、本願発明2の「データベース」にアクセスするための「アダプタ」、「翻訳した問い合わせ文」に相当し、引用発明において、変換関数を用いて問い合わせ分を翻訳することは、変換関数のルールに従って翻訳しているといえるから、引用発明の、変換関数を用いて問い合わせ文を翻訳し、翻訳した問い合わせ文を、データベースアクセス部を介して、各ローカルデータベースに送る「問い合わせ変換部」を構成することは、本願発明2の「前記データベースからデータを検索するために、その変えられたルールに従ってアダプタを介して前記の選択されたデータハイパーオブジェクトから前記データベースに対するデータリクエストを送るソフトウェア手段を提供」することに相当する。
カ 引用発明において、「翻訳された問い合わせ文は、データベースアクセス部に渡され、各ローカルデータベースに問い合わせが実行され」、「各ローカルデータベースにおいて検索されたデータ」は、「データベースアクセス部」を介して「データ処理部」により受け取られることと、本願発明2の「前記変えられたルールを前記HOQL照会に応答して使用すべきか否かの判断のために前記のリクエストされたコンテクストデータを操作して、そして、前記変えられたルールを使用するならば前記の選択されたデータハイパーオブジェクトに変換コマンドを送り、前記の選択されたデータハイパーオブジェクトによって使用される前記のリクエストされたデータを前記データベースから前記アダプタを介して受け取るソフトウェア手段を提供」することとは、「前記の選択されたデータハイパーオブジェクトによって使用される前記のリクエストされたデータを前記データベースから前記アダプタを介して受け取るソフトウェア手段を提供」する点で共通する。
キ 引用発明の「データ処理部」は、各ローカルデータベースにおいて検索されたデータのドメインを変換関数によりローカルドメインからユーザドメインに変換して、ユーザが利用したい表現形式で検索結果を返すものであり、ここで、ユーザドメインに変換された各ローカルデータベースにおいて検索されたデータは、ユーザが利用したい表現形式の検索結果、すなわち、目的の標準化出力であるといえ、また、ドメインを変換する変換関数は、データハイパーオブジェクトに関連するルールに従ったものといえ、得られた結果は、ローカルデータベースのデータを擬似的にハイパーオブジェクトにしたものといえる。
よって、引用発明の「データ処理部」と、本願発明2の「目的の標準化出力を提供するために、前記の選択されたデータハイパーオブジェクトに関連する前記ルールに従って前記HOQLエンジンに疑似ハイパーオブジェクトとして送信するように、前記のリクエストされたデータを使用するソフトウェア手段を提供する」こととは、「目的の標準化出力を提供するために、前記の選択されたデータハイパーオブジェクトに関連する前記ルールに従って疑似ハイパーオブジェクトとして送信するように、前記のリクエストされたデータを使用するソフトウェア手段を提供する」点で共通する。
(2)一致点、相違点
上記(1)によると、本願発明2と引用発明とは、以下の一致点、相違点を有する。
[一致点]
データベースのアクセスシステムによる標準化データベースアクセス方法において、
データベースを用意するソフトウェア手段を提供し、
前記アクセスシステムのハイパーオブジェクトライブラリーに格納され、それぞれが異なるルールを有し、かつそれぞれが少なくとも一つのデータハイパーオブジェクトおよび少なくとも一つのコンテクストハイパーオブジェクトを有する一群のハイパーオブジェクトを用意するソフトウェア手段を提供して、
ハイパーオブジェクト照会言語(HOQL)エンジンを使用して、前記データベースに記憶された所定のデータに関するHOQL照会を受け取るソフトウェア手段を提供し、
前記HOQL照会に応答して、前記HOQLエンジンを使用して少なくとも一つのデータハイパーオブジェクトを選択するソフトウェア手段を提供し、
前記コンテクストハイパーオブジェクトが、所定のデータの環境に関するコンテクストデータをリクエストするルールを含み、
前記の選択されたコンテクストハイパーオブジェクトを用いて、コンテクストデータをリクエストするためのソフトウェア手段を提供し、
前記の選択されたデータハイパーオブジェクトの変換部分が使用するルールを修正するソフトウェア手段を提供し、
前記データベースからデータを検索するために、その変えられたルールに従ってアダプタを介して前記の選択されたデータハイパーオブジェクトから前記データベースに対するデータリクエストを送るソフトウェア手段を提供し、
前記の選択されたデータハイパーオブジェクトによって使用される前記のリクエストされたデータを前記データベースから前記アダプタを介して受け取るソフトウェア手段を提供し、そして
目的の標準化出力を提供するために、前記の選択されたデータハイパーオブジェクトに関連する前記ルールに従って、疑似ハイパーオブジェクトとして送信するように、前記のリクエストされたデータを使用するソフトウェア手段を提供することを特徴とする標準化データベースアクセス方法。
[相違点2-1]
コンテクストデータオブジェクトが行う、所定のデータの環境に関するコンテクストデータのリクエストが、本願発明2では、所定の環境に関するデータベースに記憶された所定のデータのみが選択された部分のデータベースに対して行われるのに対し、引用発明ではメタデータ蓄積部に対して行われる点。
[相違点2-2]
データハイパーオブジェクトの変換部分が使用するルールの修正が、本願発明2では、コンテクストハイパーオブジェクトを介したルール変換コマンドの発生により行われるのに対し、引用発明では、メタデータ蓄積部のチェックに基づいて、変換関数ライブラリから変換関数を検索することにより行われる点。
[相違点2-3]
データベースに対してデータをリクエストし、受け取るための、「選択されたデータハイパーオブジェクト」について、本願発明2では、「前記変えられたルールを前記HOQL照会に応答して使用すべきか否かの判断のために前記のリクエストされたコンテクストデータを操作して、そして、前記変えられたルールを使用するならば前記の選択されたデータハイパーオブジェクトに変換コマンドを送」るのに対し、引用発明では、そのような構成を有しない点。
[相違点2-4]
疑似ハイパーオブジェクトが、本願発明2では、「HOQLエンジン」に送信されるのに対し、引用発明では、検索結果としてユーザに返される点。
(3)相違点についての判断
事案に鑑みて、上記[相違点2-3]について先に検討すると、[相違点2-3]に係る本願発明2の前記変えられたルールを前記HOQL照会に応答して使用すべきか否かの判断のために前記のリクエストされたコンテクストデータを操作して、そして、前記変えられたルールを使用するならば前記の選択されたデータハイパーオブジェクトに変換コマンドを送」る構成は、引用文献1には記載されておらず、本願優先日前において周知技術であるともいえない。
そして、本願発明2は、「所定のデータベースのスキーマまたはデータ構造と無関係に、目的の標準化レポートやその他の出力を作成するために、ネイティブデータベースを利用できる。また、スキーマおよび/またはデータベース構造に変化があっても、同じ標準化レポートやその他の出力を簡単に作成できる。」という明細書(【0010】)記載の作用効果を奏するものである。
したがって、本願発明2は、他の相違点について検討するまでもなく、当業者であっても引用発明に基づいて容易に発明をすることができたものではない。
3 本願発明3について
本願発明3は、本願発明1の「標準化データベースアクセス方法」の発明を「プログラム」の発明として記載したものであり、本願発明1の上記[相違点1]に対応する「前記一群のハイパーオブジェクトが十分でないとすると新しいハイパーオブジェクトの作成を指示する」構成、及び、本願発明1の上記[相違点2]に対応する「作成された新しいハイパーオブジェクトを併用」して、データベースからデータを検索するためのデータリクエストを送る構成は、引用文献1には記載されておらず、本願優先日前において周知技術であるともいえない。
そして、本願発明3は、「所定のデータベースのスキーマまたはデータ構造と無関係に、目的の標準化レポートやその他の出力を作成するために、ネイティブデータベースを利用できる。また、スキーマおよび/またはデータベース構造に変化があっても、同じ標準化レポートやその他の出力を簡単に作成できる。」という明細書(【0010】)記載の作用効果を奏するものである。
よって、本願発明3は、引用発明に基づいて当業者が容易に発明をすることができたものではない。
4 原査定について
令和3年10月19日にされた手続補正により、本願発明1は、「新しいハイパーオブジェクトが望ましいとすると新しいハイパーオブジェクトの作成を指示する」構成、及び、「作成された新しいハイパーオブジェクトを併用」して、データベースからデータを検索するためのデータリクエストを送信する構成を有し、本願発明2は、「前記変えられたルールを前記HOQL照会に応答して使用すべきか否かの判断のために前記のリクエストされたコンテクストデータを操作して、そして、前記変えられたルールを使用するならば前記の選択されたデータハイパーオブジェクトに変換コマンドを送」る構成、本願発明3は、「前記一群のハイパーオブジェクトが十分でないとすると新しいハイパーオブジェクトの作成を指示する」構成、及び、「作成された新しいハイパーオブジェクトを併用」して、データベースからデータを検索するためのデータリクエストを送る構成を有するものとなっており、本願発明1~3は、当業者であっても、原査定の拒絶の理由において引用された引用発明Aに基づいて、容易に発明をすることができたものとはいえない。したがって、原査定の理由を維持することはできない。
第7 むすび
以上のとおり、原査定の理由及び当審において通知した拒絶の理由によっては、本願を拒絶することはできない。
また、他に本願を拒絶すべき理由を発見しない。
よって、結論のとおり審決する。
審決本文(J-PlatPat)
J-PlatPatの審決検索トップを開きます。番号入力で「審判番号」を選び、下の番号を貼り付けて検索してください。
2020-001340