(57)【要約】  データベースが検索できない情報が含まれていた場合であっても、高速な検索処理を可能にする条件生成装置等が提供される。条件生成装置１０１は、データベースから情報を抽出する条件を表す第１検索条件及び第２検索条件が含まれている対象検索条件２０１のうち、第１検索条件に含まれている一部の検索条件が成り立つか否かを表す真偽値を算出し、算出した真偽値を一部の検索条件に設定し、真偽値を設定した対象検索条件２０１の成否に応じて、第２検索条件の真偽に依存する第３検索条件２０２を生成する条件生成部１０２を有する。
2015194117.tif 000002
【特許請求の範囲】
【請求項１】
データベースから情報を抽出する条件を表す第１検索条件及び第２検索条件が含まれている対象検索条件のうち、前記第１検索条件に含まれている一部の検索条件が成り立つか否かを表す真偽値を算出し、算出した真偽値を前記一部の検索条件に設定し、前記真偽値を設定した前記対象検索条件の成否に応じて、前記第２検索条件の真偽に依存する第３検索条件を生成する条件生成手段
を備える条件生成装置。
【請求項２】
前記条件生成手段は、前記真偽値が設定された前記第１検索条件を含む前記対象検索条件が、前記第２検索条件に関する真偽値に関わらずに成否が決まるか否かを判定することによって、前記第３検索条件を生成する
請求項１に記載の条件生成装置。
【請求項３】
前記条件生成手段は、前記真偽値として、前記一部の検索条件が成立する真値、及び、前記条件が成立しない偽値を算出し、算出した前記真値を前記条件に設定することによって前記対象検索条件の成否を判定し、さらに、算出した前記偽値を前記一部の検索条件に設定することによって前記対象検索条件の成否を判定する
請求項１または請求項２に記載の条件生成装置。
【請求項４】
請求項１乃至請求項３のいずれかに記載の条件生成装置と、
前記条件生成装置が算出する前記第３検索条件に含まれる前記第１検索条件を用いて記述された検索命令に従い、前記データベースから抽出される第１情報を得る第１処理手段と、
前記第３検索条件に含まれている前記第２検索条件を用いて記述された検索命令を実行することにより、前記第１情報に含まれる値のうち、前記第３検索条件が成立する値を抽出する第２処理手段と
を備えるデータベース検索システム。
【請求項５】
前記第１処理手段、及び、前記第２処理手段は、前記条件生成装置が偽であると判定した検索条件を用いて記述された検索命令を実行しない
請求項４に記載のデータベース検索システム。
【請求項６】
データベースから情報を抽出する条件を表す第１検索条件及び第２検索条件が含まれている対象検索条件のうち、前記第１検索条件に含まれている一部の検索条件が成り立つか否かを表す真偽値を算出し、算出した真偽値を前記一部の検索条件に設定し、前記真偽値を設定した前記対象検索条件の成否に応じて、前記第２検索条件の真偽に依存する第３検索条件を生成する条件生成方法。
【請求項７】
データベースから情報を抽出する条件を表す第１検索条件及び第２検索条件が含まれている対象検索条件のうち、前記第１検索条件に含まれている一部の検索条件が成り立つか否かを表す真偽値を算出し、算出した真偽値を前記一部の検索条件に設定し、前記真偽値を設定した前記対象検索条件の成否に応じて、前記第２検索条件の真偽に依存する第３検索条件を生成する条件生成機能
をコンピュータに実現させる条件生成プログラムが格納された記録媒体。
【請求項８】
前記条件生成機能は、前記真偽値が設定された前記第１検索条件を含む前記対象検索条件が、前記第２検索条件に関する真偽値に関わらずに成否が決まるか否かを判定することによって、前記第３検索条件を生成する機能を含む
請求項７に記載の条件生成プログラムが格納された記録媒体。
【請求項９】
前記条件生成機能は、前記真偽値として、前記条件が成立する真値、及び、前記条件が成立しない偽値を算出し、算出した前記真値を前記条件に設定することによって前記対象検索条件の成否を判定し、さらに、算出した前記偽値を前記条件に設定することによって前記対象検索条件の成否を判定する
請求項８に記載の条件生成プログラムが格納された記録媒体。
【請求項１０】
請求項７乃至請求項９のいずれかに記載の条件生成プログラムと、
前記条件生成装置が算出する前記第３検索条件に含まれる前記第１検索条件を用いて記述された検索命令に従い、前記データベースが抽出する第１情報を得る第１処理機能と、
前記第３検索条件に含まれている前記第２検索条件を用いて記述された検索命令を実行することにより、前記第１情報に含まれる値のうち、前記第３検索条件が成立する値を抽出する第２処理機能と
をコンピュータに実現させるデータベース検索プログラムが格納された記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データベース等に関する検索条件を求める条件生成装置等に関する。
【背景技術】
【０００２】
データベース貸し出しサービス（ＤａｔａＢａｓｅ＿ａｓ＿ａ＿Ｓｅｒｖｉｃｅ、以降、「ＤＢａａＳ」と表す）は、ユーザが外部のデータベース（ＤａｔａＢａｓｅ。以降、「ＤＢ」と表す）に、ユーザが有するデータを保管するサービスを表す。クラウドコンピューティングに見られるように、ユーザが外部の計算機リソースを利用するサービスが普及するにつれ、ＤＢａａＳは、広く普及すると期待される。【０００３】
ＤＢａａＳは、ＤＢが格納するデータ（情報）の中から、所望の情報を検索する機能を有する。ユーザは、該機能を利用することにより、該ＤＢに格納されている情報に基づき所望の情報を抽出する。この場合に、ＤＢａａＳは、ユーザが送信する検索命令（クエリ）を受信するのに応じて、該検索命令を実行することにより、所望の情報を抽出する。次に、ＤＢａａＳは、抽出した情報を該ユーザに送信する。【０００４】
しかし、ＤＢが検索可能な検索命令の種類は、制限される場合がある。たとえば、ＤＢが、「検索可能暗号」等の暗号方式を採用する場合（たとえば、非特許文献１及び２に例示されている「暗号化データベース」である場合）に、ＤＢが検索可能な検索命令の種類は制限される。【０００５】
検索可能暗号方式は、暗号化された情報（暗号文）を復号化することなく、検索を可能にする技術である。たとえば、検索可能暗号方式は、検索対象である情報に関して、暗号を用いることにより秘匿性を守りつつ、かつ、暗号化された情報において、検索命令に応じて検索することを可能にする。【０００６】
たとえば、非特許文献３は、一致検索暗号方式と呼ばれる検索可能暗号方式の一例を開示する。該一致検索暗号方式においては、該情報を復号化することなく、暗号化された情報が所定の値に等しいか否かを判定する。【０００７】
また、たとえば、非特許文献４は、順序保存暗号方式と呼ばれる検索可能暗号方式の一例を開示する。該順序保存暗号方式においては、該情報を復号化することなく、暗号化された情報が基準を満足するか否かを判定する。【０００８】
ここで、順序保存暗号方式について説明する。暗号化されていない値ｘに関して、秘密鍵Ｋを用いて暗号化する場合に算出される暗号文をＥ（Ｋ、ｘ）と表す。尚、順序保存暗号方式において、暗号文Ｅ（Ｋ、ｘ）は、たとえば、整数値である。【０００９】
この場合に、順序保存暗号方式において、暗号化されていない値ａが、暗号化されていない値ｂより大きいことに関する必要十分条件は、暗号文Ｅ（Ｋ、ａ）の値が暗号文Ｅ（Ｋ、ｂ）の値より大きいことである。したがって、「Ｅ（Ｋ、ａ）の値がＥ（Ｋ、ｂ）の値より大きい」は、「整数値としてＥ（Ｋ、ａ）の値が値Ｅ（Ｋ、ｂ）の値より大きい」ことを表す。【００１０】
たとえば、暗号化されていない値ａは、秘密鍵Ｋを用いて、暗号文Ｅ（Ｋ、ａ）に暗号化される。暗号化ＤＢは、「Ｅ（Ｋ、ａ）の値以上である」という検索条件が成立する情報を全て抽出せよ」という検索命令を受信する。データベースは、受信した検索命令に従い、情報を抽出する。この場合に、情報は、暗号化されている。したがって、所望の情報は、データベースが抽出する情報を復号化することにより、抽出される。【００１１】
暗号化ＤＢは、ＤＢａａＳの一例であり、検索可能暗号方式を用いることにより実現されるセキュアなＤＢである。暗号化ＤＢは、検索可能暗号方式に従い暗号化された情報を格納する。暗号化ＤＢは、検索可能暗号方式に従い、暗号化された検索条件を用いて記述された検索命令を受信し、復号化することなく、該検索命令に応じて情報を抽出する。【００１２】
しかし、暗号化ＤＢが検索可能な検索命令の種類は、制限される場合がある。たとえば、非特許文献３に開示された一致検索暗号方式を採用する暗号化ＤＢにおいて、復号化することなく検索可能な命令の種類は、「暗号化された情報が、所定の値に等しいか否か」に応じて検索する検索命令のみである。また、非特許文献４に開示された順序保存暗号方式を採用する暗号化ＤＢにおいて、復号化することなく検索可能な命令の種類は、「暗号化された情報が、所定の値以上であるか否か」に応じて検索する検索命令のみである。【００１３】
もちろん、暗号化ＤＢは、暗号化された情報を、該暗号化する秘密鍵に基づき復号化し、復号化した情報を用いて検索可能になる。しかし、暗号化ＤＢが暗号化する秘密鍵に関する情報を有するのは、情報に関する安全性の観点から好ましくない。したがって、暗号化ＤＢは、暗号化する秘密鍵に関する情報を有さない構成が採用されることが多い。係る構成の場合に、暗号化ＤＢに格納されている暗号化された情報を復号化することができないので、暗号化ＤＢが検索可能な検索命令の種類は、制限される。【００１４】
また、特許文献１は、格納対象である情報を暗号化する場合に、同一の情報であっても、暗号化された情報が異なる暗号方式を採用するデータベース暗号システムの一例を開示する。該データベース暗号システムは、上述した暗号化ＤＢと同様に、一致検索する命令に応じて情報を抽出する。しかし、該データベース暗号システムによれば、抽出可能な情報が制限される。
【先行技術文献】
【特許文献】
【００１５】
【特許文献１】特開２０１１−１９８０７９号公報
【非特許文献】
【００１６】
【非特許文献１】Ｒａｌｕｃａ＿Ａｄａ＿Ｐｏｐａ，  Ｃａｔｈｅｒｉｎｅ＿Ｍ．Ｓ．Ｒｅｄｆｉｅｌｄ，  Ｎｉｃｋｏｌａｉ＿Ｚｅｌｄｏｖｉｃｈ，  ａｎｄ  Ｈａｒｉ＿Ｂａｌａｋｒｉｓｈｎａｎ．  ＣｒｙｐｔＤＢ：  Ｐｒｏｔｅｃｔｉｎｇ＿Ｃｏｎｆｉｄｅｎｔｉａｌｉｔｙ＿ｗｉｔｈ＿Ｅｎｃｒｙｐｔｅｄ＿Ｑｕｅｒｙ＿Ｐｒｏｃｅｓｓｉｎｇ．  Ｉｎ＿Ｐｒｏｃｅｅｄｉｎｇｓ＿ｏｆ＿ｔｈｅ＿２３ｒｄ＿ＡＣＭ＿Ｓｙｍｐｏｓｉｕｍ＿ｏｎ＿Ｏｐｅｒａｔｉｎｇ＿Ｓｙｓｔｅｍｓ＿Ｐｒｉｎｃｉｐｌｅｓ＿（ＳＯＳＰ＿２０１１）：  ８５頁〜１００頁
【非特許文献２】Ｃｒａｉｇ＿Ｇｅｎｔｒｙ：  Ｆｕｌｌｙ＿ｈｏｍｏｍｏｒｐｈｉｃ＿ｅｎｃｒｙｐｔｉｏｎ＿ｕｓｉｎｇ＿ｉｄｅａｌ＿ｌａｔｔｉｃｅｓ．  ＳＴＯＣ＿２００９，  Ｐｒｏｃｅｅｄｉｎｇｓ＿ｏｆ＿ｔｈｅ＿ｆｏｒｔｙ−ｆｉｒｓｔ＿ａｎｎｕａｌ＿ＡＣＭ＿ｓｙｍｐｏｓｉｕｍ＿ｏｎ＿Ｔｈｅｏｒｙ＿ｏｆ＿ｃｏｍｐｕｔｉｎｇ：  １６９頁〜１７８頁
【非特許文献３】Ｐｒａｃｔｉｃａｌ＿Ｔｅｃｈｎｉｑｕｅｓ＿ｆｏｒ＿Ｓｅａｒｃｈｅｓ＿ｏｎ＿Ｅｎｃｒｙｐｔｅｄ＿Ｄａｔａ．  Ｄ．Ｓｏｎｇ，  Ｄ．Ｗａｇｎｅｒ，  ａｎｄ  Ａ．Ｐｅｒｒｉｇ．  Ｉｎ＿ｔｈｅ＿Ｐｒｏｃｅｅｄｉｎｇｓ＿ｏｆ＿ＩＥＥＥ＿Ｓｙｍｐｏｓｉｕｍ＿ｏｎ＿Ｒｅｓｅａｒｃｈ＿ｉｎ＿Ｓｅｃｕｒｉｔｙ＿ａｎｄ＿Ｐｒｉｖａｃｙ，  ２０００．：  ４４頁〜５５頁
【非特許文献４】Ａｌｅｘａｎｄｒａ＿Ｂｏｌｄｙｒｅｖａ，  Ｎａｔｈａｎ＿Ｃｈｅｎｅｔｔｅ，  Ｙｏｕｎｈｏ＿Ｌｅｅ，  Ａｄａｍ＿ＯＮｅｉｌｌ：  Ｏｒｄｅｒ−Ｐｒｅｓｅｒｖｉｎｇ＿Ｓｙｍｍｅｔｒｉｃ＿Ｅｎｃｒｙｐｔｉｏｎ．  ＥＵＲＯＣＲＹＰＴ＿２００９：  ２２４頁〜２４１頁
【発明の概要】
【発明が解決しようとする課題】
【００１７】
上述したように、たとえば、暗号化ＤＢが検索可能な検索命令の種類は、制限される場合がある。たとえば、検索命令が、「２乗することにより算出される値が８以上になる」という検索条件が成立する情報を抽出する命令である場合に、暗号化ＤＢは、該検索命令に応じた検索を実行することができない。この理由は、暗号化ＤＢが、暗号化に必要な秘密鍵を有さないので、暗号文を復号化できないからである。【００１８】
したがって、この場合に、暗号化ＤＢは、必ずしも、所望の検索条件を用いて記述された検索命令に応じて情報を抽出できるとは限らない。【００１９】
そこで、本発明の主たる目的は、データベースが検索できない情報が含まれていた場合であっても、高速な検索処理を可能にする条件生成装置等を提供することである。
【課題を解決するための手段】
【００２０】
前述の目的を達成するために、本発明の一態様において、条件生成装置は、
データベースから情報を抽出する条件を表す第１検索条件及び第２検索条件が含まれている対象検索条件のうち、前記第１検索条件に含まれている一部の検索条件が成り立つか否かを表す真偽値を算出し、算出した真偽値を前記一部の検索条件に設定し、前記真偽値を設定した前記対象検索条件の成否に応じて、前記第２検索条件の真偽に依存する第３検索条件を生成する条件生成手段
を備える。【００２１】
また、本発明の他の見地として、条件生成方法は、
データベースから情報を抽出する条件を表す第１検索条件及び第２検索条件が含まれている対象検索条件のうち、前記第１検索条件に含まれている一部の検索条件が成り立つか否かを表す真偽値を算出し、算出した真偽値を前記一部の検索条件に設定し、前記真偽値を設定した前記対象検索条件の成否に応じて、前記第２検索条件の真偽に依存する第３検索条件を生成する。【００２２】
さらに、同目的は、係る条件生成プログラム、および、そのプログラムを記録するコンピュータ読み取り可能な記録媒体によっても実現される。
【発明の効果】
【００２３】
本発明に係る条件生成装置等によれば、データベースが検索できない情報が含まれていた場合であっても、高速な検索処理が可能になる。
【図面の簡単な説明】
【００２４】
【図１】本発明の第１の実施形態に係る条件生成装置が有する構成を示すブロック図である。
【図２】第１の実施形態に係る条件生成装置における処理の流れを示すフローチャートである。
【図３】第２の実施形態に係る条件生成装置が有する構成を示すブロック図である。
【図４】第２の実施形態に係る条件生成装置における処理の流れを示すフローチャートである。
【図５】本発明の第３の実施形態に係るデータベース検索システムが有する構成を示すブロック図である。
【図６】第３の実施形態に係るデータベース検索システムにおける処理の流れを示すフローチャートである。
【図７】本発明の第４の実施形態に係るデータベース検索システムが有する構成を示すブロック図である。
【図８】第４の実施形態に係るデータベース検索システムにおける処理の流れを示すフローチャートである。
【図９】本発明の各実施形態に係る条件生成装置またはデータベース検索システムを実現可能な計算処理装置のハードウェア構成例を、概略的に示すブロック図である。
【発明を実施するための形態】
【００２５】
まず、発明の理解を容易にするため、本発明が解決しようとする課題を詳細に説明する。
【００２６】
暗号化ＤＢは、暗号化されている情報を復号化することによって、所定の検索条件以外の条件を含む任意の検索命令を実行することができる。たとえば、検索命令が所定の検索条件以外のある検索条件を含む場合に、暗号化ＤＢは、該暗号化ＤＢにおける全ての暗号化された情報を復号化し、復号化した情報に対して、該ある検索条件に応じた検索命令を実行する。これによって、暗号化ＤＢは、所定の検索条件以外の検索条件を含む検索命令であっても検索することができる。
【００２７】
本願発明者は、所望の検索条件に基づき、暗号化ＤＢを検索する手法に関する課題を見出した。
【００２８】
すなわち、所望の検索条件にて検索する場合に、本発明の各実施形態に係る条件生成装置は、該所望の検索条件を、暗号化ＤＢが検索可能な検索条件Ｐと、暗号化ＤＢが検索不可能な検索条件Ｑとに分類する。次に、該条件生成装置は、検索条件Ｐを用いて記述された検索命令を暗号化ＤＢに送信する。次に、該条件生成装置は、該暗号化ＤＢから暗号文を受信し、受信した暗号文を復号化し、復号化した情報を用いて、検索条件Ｑに関する検索を実行する。
【００２９】
すなわち、本願発明者は、所望の検索条件を、検索条件Ｐと、検索条件Ｑとに分類することにより、該所望の検索条件に応じた検索を実行することができることを見出すとともに、上述した課題を解決する手段を導出するに至った。
【００３０】
以降、このような課題を解決可能な、本発明を実施する実施形態について、図面を参照しながら説明する。
【００３１】
＜第１の実施形態＞
本発明の第１の実施形態に係る条件生成装置１０１が有する構成と、条件生成装置１０１が行う処理とについて、図１と図２とを参照しながら詳細に説明する。図１は、本発明の第１の実施形態に係る条件生成装置１０１が有する構成を示すブロック図である。図２は、第１の実施形態に係る条件生成装置１０１における処理の流れを示すフローチャートである。
【００３２】
第１の実施形態に係る条件生成装置１０１は、条件生成部１０２を有する。
【００３３】
まず、たとえば、ユーザは、データベース１５１から所望の情報を抽出する対象検索条件２０１を用いて記述された検索命令を条件生成装置１０１に送信する。
【００３４】
対象検索条件２０１は、データベース１５１が検索可能な検索条件（以降、「第１検索条件」と表す）と、データベース１５１が検索不可能な検索条件（以降、「第２検索条件」と表す）とを含む。すなわち、対象検索条件２０１は、第１検索条件と、第２検索条件とを含む検索条件である。
【００３５】
たとえば、データベース１５１は、順序保存暗号方式に従い暗号化された情報を記憶可能な場合に、検索条件Ｐ「ａ以上である」によって記述された検索命令「検索条件Ｐが成立する情報を全て抽出する」に応じた検索を実行することができる。すなわち、第１検索条件は、検索条件Ｐを含む。その一方で、データベース１５１は、検索条件Ｑ「２乗することにより算出される値が８以上になる」によって記述された検索命令「検索条件Ｑが成立する情報を全て抽出する」という命令に応じた検索を実行することができない。これは、データベース１５１が、暗号化に要する秘密鍵を有さないので、暗号文を復号化することができないからである。すなわち、第２検索条件は、検索条件Ｑを含む。
【００３６】
説明の便宜上、第１検索条件は、検索条件Ｐ１、及び、検索条件Ｐ２を含むとする。第２検索条件は、検索条件Ｑ１、及び、検索条件Ｑ２を含むとする。また、対象検索条件２０１は、式１に示された関数Wを用いて表されているとする。すなわち、
（対象検索条件２０１）＝Ｗ（Ｐ１、Ｐ２、Ｑ１、Ｑ２）・・・（式１）、
ただし、Ｗ（Ｐ１、Ｐ２、Ｑ１、Ｑ２）＝（Ｐ１∧Ｑ１）∨（¬Ｐ２∧Ｑ２）であるとする。∧は、論理積演算子を表す。∨は、論理和演算子を表す。¬は、否定演算子を表す。また、Ｗは、対象検索条件２０１を表す関数である。
【００３７】
ただし、対象検索条件２０１、第１検索条件、及び、第２検索条件は、上述した例に限定されない。
【００３８】
式１に例示される対象検索条件２０１は、論理式を概念的に表すので、上述した表記に限定されない。たとえば、対象検索条件２０１は、ポーランド記法、あるいは、逆ポーランド記法に従い表されてもよい。
【００３９】
本実施形態において、第１検索条件及び第２検索条件に含まれる条件を、Ｐ１等の条件を表す符号を用いて表すが、これらの符号は、実装上、たとえば、主記憶装置等における特定の記憶領域を示すアドレスであってもよい。したがって、条件を表す符号（アドレス）が指し示す領域は、真偽値を記憶することができる。また、対象検索条件２０１は、特定の記憶領域に記憶されている真偽値に基づく演算を表す。
【００４０】
以降、条件が成立することを表す真偽値を「真」（真値、以降、「Ｔ」と表す）、条件が成立しないことを表す真偽値を「偽」（偽値、以降、「Ｆ」と表す）と表す。
【００４１】
検索条件に含まれる条件は、該条件が成立するか否か（すなわち、「真偽を表す値」、「真偽値」）に応じて、「Ｔ」または「Ｆ」という真偽値を記憶することができる。
【００４２】
まず、条件生成部１０２は、対象検索条件２０１を受信する。次に、条件生成部１０２は、受信した対象検索条件２０１における第１検索条件に含まれる検索条件Ａが成立するか否かを表す値（すなわち、「真偽値」）を算出する。次に、条件生成部１０２は、対象検索条件２０１における検索条件Ａに、算出した真偽値が設定されている検索条件Ｂを作成（生成）する（ステップＳ１０１）。
【００４３】
すなわち、ステップＳ１０１において、条件生成部１０２は、検索条件Ｐ１及び検索条件Ｐ２に関して、成立するか否かを表す真偽値を算出し、対象検索条件２０１に含まれている検索条件Ｐ１及び検索条件Ｐ２に、算出した真偽値を設定することにより検索条件Ｂを作成する。この場合に、条件生成部１０２は、第１検索条件に含まれる検索条件Ａに関して、それぞれ、真偽値を設定することにより、検索条件Ｂを作成してもよい。
【００４４】
たとえば、条件生成部１０２は、検索条件Ｐ１に関して「Ｔ」及び「Ｆ」を算出し、算出した真偽値を、対象検索条件２０１内の検索条件Ｐ１が指し示す記憶領域に設定することによって、検索条件Ｂを求める。条件生成部１０２は、対象検索条件２０１内の検索条件Ａに真偽値が設定された検索条件Ｂを作成し、作成した検索条件Ｂと、該検索条件Ａとが論理積演算を用いて結合された検索条件Ｃを作成する。この場合に、条件生成部１０２は、設定した真偽値が真である場合に、検索条件Ａと、検索条件Ｂとが論理積演算を用いて結合された検索条件Ｃを作成する。また、条件生成部１０２は、設定した真偽値が偽である場合に、検索条件Ａの否定（形）と、検索条件Ｂとが論理積演算を用いて結合された検索条件Ｃを作成する。条件生成部１０２は、作成した検索条件Ｃが論理和演算を用いて結合された検索条件Ｄを作成する。
【００４５】
尚、条件生成部１０２が作成した検索条件Ｄは、対象検索条件２０１と等価である。この理由は、対象検索条件２０１が、検索条件Ａの真偽値を用いて場合わけされることによって検索条件Ｃが作成され、該場合わけされた場合の検索条件Ｃが論理和演算を用いて結合された検索条件Ｄが作成されるからである。
【００４６】
すなわち、この例において、条件生成部１０２は、まず、式１なる検索条件（すなわち、対象検索条件２０１）を構成している関数Ｗに含まれる検索条件Ｐ１に真偽値が設定された検索条件Ａを作成する。より具体的に、条件生成部１０２は、対象検索条件２０１内の検索条件Ｐ１に真偽値を設定することによって、Ｗ（Ｔ、Ｐ２、Ｑ１、Ｑ２）、及び、Ｗ（Ｆ、Ｐ２、Ｑ１、Ｑ２）を算出する。
【００４７】
次に、条件生成部１０２は、検索条件Ｐ１と、該真偽値が設定された対象検索条件２０１とが、論理積演算を用いて結合された検索条件Ｃを作成する。検索条件Ｃは、上記の例の場合に、後述する式３及び式４に示す検索条件として求めることができる。より具体的に、条件生成部１０２は、たとえば、対象検索条件２０１内の検索条件Ｐ１に真値「T」を設定した場合に、式３（後述）なる検索条件Ｃを算出する。また、条件生成部１０２は、検索条件Ｐ１に偽値「F」を設定した場合に、式４（後述）なる検索条件Ｃを算出する。
【００４８】
次に、条件生成部１０２は、算出した検索条件Ｃ（たとえば、式３、及び、式４）が論理和演算を用いて結合された検索条件Ｄを作成する。すなわち、この例の場合に、条件生成部１０２は、式２になる検索条件Ｄを作成する。
【００４９】
（Ｐ１∧Ｗ（Ｔ、Ｐ２、Ｑ１、Ｑ２））∨（¬Ｐ１∧Ｗ（Ｆ、Ｐ２、Ｑ１、Ｑ２））・・・（式２）。
【００５０】
検索条件Ｐ１が成立する（すなわち、Ｐ１＝T）場合に、「¬Ｐ１」は偽である。この結果、「¬Ｐ１」と、Ｗ（Ｆ、Ｐ２、Ｑ１、Ｑ２）とが論理積演算を用いて結合された検索条件Ｃ（この例の場合、式４）は、偽である。つまり、Ｗ（Ｆ、Ｐ２、Ｑ１、Ｑ２）の値に関わらず、式４なる検索条件Ｃは、偽である。したがって、この場合に、式２なる検索条件Ｄにおいて式４なる検索条件Ｃが偽であるので、式２なる検索条件Ｄは、式３なる検索条件Ｃに等価である。
【００５１】
Ｐ１∧Ｗ（Ｔ、Ｐ２、Ｑ１、Ｑ２）・・・（式３）。
【００５２】
一方、式２なる検索条件Ｄにおいて、検索条件Ｐ１が成立しない（すなわち、Ｐ１＝F）場合に、「Ｐ１」は偽である。この結果、「Ｐ１」と、Ｗ（Ｔ、Ｐ２、Ｑ１、Ｑ２）とが論理積演算を用いて結合された検索条件Ｃ（この例の場合、式３）は、偽である。つまり、Ｗ（Ｔ、Ｐ２、Ｑ１、Ｑ２）の値に関わらず、式３なる検索条件は偽である。したがって、この場合に、式２なる検索条件Ｄにおいて式３なる検索条件Ｃが偽であるので、式２なる検索条件Ｄは、式４なる検索条件Ｃに等価である。
【００５３】
¬Ｐ１∧Ｗ（Ｆ、Ｐ２、Ｑ１、Ｑ２）・・・（式４）。
【００５４】
式２乃至式４を参照しながら、条件生成部１０２における処理について説明する。条件生成部１０２は、対象検索条件２０１に含まれる検索条件Ｐ１（すなわち、検索条件Ａ）に「Ｔ」を設定することにより、Ｗ（Ｔ、Ｐ２、Ｑ１、Ｑ２）（すなわち、検索条件Ｂ）を作成する。検索条件Ａに「Ｔ」が設定されたので、条件生成部１０２は、検索条件Ａと、検索条件Ｂとが論理積演算子を用いて結合された検索条件Ｃ（たとえば、式３）を作成する。
【００５５】
同様に、たとえば、条件生成部１０２は、対象検索条件２０１に含まれる検索条件Ｐ１（すなわち、検索条件Ａ）に「Ｆ」を設定することにより、Ｗ（Ｆ、Ｐ２、Ｑ１、Ｑ２）（すなわち、検索条件Ｂ）を生成する。検索条件Ａに「Ｆ」が設定されたので、条件生成部１０２は、検索条件Ａの否定と、検索条件Ｂとが論理積演算子を用いて結合された検索条件Ｃ（たとえば、式４）を作成する。
【００５６】
次に、条件生成部１０２は、論理和演算を用いて、作成した検索条件Ｃを結合することにより、検索条件Ｄを生成する。
【００５７】
条件生成部１０２が、生成した検索条件Ｄ（たとえば、式２）に対して、さらに、検索条件Ｐ２に関して真偽値「Ｔ」及び「Ｆ」を算出し、算出した真偽値を、検索条件Ｐ２を指し示す記憶領域に設定する場合を考える。すなわち、この場合に、条件生成部１０２は、式３なる検索条件Ｃ、及び、式４なる検索条件Ｃに基づき、各検索条件に等価な検索条件を算出する。
【００５８】
より具体的に、条件生成部１０２は、式３なる検索条件Ｃにおいて、検索条件Ｄ内の検索条件Ｐ２を指し示す記憶領域に真偽値が設定された検索条件Ｅを作成する。この場合に、条件生成部１０２は、検索条件Ｃ内の検索条件Ｐ２に真偽値を設定することによって、検索条件Ｅ「Ｐ１∧Ｗ（Ｔ、Ｔ、Ｑ１、Ｑ２）」、及び、検索条件Ｅ「Ｐ１∧Ｗ（Ｔ、Ｆ、Ｑ１、Ｑ２）」を算出する。
【００５９】
次に、条件生成部１０２は、算出した検索条件Ｅと、検索条件Ｐ２とが論理積演算を用いて結合された検索条件Ｋを作成する。この場合に、検索条件Ｐ１に関する処理と同様に、条件生成部１０２は、設定した真偽値が真である場合に、検索条件Ｅと、検索条件Ｐ２とが論理積演算を用いて結合された検索条件Ｋを作成する。また、条件生成部１０２は、設定した真偽値が偽である場合に、検索条件Ｐ２の否定（形）と、検索条件Ｅとが論理積演算を用いて結合された検索条件Ｋを作成する。この例の場合に、条件生成部１０２は、式３なる検索条件Ｃに関して、検索条件Ｋ「Ｐ１∧Ｐ２∧Ｗ（Ｔ、Ｔ、Ｑ１、Ｑ２）」、及び、検索条件Ｋ「Ｐ１∧¬Ｐ２∧Ｗ（Ｔ、Ｆ、Ｑ１、Ｑ２）」を作成する。
【００６０】
条件生成部１０２は、算出した検索条件Ｋが論理和演算を用いて結合された検索条件Ｈを作成する。この例の場合に、条件生成部１０２は、式５なる検索条件Ｈを作成する。
【００６１】
（Ｐ１∧Ｐ２∧Ｗ（Ｔ、Ｔ、Ｑ１、Ｑ２））∨（Ｐ１∧¬Ｐ２∧Ｗ（Ｔ、Ｆ、Ｑ１、Ｑ２））・・・（式５）。
【００６２】
さらに、条件生成部１０２は、式５を算出した処理と同様の処理によって、検索条件Ｄ内の式４なる検索条件に関して、式６なる検索条件Ｈを算出する。
【００６３】
（¬Ｐ１∧Ｐ２∧Ｗ（Ｆ、Ｔ、Ｑ１、Ｑ２））∨（¬Ｐ１∧¬Ｐ２∧Ｗ（Ｆ、Ｆ、Ｑ１、Ｑ２））・・・（式６）。
【００６４】
条件生成部１０２は、算出した検索条件Hが論理和演算を用いて結合された検索条件Ｊを作成する。この例の場合に、条件生成部１０２は、式５なる検索条件と、式６なる検索条件とが結合された検索条件Ｊ（この例の場合に、式５∨式６）を算出する（ステップＳ１０２）。
【００６５】
この結果、条件生成部１０２が作成した検索条件Ｊは、検索条件Ｄと等価である。この理由は、検索条件Ｄが、検索条件の真偽値を用いて場合わけされることによって、検索条件Ｋが作成され、該場合わけされた場合の検索条件Ｋが論理和演算を用いて結合された検索条件Ｊが作成されるからである。
【００６６】
条件生成部１０２は、対象検索条件２０１に、さらに、他の第１検索条件が含まれている場合に、該他の第１検索条件に関して、Ｐ１またはＰ２に真偽値を設定する場合に実行する処理と同様の処理を実行してもよい。
【００６７】
次に、条件生成部１０２は、前述した一連の処理によって算出した検索条件Ｊ（たとえば、式５∨式６）において、論理和演算によって結合されている各検索条件Ｋの成否（すなわち、検索条件Ｋが成り立つか否か）を判定する。この場合に、条件生成部１０２は、検索条件Ｋ「Ｐ１∧Ｐ２∧Ｗ（Ｔ、Ｔ、Ｑ１、Ｑ２）」、検索条件Ｋ「Ｐ１∧¬Ｐ２∧Ｗ（Ｔ、Ｆ、Ｑ１、Ｑ２）」、検索条件Ｋ「¬Ｐ１∧Ｐ２∧Ｗ（Ｆ、Ｔ、Ｑ１、Ｑ２）」、及び、検索条件Ｋ「¬Ｐ１∧¬Ｐ２∧Ｗ（Ｆ、Ｆ、Ｑ１、Ｑ２）」の成否をそれぞれ判定する。
【００６８】
一例として、検索条件Ｋ「¬Ｐ１∧Ｐ２∧Ｗ（Ｆ、Ｔ、Ｑ１、Ｑ２）」の成否に関して説明する。Ｗ（Ｆ、Ｔ、Ｑ１、Ｑ２）は、式Ａに示されているように、Ｑ１、Ｑ２に関わらずに、偽である、
Ｗ（Ｆ、Ｔ、Ｑ１、Ｑ２）＝（Ｆ∧Ｑ１）∨（¬Ｔ∧Ｑ２）＝Ｆ・・・（式Ａ）。
【００６９】
すなわち、Ｗ（Ｆ、Ｔ、Ｑ１、Ｑ２）は、第２検索条件（この例では、Ｑ１及びＱ２）に関わらずに成立しない。すなわち、式６において、「¬Ｐ１∧Ｐ２∧Ｗ（Ｆ、Ｔ、Ｑ１、Ｑ２）」は、式Ａによれば、Ｑ１、Ｑ２に関わらずに、偽である。したがって、条件生成部１０２は、検索条件Ｋ「¬Ｐ１∧Ｐ２∧Ｗ（Ｆ、Ｔ、Ｑ１、Ｑ２）」が、第２検索条件に関わらずに成立しない（すなわち、偽である）と判定する。
【００７０】
同様に、条件生成部１０２は、検索条件Ｋ「Ｐ１∧Ｐ２∧Ｗ（Ｔ、Ｔ、Ｑ１、Ｑ２）」、検索条件Ｋ「Ｐ１∧¬Ｐ２∧Ｗ（Ｔ、Ｆ、Ｑ１、Ｑ２）」、及び、検索条件Ｋ「¬Ｐ１∧¬Ｐ２∧Ｗ（Ｆ、Ｆ、Ｑ１、Ｑ２）」の成否をそれぞれ判定する。これら３つの検索条件Ｋの成否が第２検索条件に応じて決まるので、条件生成部１０２は、該３つの検索条件Ｋの成否が、第２検索条件に応じて決まると判定する。
【００７１】
次に、条件生成部１０２は、検索条件Ｋのうち、第２検索条件に応じて成否が決まる検索条件が論理和演算を用いて結合された第３検索条件２０２を算出する。この例の場合に、条件生成部１０２は、第３検索条件２０２として、検索条件「（Ｐ１∧Ｐ２∧Ｗ（Ｔ、Ｔ、Ｑ１、Ｑ２））∨（Ｐ１∧¬Ｐ２∧Ｗ（Ｔ、Ｆ、Ｑ１、Ｑ２））∨（¬Ｐ１∧¬Ｐ２∧Ｗ（Ｆ、Ｆ、Ｑ１、Ｑ２））」を算出する。
【００７２】
この結果、条件生成部１０２が作成した第３検索条件２０２は、対象検索条件２０１と等価である。この理由は、対象検索条件２０１が検索条件Ｄと等価であり、検索条件Ｄが検索条件Ｊと等価であり、さらに、検索条件Ｊが第３検索条件２０２と等価であるからである。
【００７３】
尚、上述した例において、条件生成部１０２は、第１検索条件に含まれる検索条件に関して逐次的に真偽値を算出し、該検索条件に算出した真偽値を設定したが、まとめて真偽値を算出し、算出した真偽値を該検索条件に設定してもよい。すなわち、条件生成部１０２は、検索条件（Ｐ１、Ｐ２）に関して、（Ｔ、Ｔ）、（Ｔ、Ｆ）、（Ｆ、Ｔ）、及び、（Ｆ、Ｆ）なる真偽値を設定してもよい。条件生成部１０２が真偽値を設定する処理は、上述した例に限定されない。また、上述した説明において、第１検索条件、及び、第２検索条件は、それぞれ、２つの条件を含むが、必ずしも、２つである必要はなく、また、お互いに同じ個数である必要はない。また、対象検索条件２０１は、式１なる検索条件である必要はなく、他の検索条件であってもよい。
【００７４】
また、条件生成部１０２は、第１検索条件に含まれるすべての条件に関して真偽値を設定する必要はなく、一部の条件のみに関して真偽値を設定してもよい。たとえば、条件生成部１０２は、検索条件Ｐ１のみを設定する場合に、式１なる検索条件に等価な検索条件（式２）を、第３検索条件２０２として算出する。第３検索条件２０２は、対象検索条件２０１と等価な検索条件であって、対象検索条件２０１に含まれる一部の条件に真偽値が設定された場合に成り立たない検索条件を含まない検索条件である。また、すなわち、第３検索条件２０２は、対象検索条件２０１のうち、第２検索条件の成否に応じて成否が決定される検索条件を表す。
【００７５】
以降、対象検索条件２０１のうち、第２検索条件の成否に関わらずに成否が決定される検索条件を、「第４検索条件」とも表す。
【００７６】
換言すれば、条件生成部１０２は、対象検索条件２０１における第１検索条件に含まれる条件に真偽値を設定し、設定した真偽値に基づき対象検索条件の成否を判定し、判定した結果に基づき、第３検索条件を生成する。この場合に、条件生成部１０２は、第４検索条件を生成してもよい。
【００７７】
次に、第１の実施形態に係る条件生成装置１０１に関する効果について説明する。
【００７８】
条件生成装置１０１によれば、データベースが検索できない情報が含まれていた場合であっても、高速な検索処理が可能になる。
【００７９】
この理由は、第３検索条件２０２に関する検索処理が、検索条件に関する検索処理よりも低コストにて処理することが可能であるからである。すなわち、第３検索条件２０２に関する検索結果は、検索条件に関する検索結果よりも情報量が少ないからである。
【００８０】
ここで、該情報量が減少する理由について詳細に説明する。説明の便宜上、第１検索条件は、検索条件Ｐ１、及び、検索条件Ｐ２を含むとする。また、検索条件Ｐ１が成立するデータ数がＮ４であり、検索条件「¬Ｐ２」が成立するデータ数がＮ５であるとする。この場合に、特許文献１等に開示された装置は、積和標準形を算出する。したがって、該装置は、検索条件Ｐ１を用いて記述された検索命令、及び、検索条件「¬Ｐ２」を用いて記述された検索命令を、データベース１５１に送信する。データベース１５１は、該検索命令を受信し、受信した検索命令に応じて（Ｎ４＋Ｎ５）個のデータを抽出する。
【００８１】
説明の便宜上、検索条件「Ｐ１∧Ｐ２」が成立するデータ数をＮ１、検索条件「Ｐ１∧¬Ｐ２」が成立するデータ数をＮ２、検索条件「¬Ｐ１∧¬Ｐ２」が成立するデータ数をＮ３とする。
【００８２】
この場合に、検索条件「（Ｐ１∧Ｐ２）∨（Ｐ１∧¬Ｐ２）」が検索条件Ｐ１に等価であるので、検索条件Ｐ１が成立するデータ数Ｎ４は、検索条件「Ｐ１∧Ｐ２」が成立するデータ数Ｎ１と、検索条件「Ｐ１∧¬Ｐ２」が成立するデータ数Ｎ２との和に等しい。また、検索条件「（Ｐ１∧¬Ｐ２）∨（¬Ｐ１∧¬Ｐ２）」が検索条件「¬Ｐ２」に等価であるので、検索条件「¬Ｐ２」が成立するデータ数Ｎ５は、検索条件「Ｐ１∧¬Ｐ２」が成立するデータ数Ｎ２と、検索条件「¬Ｐ１∧¬Ｐ２」が成立するデータ数Ｎ３との和に等しい。したがって、特許文献１等に開示された方法に従えば、検索条件「Ｐ１∨¬Ｐ２」が成立するデータ数は、上検索条件Ｐ１が成立するデータ数と、検索条件「¬Ｐ２」が成立するデータ数との合計を表す（Ｎ１＋２×Ｎ２＋Ｎ３）個のデータ（検索結果）を受信する。
【００８３】
これに対して、本実施形態に関する条件生成装置１０１は、ステップＳ１０２に関する処理にて説明したようにＷ（Ｆ、Ｔ、Ｑ１、Ｑ２）が偽であるので、第３検索条件２０２（たとえば、「式５∨検索条件「¬Ｐ１∧¬Ｐ２∧Ｗ（Ｆ、Ｆ、Ｑ１、Ｑ２）」）を用いて記述された検索命令に応じて、データを受信する。すなわち、条件生成装置１０１は、検索条件「Ｐ１∧Ｐ２」が成立するデータ数Ｎ１、検索条件「Ｐ１∧¬Ｐ２」が成立するデータ数Ｎ２、及び、検索条件「¬Ｐ１∧¬Ｐ２」が成立するデータ数Ｎ３を合計した個数分のデータを受信する。すなわち、条件生成装置１０１は、（Ｎ１＋Ｎ２＋Ｎ３）個のデータを受信する。したがって、受信するデータ数（情報量）は、特許文献１等に開示された方法に比べて少ない。
【００８４】
同様に、第１検索条件が３つ以上の検索条件を含む場合であっても、相互に重複するデータを含む場合に、特許文献１等に開示された検索手法は、該重複するデータを複数回抽出する。これに対して、本実施形態に係る条件生成装置１０１は、該重複する部分を検索結果が相互に独立する検索条件に分ける。この結果、検索結果に重複がなくなるので、抽出した結果に含まれる情報量は、少なくなる。
【００８５】
さらに、条件生成装置１０１は、積和標準形に変換することなく、対象検索条件２０１に基づき、対象検索条件２０１に等価な第３検索条件２０２を算出する。
【００８６】
対象検索条件２０１等を表す論理式を積和標準形に変換する処理は、ド・モルガンの法則を適用する処理方法等が知られている。このため、該処理方法に関する詳細な説明を省略する。該処理方法を適用する場合に、積和標準形は、最悪２ｎ（２のｎ乗。ただし、ｎは、変換前の論理式に含まれる項の個数を表す）個の項を含む。
【００８７】
しかし、本実施形態に係る条件生成装置１０１は、対象検索条件２０１に含まれる第１検索条件に値（すなわち、真偽値）を設定することにより、対象検索条件２０１に基づき第３検索条件２０２を算出する。したがって、対象検索条件２０１に真偽値を設定することにより、対象検索条件２０１から恒偽である項が減少するので、条件生成部１０２が設定する真偽値の個数は、２ｎよりも少ない。この結果、第３検索条件２０２に含まれる項の個数が２ｎよりも少ないので、条件生成装置１０１は、効率よく、対象検索条件２０１に基づき第３検索条件２０２を算出することができる。
【００８８】
すなわち、本実施形態に係る条件生成装置１０１によれば、データベースが検索できない情報が含まれていた場合であっても、高速な検索処理が可能になる。
【００８９】
尚、条件生成装置１０１は、上述した例に限定されない。また、第１検索条件と、第２検索条件とは、データベース１５１が検索可能か否かに関係しない検索条件であってもよい。すなわち、第１検索条件と、第２検索条件とは、単に、相互に異なる検索条件であってもよい。本発明の各実施形態においても、同様である。
【００９０】
＜第２の実施形態＞
次に、上述した第１の実施形態を基本とする本発明の第２の実施形態について説明する。
【００９１】
以降の説明においては、本実施形態に係る特徴的な部分を中心に説明すると共に、上述した第１の実施形態と同様な構成については、同一の参照番号を付すことにより、重複する説明を省略する。
【００９２】
図３と図４とを参照しながら、第２の実施形態に係る条件生成装置１１１が有する構成と、条件生成装置１１１が行う処理とについて説明する。図３は、本発明の第２の実施形態に係る条件生成装置１１１が有する構成を示すブロック図である。図４は、第２の実施形態に係る条件生成装置１１１における処理の流れを示すフローチャートである。
【００９３】
第２の実施形態に係る条件生成装置１１１は、条件生成部１１２を有する。
【００９４】
まず、条件生成部１１２は、対象検索条件２０１を受信する。次に、条件生成部１１２は、第１の実施形態に示した処理手順と同様な処理手順に従い、受信した対象検索条件２０１における検索条件Ａが成立するか否かを表す真偽値を算出する。次に、条件生成部１１２は、対象検索条件２０１における検索条件Ａに、算出した真偽値が設定されている検索条件Ｂを作成（生成）する（ステップＳ１０１）。
【００９５】
次に、条件生成部１１２は、検索条件Ｂと、検索条件Ａとが論理積演算を用いて結合された検索条件Ｃを算出する。以降、条件生成部１１２は、第１の実施形態に示された処理と同様の処理を実行することにより検索条件Ｋを作成する（ステップＳ１１１）。第１の実施形態に示した例の場合、条件生成部１１２は、式７乃至式１０なる４つの検索条件Ｋを算出する。
【００９６】
Ｐ１∧Ｐ２∧Ｗ（Ｔ、Ｔ、Ｑ１、Ｑ２）・・・（式７）、
Ｐ１∧¬Ｐ２∧Ｗ（Ｔ、Ｆ、Ｑ１、Ｑ２）・・・（式８）、
¬Ｐ１∧Ｐ２∧Ｗ（Ｆ、Ｔ、Ｑ１、Ｑ２）・・・（式９）、
¬Ｐ１∧¬Ｐ２∧Ｗ（Ｆ、Ｆ、Ｑ１、Ｑ２）・・・（式１０）。
【００９７】
すなわち、式７乃至式１０に示された４つの検索条件Ｋは、対象検索条件２０１（関数Ｗ）に含まれる検索条件（この例では、Ｐ１、Ｐ２）に真偽値（Ｔ、Ｆ）が設定され、設定された真偽値に関して、当該各式に示された論理積演算を用いて、それぞれ算出された検索条件を表す。
【００９８】
次に、条件生成部１１２は、算出した検索条件Ｋに関して、常に成立しないことを表す恒偽であるか否かを判定する（ステップＳ１１２）。すなわち、この例において、条件生成部１１２は、式７乃至式１０が表す検索条件Ｋが、それぞれ、恒偽（恒偽命題）であるか否かを判定する。条件生成部１１２は、真偽値が設定された検索条件（たとえば、式１０におけるＷ（Ｆ、Ｆ、Ｑ１、Ｑ２））に関して恒偽であるか否かを判定することにより、上述した処理を実行する。
【００９９】
「Ｆ∧Ｑ１」、及び、「¬Ｔ∧Ｑ２」が、偽に対する論理積演算であるので、該演算結果は、ともに、偽である。したがって、式１に示された関数Wに従えば、Ｗ（Ｆ、Ｔ、Ｑ１、Ｑ２）は、式９に示すように、Ｑ１、Ｑ２に関わらずに、恒偽である。
【０１００】
Ｗ（Ｆ、Ｔ、Ｑ１、Ｑ２）＝（Ｆ∧Ｑ１）∨（¬Ｔ∧Ｑ２）＝Ｆ。
【０１０１】
したがって、条件生成部１１２は、式９なる検索条件が恒偽であり、式７、式８、及び、式１０なる検索条件が恒偽でないと判定する。
【０１０２】
次に、条件生成部１１２は、恒偽であると判定する検索条件を、論理和演算子を介することにより、第２検索条件Ｑ１、及び、第２検索条件Ｑ２に関わらずに演算結果が偽である第４検索条件２０３を算出する（ステップＳ１１４）。この例において、条件生成部１１２は、式９なる検索条件を、第４検索条件２０３として算出する。すなわち、第４検索条件２０３は、第２検索条件に関わらずに演算結果が偽である検索条件を表す。
【０１０３】
また、条件生成部１１２は、恒偽でないと判定する検索条件を、論理和演算子を介して演算することにより、第３検索条件２０２として算出する（ステップＳ１１３）。この例において、条件生成部１１２は、（式７∨式８∨式１０）なる検索条件を、第３検索条件２０２として算出する。
【０１０４】
尚、条件生成部１１２は、ステップＳ１１３に示された処理を実行し、その後、ステップＳ１１４に示された処理を実行してもよい。
【０１０５】
次に、第２の実施形態に係る条件生成装置１１１に関する効果について説明する。
【０１０６】
本実施形態に係る条件生成装置１１１によれば、第１の実施形態に係る条件生成装置１０１が有する効果に加え、一層、高速な検索処理が可能になる。
【０１０７】
この理由は、理由１及び理由２である。すなわち、
（理由１）第２の実施形態に係る条件生成装置１１１が有する構成は、第１の実施形態に係る条件生成装置１０１が有する構成を含むからである、
（理由２）条件生成部１１２が算出する第４検索条件２０３を用いて記述された検索命令を、データベース１５１が実行する必要がないからである。
【０１０８】
条件生成装置１１１によれば、一層、高速な検索処理が可能になる理由について以下に詳細に説明する。ステップS１１４における処理について説明したように、第４検索条件２０３は、常に成立しない条件である。たとえば、データベース１５１が、第４検索条件２０３を用いて記述された検索命令に応じて情報を抽出するとしても、抽出される情報は、何も含まない（空の）情報である。したがって、第４検索条件２０３を用いて記述された検索命令は、実行する必要のない命令である。
【０１０９】
この結果、たとえば、通信ネットワークを介して、データベース１５１における情報を検索するシステムにおいて、条件生成装置１１１は、該通信ネットワークにおける通信量を低減することができるので、高速な検索処理が可能になる。
【０１１０】
尚、第１検索条件が３つ以上の検索条件を含む場合であっても、本実施形態に係る条件生成装置１１１は、上述した処理と同様の処理を実行する。
【０１１１】
＜第３の実施形態＞
次に、上述した第１の実施形態を基本とする本発明の第３の実施形態について説明する。
【０１１２】
以降の説明においては、本実施形態に係る特徴的な部分を中心に説明すると共に、上述した第１の実施形態と同様な構成については、同一の参照番号を付すことにより、重複する説明を省略する。
【０１１３】
図５と図６とを参照しながら、第３の実施形態に係るデータベース検索システム１２１が有する構成と、データベース検索システム１２１が行う処理とについて説明する。図５は、本発明の第３の実施形態に係るデータベース検索システム１２１が有する構成を示すブロック図である。図６は、第３の実施形態に係るデータベース検索システム１２１における処理の流れを示すフローチャートである。
【０１１４】
第３の実施形態に係るデータベース検索システム１２１は、条件生成装置１０１と、第１処理部１２２と、第２処理部１２３と、データベース１２４とを有する。尚、条件生成装置１０１は、本発明の第１の実施形態において説明した装置である。
【０１１５】
データベース１２４は、たとえば、順序保存暗号方式等の検索可能暗号方式を採用する外部ＤＢである。すなわち、データベース１２４が検索可能な検索命令の種類は、制限される。
【０１１６】
まず、条件生成装置１０１は、上述した第１の実施形態に示した処理と同様な処理によって、第３検索条件２０２を算出する（ステップＳ１０２）。条件生成装置１０１は、さらに、第４検索条件２０３を算出してもよい。
【０１１７】
次に、第１処理部１２２は、第３検索条件２０２のうち、第１検索条件を用いて記述された検索命令をデータベース１２４に送信する（ステップＳ１２１）。
【０１１８】
上述した例の場合に、第１処理部１２２は、第３検索条件２０２として、第２の実施形態において上述した式７、式８、及び、式１０なる検索条件を、論理和演算子を用いて演算する検索条件を算出する。この場合に、第１処理部１２２は、式７において検索条件「Ｐ１∧Ｐ２」によって記述された検索命令、式８において検索条件「Ｐ１∧¬Ｐ２」によって記述された検索命令、及び、式１０において検索条件「¬Ｐ１∧¬Ｐ２」によって記述された検索命令を、データベース１２４に送信する。
【０１１９】
データベース１２４は、第１処理部１２２が送信する検索命令を受信し、受信した検索命令に従い、情報（以降、「第１情報」と表す）を抽出する。すなわち、データベース１２４は、検索命令に応じて、第１情報を抽出する。
【０１２０】
説明の便宜上、「Ｐ１∧Ｐ２」に応じて抽出された第１情報を、Ａｎｓ［Ｔ、Ｔ］と表す。「Ｐ１∧¬Ｐ２」に応じて抽出された第１情報を、Ａｎｓ［Ｔ、Ｆ］と表す。「¬Ｐ１∧¬Ｐ２」に応じて抽出された第１情報を、Ａｎｓ［Ｆ、Ｆ］と表す。データベース１２４が暗号化ＤＢである場合に、これらの第１情報は、暗号文である。
【０１２１】
データベース１２４は、抽出した第１情報を第２処理部１２３に送信する。
【０１２２】
第２処理部１２３は、該抽出した第１情報を受信する（ステップＳ１２２）。次に、第２処理部１２３は、データベース１２４が検索不可能な第２検索条件を用いて記述された検索命令を実行する。すなわち、式１に例示された対象検索条件２０１である場合に、第２処理部１２３は、検索条件「Ｗ（Ｔ、Ｔ、Ｑ１、Ｑ２）」、検索条件「Ｗ（Ｔ、Ｆ、Ｑ１、Ｑ２）」、及び、検索条件「Ｗ（Ｆ、Ｆ、Ｑ１、Ｑ２）を用いて記述された検索命令を実行する。第２処理部１２３は、検索条件「Ｑ１」、検索条件「Ｑ１∨Ｑ２」、及び、検索条件「Ｑ２」を用いて記述された検索命令を実行する。
【０１２３】
次に、第２処理部１２３は、検索条件「Ｗ（Ｔ、Ｔ、Ｑ１、Ｑ２）」に関して、Ａｎｓ［Ｔ、Ｔ］と、検索条件「Ｑ１」に関する検索結果との共通部分を算出する。さらに、第２処理部１２３は、検索条件「Ｗ（Ｔ、Ｆ、Ｑ１、Ｑ２）」に関して、Ａｎｓ［Ｔ、Ｆ］と、検索条件「Ｑ１∨Ｑ２」に関する検索結果との共通部分を算出する。同様に、第２処理部１２３は、検索条件「Ｗ（Ｆ、Ｆ、Ｑ１、Ｑ２）」に関して、Ａｎｓ［Ｆ、Ｆ］と、検索条件「Ｑ２」に関する検索結果との共通部分を算出する。
【０１２４】
すなわち、条件生成装置１０１における条件生成部１０２が設定する真偽値に関して算出される検索条件に基づき、第２処理部１２３は、該検索条件を用いて記述された検索命令に応じた結果を算出する。
【０１２５】
次に、第２処理部１２３は、算出した共通部分の和集合を算出することにより、所望の検索条件を用いて記述された検索命令に関する結果を算出する（ステップＳ１２３）。
【０１２６】
尚、データベース１２４が暗号化ＤＢである場合に、第２処理部１２３は、データベース１２４が抽出するＡｎｓ［Ｔ、Ｆ］等の情報を、復号化してもよい。
【０１２７】
次に、第３の実施形態に係るデータベース検索システム１２１に関する効果について説明する。
【０１２８】
本実施形態に係るデータベース検索システム１２１によれば、第１の実施形態に係る条件生成装置１０１が有する効果に加え、さらに、効率よく情報を抽出することができるという効果を有する。
【０１２９】
この理由は、理由１及び理由２である。すなわち、
（理由１）第３の実施形態に係るデータベース検索システム１２１が有する構成は、第１の実施形態に係る条件生成装置１０１が有する構成を含むからである、
（理由２）条件生成装置１０１が算出する検索条件を用いて記述された検索命令に応じて、データベース１２４が情報を抽出するからである。
【０１３０】
理由２について、さらに詳細に説明する。
【０１３１】
説明の便宜上、条件生成装置１０１は、式１なる検索条件を受信するとする。データベースは、１５００個のデータａ（ｉ）（ただし、１≦ｉ≦１５００）を記憶するとする。さらに、検索条件Ｐ１及び検索条件Ｐ２が成立するデータは、９９９個のａ（ｉ）（ただし、１≦ｉ≦９９９）であるとする。さらに、検索条件Ｐ１のみが成立するデータは、ただ1つのａ（１０００）であり、検索条件Ｐ２のみが成立するデータは、４９９個のａ（ｉ）（ただし、１００２≦ｉ≦１５００）であるとする。検索条件Ｐ１及び検索条件Ｐ２がともに成立しないデータは、ただ１つのａ（１００１）であるとする。
【０１３２】
この例の場合に、検索条件を積和標準形に変換する、一般的なデータベース検索システムは、式１なる検索条件のうち、データベース１２４が検索可能な検索条件Ｐ１を用いて記述された検索命令と、検索条件Ｐ２を用いて記述された検索命令とをデータベース１２４に送信する。データベース１２４は、検索条件Ｐ１を用いて記述された検索命令と、検索条件Ｐ２を用いて記述された検索命令とを受信し、それぞれ、情報を抽出する。
【０１３３】
すなわち、Ｐ１が成立するデータがａ（ｉ）（ただし、１≦ｉ≦１０００）であるので、該データ数は１０００である。Ｐ２が成立するデータがａ（ｉ）（ただし、１≦ｉ≦９９９、及び、１００２≦ｉ≦１５００）であるので、該データ数は１４９８個である。したがって、データベース１２４は、合計２４９８個のデータを抽出し、抽出したデータを第２処理部１２３に送信する。
【０１３４】
一方、本実施形態に係る条件生成装置１０１は、上述した処理を実行することにより、（式７∨式８∨式１０）なる検索条件を算出する。
【０１３５】
第１処理部１２２は、第２の実施形態において上述した式７なる検索条件、式８なる検索条件、及び、式１０なる検索条件を用いて記述された検索命令をデータベース１２４に送信する。すなわち、第１処理部１２２は、「Ｐ１∧Ｐ２」、「Ｐ１∧¬Ｐ２」、及び、「¬Ｐ１∧¬Ｐ２」なる３つの検索条件を用いて記述された検索命令を、それぞれ、データベース１２４に送信する。
【０１３６】
データベース１２４は、該３つの検索命令を受信し、受信した検索命令に応じて情報を抽出する。
【０１３７】
この例において、検索条件Ｐ１及び検索条件Ｐ２が成立するデータが、９９９個のａ（ｉ）（ただし、１≦ｉ≦９９９）であるので、「Ｐ１∧Ｐ２」が成立するデータ数は、９９９個である。検索条件Ｐ１のみが成立するデータが、ａ（１０００）であるので、「Ｐ１∧¬Ｐ２」が成立するデータ数は、ただ１つである。また、検索条件Ｐ１及び検索条件Ｐ２がともに成立しないデータがａ（１００１）であるので、「¬Ｐ１∧¬Ｐ２」が成立するデータ数は、ただ１つである。したがって、データベース１２４は、合計１００１個のデータを抽出し、抽出したデータを第２処理部１２３に送信する。
【０１３８】
したがって、本実施形態に係る条件生成装置１０１によれば、データベース１２４が抽出するデータ数は、２４９８個から１００１個に減少する。Ｐ１が成立するデータ（すなわち、ａ（ｉ）（ただし、１≦ｉ≦１０００））のうち、９９９個のデータは、Ｐ２が成立する。したがって、本実施形態に係る条件生成装置１０１は、データベース１２４が、重複するデータを抽出するのを防ぐので、効率よく検索することができる。
【０１３９】
＜第４の実施形態＞
次に、上述した第３の実施形態を基本とする本発明の第４の実施形態について説明する。
【０１４０】
以降の説明においては、本実施形態に係る特徴的な部分を中心に説明すると共に、上述した第３の実施形態と同様な構成については、同一の参照番号を付すことにより、重複する説明を省略する。
【０１４１】
図７と図８とを参照しながら、第４の実施形態に係るデータベース検索システム１３１が有する構成と、データベース検索システム１３１が行う処理とについて説明する。図７は、本発明の第４の実施形態に係るデータベース検索システム１３１が有する構成を示すブロック図である。図８は、第４の実施形態に係るデータベース検索システム１３１における処理の流れを示すフローチャートである。
【０１４２】
第４の実施形態に係るデータベース検索システム１３１は、条件生成装置１０１と、第１処理部１２２と、第２処理部１３２と、データベース１２４と、変換部１３３とを有する。
【０１４３】
データベース１２４は、たとえば、順序保存暗号方式等の検索可能暗号方式を採用するＤＢであってもよい。すなわち、データベース１２４が検索可能な検索命令の種類は、制限される。
【０１４４】
説明の便宜上、データベース１２４は、検索対象である情報を記憶しているとする。
【０１４５】
条件生成装置１０１は、第１の実施形態において、図１及び図２を参照しながら説明した構成を有しており、検索命令に含まれる対象検索条件２０１を受信する。外部の装置、または、ユーザが、該検索命令を条件生成装置１０１に送信してもよいし、条件生成装置１０１におけるアプリケーション等が、該検索命令を条件生成装置１０１に送信してもよい。
【０１４６】
条件生成部１０２は、条件生成装置１０１が受信した対象検索条件２０１に基づき、第３検索条件と、第４検索条件とを算出する。式１に例示された対象検索条件２０１の場合に、データベース１２４は、第３検索条件によって記述された検索命令を実行することができ、第４検索条件によって記述された検索命令を実行することができない。
【０１４７】
条件生成部１０２が、第１の実施形態と同様の処理手順に従い算出した第３検索条件によって記述された検索命令のうち、第１処理部１２２は、第１検索条件によって記述された検索命令を、データベース１２４に送信する。
【０１４８】
データベース１２４は、該検索命令を受信し、受信した検索命令に応じて、情報を抽出する。次に、データベース１２４は、抽出した情報を第２処理部１３２に送信する。
【０１４９】
第２処理部１３２は、データベース１２４が抽出した情報を受信し、受信した情報に基づき、第３検索条件によって記述された検索命令のうち、第２検索条件によって記述された検索命令を実行することにより、対象検索条件２０１に応じた情報を抽出する。
【０１５０】
説明の便宜上、暗号化関数をＥと表し、復号化関数をＤと表す。暗号化する対象である情報をＭとする場合に、暗号文はＥ（Ｍ）と表すことができる。また、暗号化した後に復号化した情報Ｄ（Ｅ（Ｍ））は、Ｍに等しい。さらに、暗号化しない場合には、Ｅ及びＤは、恒等関数であるとしてもよい。
【０１５１】
以降の説明において、データベース１２４は、暗号化ＤＢであっても、暗号化ＤＢでなくてもよい。説明の便宜上、暗号化されていないＤＢであっても、暗号化関数Ｅと、復号化関数Ｄとを用いて説明する。
【０１５２】
変換部１３３は、データベース１２４に格納する対象である情報Ｍに関して、暗号文Ｅ（Ｍ）を算出し、暗号文Ｅ（Ｍ）をデータベース１２４に送信する。
【０１５３】
データベース１２４は、暗号文Ｅ（Ｍ）を受信し、受信した暗号文Ｅ（Ｍ）を記憶する。
【０１５４】
尚、データベース１２４が受信する検索命令は、暗号化関数Ｅに従い暗号化した検索命令である。
【０１５５】
また、条件生成装置１０１は、式１１なる検索条件Rを受信するとする。
【０１５６】
Ｗ（Ｐ１、・・・、Ｐｎ、Ｑ１、・・・、Ｑｍ）・・・（式１１）、
ただし、Ｐ１、・・・、Ｐｎは、データベース１２４が検索可能な検索条件（すなわち、第１検索条件）を表す。また、Ｑ１、・・・、Ｑｍは、データベース１２４が検索不可能な検索条件（すなわち、第２検索条件）を表す。
【０１５７】
また、検索条件Ｒを用いて記述された検索命令は、「Ｒが成立する情報を全て抽出する」命令であるとする。
【０１５８】
さらに、説明の便宜上、式１２に示されているように関数Ｇを定義することとする。
【０１５９】
Ｇ（Ｔ、Ｐ）＝Ｐ、Ｇ（Ｆ、Ｐ）＝¬Ｐ・・・（式１２）、
ただし、Ｐは、検索条件を表す。
【０１６０】
上述した例を用いながら、本実施形態に係るデータベース検索システム１３１における処理について説明する。
【０１６１】
条件生成装置１０１における条件生成部１０２（図１に例示）は、式１１なる検索条件を受信する。次に、条件生成部１０２は、検索条件を記憶可能な記憶部（不図示）を初期化する。
【０１６２】
次に、条件生成部１０２は、第１検索条件に含まれる条件を記憶可能な記憶領域に、該条件が成立するか否か（たとえば、Ｔ、Ｆ）を表す情報を格納する。
【０１６３】
尚、この例においては、第１検索条件に含まれる各条件に関して情報を格納するが、必ずしも、全ての条件に情報を格納する必要はない。
【０１６４】
すなわち、条件生成部１０２は、第１検索条件に含まれる各条件に関して情報を格納することにより、式１１なる検索条件が入力された場合に、式１３なる検索条件を算出する。
【０１６５】
Ｇ（Ｂ１、Ｐ１）∧・・・∧Ｇ（Ｂｎ、Ｐｎ）∧Ｗ（Ｂ１、・・・、Ｂｎ、Ｑ１、・・・、Ｑｍ）・・・（式１３）、
ただし、Ｂｉ（１≦ｉ≦ｎ）は、「Ｔ」、または、「Ｆ」を表す。
【０１６６】
また、条件生成部１０２は、各条件に設定可能な真偽値に関するすべての組み合わせに関して、式１３なる検索条件を算出してもよい。
【０１６７】
次に、条件生成部１０２は、真偽値が設定された検索条件（この場合に、Ｗ（Ｂ１、・・・、Ｂｎ、Ｑ１、・・・、Ｑｍ））における演算を実行することにより、検索条件（式１３）が恒偽であるか否かを判定する。すなわち、条件生成部１０２は、真偽値が設定された検索条件に関する演算を実行することにより、上述したように恒偽であるか否かを判定する。また、条件生成部１０２は、真偽値が設定された検索条件に関して、第２検索条件に含まれる条件に関わらずに偽となる場合に、恒偽であると判定する。
【０１６８】
条件生成部１０２は、恒偽でないと判定する検索条件（この場合に、式１３）を記憶部に格納してもよい。
【０１６９】
上述した処理は、条件生成部１０２が、検索条件Ｒに基づき、該検索条件Ｒに等価な検索条件を求める処理を表す。すなわち、条件生成部１０２は、第１検索条件に含まれる条件に関して設定可能な真偽値を算出し、算出した真偽値を該条件に設定することにより、式１３なる検索条件を求める。次に、条件生成部１０２は、真偽値を設定した検索条件（この場合に、Ｗ（Ｂ１、・・・、Ｂｎ、Ｑ１、・・・、Ｑｍ））が恒偽であるか否かを判定する。次に、条件生成部１０２は、恒偽でないと判定する検索条件を含む検索条件（この場合に、式１３）に関して、論理和演算子を介して結合することにより、検索条件Ｒに等価な検索条件を求める。
【０１７０】
次に、第１処理部１２２は、算出した検索条件を用いて記述された検索命令を、データベース１２４に送信する。
【０１７１】
たとえば、検索条件が「１０よりも大きい」であり、さらに、設定される真偽値が「Ｔ」である場合に、第１処理部１２２は、「１０よりも大きい値をすべて抽出する」という検索命令をデータベース１２４に送信する。また、検索条件が「１０よりも大きい」であり、さらに、設定される真偽値が「Ｆ」である場合に、第１処理部１２２は、「１０以下の値をすべて抽出する」という検索命令をデータベース１２４に送信する。
【０１７２】
式１１に示したように、検索条件Ｐ１、・・・、Ｐｎは、データベース１２４において検索可能な検索条件である。したがって、第１処理部１２２は、受信した検索命令に含まれる検索条件（式１３）のうち、該検索条件Ｐ１、・・・、Ｐｎを用いて記述された検索条件（式１４）からなる検索命令をデータベース１２４に送信する。
【０１７３】
Ｇ（Ｂ１、Ｐ１）∧・・・∧Ｇ（Ｂｎ、Ｐｎ）・・・（式１４）、
【０１７４】
式１４に示された検索条件は、第１検索条件のみを含む。すなわち、データベース１２４は、式１４なる検索条件を用いて記述された検索命令に応じて、情報を抽出することができる。
【０１７５】
データベース１２４は、該検索命令を受信し、受信した検索命令に応じて情報を抽出し、抽出した第１情報を、変換部１３３に送信する。
【０１７６】
説明の便宜上、データベース１２４が、上述した検索命令に応じて、抽出する情報を、「Ａｎｓ（Ｂ１、・・・、Ｂｎ）」と表す。
【０１７７】
変換部１３３は、データベース１２４が抽出した第１情報を受信する。変換部１３３は、受信した第１情報を、復号化する（ステップＳ１３１）。すなわち、変換部１３３は、Ａｎｓ（Ｂ１、・・・、Ｂｎ）に含まれる情報Ｍに関して、それぞれ、Ｄ（Ｍ）を算出することにより、受信した情報を復号化する。次に、変換部１３３は、復号化した情報を第２処理部１３２に送信する。
【０１７８】
次に、第２処理部１３２は、該情報を受信し、式１３なる検索条件を用いて記述された検索命令に従い情報を抽出することにより、復号化された情報に含まれる情報のうち、検索条件Ｒが成立する情報を抽出する（ステップＳ１３２）。条件生成部１０２が、各条件に設定可能な真偽値に関するすべての組み合わせに関して、式１３なる検索条件を算出する場合に、第２処理部１３２は、該組み合わせに関して、検索条件Ｒが成立する情報を抽出する。この場合に、第２処理部１３２は、すべての組み合わせに関する、式１３なる検索条件を用いて記述された検索命令に応じた情報（「Ｊ（Ｂ１、・・・、Ｂｎ）」と表す）を抽出する。
【０１７９】
式１３なる検索条件を用いて記述された検索命令が、第２検索条件Ｑ１乃至Ｑｍを含むので、データベース１２４は、該検索命令を実行することができない。一方、式１４なる検索条件を用いて記述された検索命令は、第１検索条件のみを含むので、データベース１２４は、該検索命令を実行することができる。すなわち、条件生成部１０２は、式１１なる検索条件に基づき、データベース１２４が検索可能な検索条件（式１４、すなわち、第３検索条件）と、データベース１２４が検索不可能な検索条件（式１３、すなわち、第４検索条件）とを算出する。
【０１８０】
また、第１処理部１２２は、検索条件に含まれる各第１検索条件を用いて記述された検索命令と、該第１検索条件に関して設定する真偽値とを、それぞれ、データベース１２４に送信してもよい。この場合に、データベース１２４は、各第１検索条件を用いて記述された検索命令と、第１検索条件に関して設定する真偽値とを受信する。データベース１２４は、受信した真偽値に基づき、検索命令に含まれる第１検索条件に関して論理積演算子を用いて演算することにより、上述した式（たとえば、式１４）に応じた検索条件を算出する。次に、データベース１２４は、作成した検索条件を用いて記述された検索命令に従い、情報を抽出する。
【０１８１】
すなわち、第１処理部１２２は、条件Ｐｉ（ただし、１≦ｉ≦ｎ）が表す検索命令を送信し、さらに、（Ｂ１、・・・、Ｂｎ）が表す値を、データベース１２４に送信する。次に、データベース１２４は、これらの情報を受信し、受信した情報に基づき、式１４に従う検索条件を算出する。
【０１８２】
データベース１２４が検索条件を算出し、さらに、第１処理部１２２が設定した真偽値の組に関して逐次的に処理を実行する場合に、第１処理部１２２は、第１検索条件を繰り返しデータベース１２４に送信する必要がなくなる。このため、データベース１２４が検索条件を算出する場合に、第１処理部１２２がデータベース１２４に送信する情報量は少なくなる。
【０１８３】
尚、データベース検索システム１３１は、式１１なる検索条件に、設定可能な真偽値の組を逐次的に格納することにより情報を抽出してもよい。または、データベース検索システム１３１は、設定可能な真偽値の組を全て算出し、算出した組に関する論理和を算出し、算出した論理和を用いて記述された検索命令をデータベース１２４に送信してもよい。
【０１８４】
次に、第４の実施形態に係るデータベース検索システム１３１に関する効果について説明する。
【０１８５】
本実施形態に係るデータベース検索システム１３１によれば、第３の実施形態に係るデータベース検索システム１２１が有する効果に加え、さらに、より詳細に検索することができる。
【０１８６】
この理由は、理由１及び理由２である。すなわち、
（理由１）第４の実施形態に係るデータベース検索システム１３１が有する構成は、第３の実施形態に係るデータベース検索システム１２１が有する構成を含むからである、
（理由２）データベース検索システム１３１が、式１１乃至式１４に示された処理に従い、情報を抽出するからである。すなわち、式１１乃至式１４に示された処理は、第３の実施形態に示された処理に比べ、広範な処理である。したがって、データベース検索システム１３１は、さらに、より詳細に検索することができる。
【０１８７】
（ハードウェア構成例）
上述した本発明の各実施形態における条件生成装置を、１つの計算処理装置（情報処理装置、コンピュータ）を用いて実現するハードウェア資源の構成例について説明する。但し、係る条件生成装置は、物理的または機能的に少なくとも２つの計算処理装置を用いて実現してもよい。また、係る条件生成装置は、専用の装置として実現してもよい。
【０１８８】
図９は、第１及び第２の実施形態に係る条件生成装置、さらに、第３及び第４の実施形態に係るデータベース検索システムを実現可能な計算処理装置のハードウェア構成例を概略的に示す図である。計算処理装置２０は、中央処理演算装置（Ｃｅｎｔｒａｌ＿Ｐｒｏｃｅｓｓｉｎｇ＿Ｕｎｉｔ、以降「ＣＰＵ」と表す）２１、メモリ２２、ディスク２３、及び、不揮発性記録媒体２４、及び、通信インターフェース（以降、「通信ＩＦ」と表す。）２７を有する。計算処理装置２０は、さらに、入力装置２５、及び、出力装置２６を有してもよい。計算処理装置２０は、通信ＩＦ２７を介して、他の計算処理装置、及び、通信装置と情報を送受信することができる。
【０１８９】
不揮発性記録媒体２４は、コンピュータが読み取り可能な、たとえば、コンパクトディスク（Ｃｏｍｐａｃｔ  Ｄｉｓｃ）、デジタルバーサタイルディスク（Ｄｉｇｉｔａｌ＿Ｖｅｒｓａｔｉｌｅ＿Ｄｉｓｃ）、ユニバーサルシリアルバスメモリ（ＵＳＢメモリ）、ソリッドステートドライブ（Ｓｏｌｉｄ＿Ｓｔａｔｅ＿Ｄｒｉｖｅ）等である。不揮発性記録媒体２４は、電源を供給しなくても係るプログラムを保持し、持ち運びを可能にする。不揮発性記録媒体２４は、上述した媒体に限定されない。また、不揮発性記録媒体２４の代わりに、通信ＩＦ２７を介して、通信ネットワークを介して係るプログラムを持ち運びしてもよい。
【０１９０】
すなわち、ＣＰＵ２１は、ディスク２３が記憶するソフトウェア・プログラム（コンピュータ・プログラム：以下、単に「プログラム」と称する）を、実行する際にメモリ２２にコピーし、演算処理を実行する。ＣＰＵ２１は、プログラム実行に必要なデータをメモリ２２から読み取る。表示が必要な場合には、ＣＰＵ２１は、出力装置２６に出力結果を表示する。外部からプログラムを入力する場合、ＣＰＵ２１は、入力装置２５からプログラムを読み取る。ＣＰＵ２１は、上述した図１、図３、図５、または、図７に示された各部が表す機能（処理）に対応するところのメモリ２２にある条件生成プログラム（図２または図４）、または、データベース検索プログラム（図６、または、図８）を解釈し実行する。ＣＰＵ２１は、上述した本発明の各実施形態において説明した処理を順次行う。
【０１９１】
すなわち、このような場合、本発明は、係る条件生成プログラム、または、係るデータベース検索プログラムによっても成し得ると捉えることができる。更に、係る条件生成プログラムまたは係るデータベース検索プログラムが記録されたコンピュータ読み取り可能な不揮発性の記録媒体によっても、本発明は成し得ると捉えることができる。
【０１９２】
以上、上述した実施形態を模範的な例として本発明を説明した。しかし、本発明は、上述した実施形態には限定されない。即ち、本発明は、本発明のスコープ内において、当業者が理解し得る様々な態様を適用することができる。
【０１９３】
この出願は、２０１４年６月１６日に出願された日本出願特願２０１４−１２２９６２を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【符号の説明】
【０１９４】
１０１    条件生成装置
１０２    条件生成部
１５１    データベース
２０１    対象検索条件
２０２    第３検索条件
２０３    第４検索条件
１１１    条件生成装置
１１２    条件生成部
１２１    データベース検索システム
１２２    第１処理部
１２３    第２処理部
１２４    データベース
１３１    データベース検索システム
１３２    第２処理部
１３３    変換部
２０    計算処理装置
２１    ＣＰＵ
２２    メモリ
２３    ディスク
２４    不揮発性記録媒体
２５    入力装置
２６    出力装置
２７    通信ＩＦ
【図１】
2015194117.tif 000003
【図２】
2015194117.tif 000004
【図３】
2015194117.tif 000005
【図４】
2015194117.tif 000006
【図５】
2015194117.tif 000007
【図６】
2015194117.tif 000008
【図７】
2015194117.tif 000009
【図８】
2015194117.tif 000010
【図９】
2015194117.tif 000011
【手続補正書】
【提出日】平成28年11月18日(2016.11.18)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
データベースから情報を抽出する条件を表す第１検索条件及び第２検索条件が含まれている対象検索条件のうち、前記第１検索条件に含まれている一部の検索条件が成り立つか否かを表す真偽値を算出し、算出した真偽値を前記一部の検索条件に設定し、前記真偽値を設定した前記対象検索条件の成否に応じて、前記第２検索条件の真偽に依存する第３検索条件を生成する条件生成手段
を備える条件生成装置。
【請求項２】
前記条件生成手段は、前記真偽値が設定された前記第１検索条件を含む前記対象検索条件が、前記第２検索条件に関する真偽値に関わらずに成否が決まるか否かを判定することによって、前記第３検索条件を生成する
請求項１に記載の条件生成装置。
【請求項３】
前記条件生成手段は、前記真偽値として、前記一部の検索条件が成立する真値、及び、前記条件が成立しない偽値を算出し、算出した前記真値を前記条件に設定することによって前記対象検索条件の成否を判定し、さらに、算出した前記偽値を前記一部の検索条件に設定することによって前記対象検索条件の成否を判定する
請求項１または請求項２に記載の条件生成装置。
【請求項４】
請求項１乃至請求項３のいずれかに記載の条件生成装置と、
前記条件生成装置が算出する前記第３検索条件に含まれる前記第１検索条件を用いて記述された検索命令に従い、前記データベースから抽出される第１情報を得る第１処理手段と、
前記第３検索条件に含まれている前記第２検索条件を用いて記述された検索命令を実行することにより、前記第１情報に含まれる値のうち、前記第３検索条件が成立する値を抽出する第２処理手段と
を備えるデータベース検索システム。
【請求項５】
前記第１処理手段、及び、前記第２処理手段は、前記条件生成装置が偽であると判定した検索条件を用いて記述された検索命令を実行しない
請求項４に記載のデータベース検索システム。
【請求項６】
情報処理装置によって、データベースから情報を抽出する条件を表す第１検索条件及び第２検索条件が含まれている対象検索条件のうち、前記第１検索条件に含まれている一部の検索条件が成り立つか否かを表す真偽値を算出し、算出した真偽値を前記一部の検索条件に設定し、前記真偽値を設定した前記対象検索条件の成否に応じて、前記第２検索条件の真偽に依存する第３検索条件を生成する条件生成方法。
【請求項７】
データベースから情報を抽出する条件を表す第１検索条件及び第２検索条件が含まれている対象検索条件のうち、前記第１検索条件に含まれている一部の検索条件が成り立つか否かを表す真偽値を算出し、算出した真偽値を前記一部の検索条件に設定し、前記真偽値を設定した前記対象検索条件の成否に応じて、前記第２検索条件の真偽に依存する第３検索条件を生成する条件生成機能
をコンピュータに実現させる条件生成プログラム。
【請求項８】
前記条件生成機能は、前記真偽値が設定された前記第１検索条件を含む前記対象検索条件が、前記第２検索条件に関する真偽値に関わらずに成否が決まるか否かを判定することによって、前記第３検索条件を生成する機能を含む
請求項７に記載の条件生成プログラム。
【請求項９】
前記条件生成機能は、前記真偽値として、前記条件が成立する真値、及び、前記条件が成立しない偽値を算出し、算出した前記真値を前記条件に設定することによって前記対象検索条件の成否を判定し、さらに、算出した前記偽値を前記条件に設定することによって前記対象検索条件の成否を判定する
請求項８に記載の条件生成プログラム。
【請求項１０】
請求項７乃至請求項９のいずれかに記載の条件生成プログラムと、
前記条件生成装置が算出する前記第３検索条件に含まれる前記第１検索条件を用いて記述された検索命令に従い、前記データベースが抽出する第１情報を得る第１処理機能と、
前記第３検索条件に含まれている前記第２検索条件を用いて記述された検索命令を実行することにより、前記第１情報に含まれる値のうち、前記第３検索条件が成立する値を抽出する第２処理機能と
をコンピュータに実現させるデータベース検索プログラム。
【国際調査報告】
2015194117.tif 000012
2015194117.tif 000013
2015194117.tif 000014
2015194117.tif 000015