(57)【特許請求の範囲】
【請求項１】
クライアントと通信網を介して接続されているクエリ送信システムによって、クエリをデータベースへ送信するための情報処理方法において、前記クエリ送信システムは、データベースゲートウェイ、当該データベースゲートウェイに連絡された複数のデータベースを含み、前記情報処理方法は、
前記データベースゲートウェイが、所定のグループ識別子およびクエリ識別子に対応する一つ以上のクエリを維持する段階と、
前記データベースゲートウェイが、前記クエリが実行される前記データベースの属性を定義するＤＢ属性識別子と前記データベースのアドレスに対するデータベースリストを維持する段階と、
前記クエリ送信システムが、特定のクエリと関連したグループ識別子およびクエリ識別子に関する情報をクライアントから受信する段階と、
前記データベースゲートウェイが、前記受信されたグループ識別子およびクエリ識別子に対応するクエリを識別する段階と、
前記データベースゲートウェイが、前記データベースリストを参照して前記識別されたクエリに対応するＤＢ位置識別子を確認する段階と、
前記データベースゲートウェイが、前記確認されたＤＢ位置識別子に関連したデータベースのアドレスを検索する段階と、
前記データベースゲートウェイが、前記検索されたアドレスによって特定されるデータベースに前記識別されたクエリを送信する段階と、
前記データベースで送信されたクエリを用いてデータ検索を遂行し、前記データベースが、検索結果情報を生成して前記データベースゲートウェイに返信する段階と、
を含むことを特徴とする方法。
【請求項２】
前記データベースゲートウェイが一つ以上のクエリを維持する前記段階は、
前記クエリが発生する地域または前記クエリのサービス属性を確認する段階と、
同一の地域または同一のサービス属性を有する一つ以上のクエリに、一つのグループ識別子が割り当てられるようにする段階と、
を含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記データベースゲートウェイが、同一のグループ識別子を割り当てた複数のクエリの中から特定のクエリを区分するクエリ識別子を割り当てる段階、
をさらに含むことを特徴とする請求項２に記載の方法。
【請求項４】
前記データベースで送信されたクエリを用いてデータ検索を遂行し、前記データベースが、検索結果情報を生成して前記データベースゲートウェイに返信する前記段階は、
前記クエリに対する所定のパラメータおよびカラムを前記検索結果情報として前記クライアントに送信する段階、
を含み、
前記パラメータは、前記クエリ入力値の形式、長さ、命令索引の少なくとも一つを含み、
前記カラムは、前記クエリ出力値の形式、長さ、命令索引の少なくとも一つを含むことを特徴とする請求項１に記載の方法。
【請求項５】
前記データベースゲートウェイへのデータベース接続連結、または前記データベースゲートウェイにおけるデータベース接続解除が成される場合、前記データベースゲートウェイが、前記データベースリストに対して更新処理を遂行する段階、
をさらに含むことを特徴とする請求項１に記載の方法。
【請求項６】
請求項１〜５のいずれか一つの項を実行させるためのプログラムを記録したコンピ
ュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、所定データベースにおけるデータ検索に用いるクエリを事前に作成して維持し、クライアントから受信されるグループ識別子およびクエリ識別子に対応してクエリを選択的に抽出することで、クエリ作成時に発生しやすいエラーを最小化するためのクエリ送信方法およびクエリ送信システムに関する。
【背景技術】
【０００２】
一般的に、ゲームなどのサービスを提供するサーバはデータベースと直接連結されており、発生したクエリを前記直接連結されているサーバに送信してデータ検索を遂行することで所定の検索結果を生成している。ただし、従来のクエリ送信方式では、異なるサーバに接続されているデータベース間ではいかなる連関性も確保することができないため、特定サーバで発生したクエリはサーバと直接接続しているデータベースに限定して送信されるしかなく、これによって制限的なデータ範囲内で検索結果を生成せざるを得ない。
【０００３】
これにより、データベースに保有されるデータの水準（保有量）に従って各サーバにおけるクエリに対する検索結果水準を決定するようになり、各データベースでは、より多くのデータを保有するために多様なデータを持続して確保しなければならないという必要性が提起されている実情にある。
【０００４】
しかし、大量のデータをすべてのデータベースで共通に確保するには、例えば、データの確保と関連した装置を大きく拡充しなければならないという条件が存在し、これにより追加的な費用の増加や作業者の手間が過度に拡大するなどの問題点が生じる恐れがある。
【０００５】
もし、異なるデータを保有する複数のデータベースを有機的に結合することで、前記複数のデータベースがまるで一つのデータベースであるように作動可能なクエリ検索方式があるとすると、クエリに応じて生成される検索結果により豊富なデータを含ませるこができるため、クエリを呼び出したクライアントの要求を満たすことができるであろう。
【０００６】
また、要請を受けるたびにクライアント端で随時クエリを作成していた従来の方式においては、クエリ作成の未熟知またはクエリの作成ミスにより、検索結果を提供する際にエラーが発生する恐れがあるという短所を内在している実情にある。
【０００７】
従って、規格化されたクエリを事前に作成して保有しながら、クライアントの呼び出しによって選択的に特定クエリを検索して特定のデータベースに送信することで、クエリ作成時に発生するエラーを根本的に防止するクエリ送信モデルが切に求められている。また、異なるデータを保有する複数のデータベースを有機的に結合することで、クエリに対するデータ検索が前記複数のデータベースを対象として遂行されるようになり、これによってより豊富なデータを含む検索結果を生成することができるクエリ送信モデルが求められている。
【発明の開示】
【発明が解決しようとする課題】
【０００８】
本発明は、前記のような問題点を解決するために案出されたものであって、事前にクエリを作成して維持しながら、クライアントから受信されるグループ識別子およびクエリ識別子に対応するクエリを選択的に抽出することで、クライアントが直接クエリを作成する場合に発生する恐れのあるクエリ作成時のエラーを防止するクエリ送信方法およびクエリ送信システムを提供することを目的とする。
【０００９】
また、本発明は、クエリが実行されるデータベースを複数接続し、接続される複数のデータベースを一つのデータベースであるように有機的に連関してデータ検索に用いることで、既存の限定された一つのデータベースでのみデータ検索を実行するより多様かつ豊富な検索結果情報を生成することができるクエリ送信方法およびクエリ送信システムを提供することを目的とする。
【００１０】
また、本発明は、クエリ送信環境が変化することによってソースプログラムをすべて変更しなければならなかった既存の煩わしい業務を必要とせず、簡単なデータベースリストに対する更新のみでも前記クエリ送信環境の変化をシステムに認知させるようにするクエリ送信方法およびクエリ送信システムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
前記の目的を達成するために、本発明に係るデータベースへのクエリ送信方法は、一つ以上のクエリを所定のグループ識別子およびクエリ識別子に対応して保存するデータベースゲートウェイを維持する段階と、前記データベースゲートウェイと連結された複数のデータベースに対するデータベースリストを維持する段階と、特定のクエリと関連したグループ識別子およびクエリ識別子に関する情報をクライアントから受信する段階と、前記受信されたグループ識別子およびクエリ識別子に対応するクエリを前記データベースゲートウェイで識別する段階と、前記識別されたクエリを前記データベースリストを参照して該当のデータベースに送信する段階と、前記データベースで送信されたクエリを用いてデータ検索を遂行し、検索結果情報を生成して前記データベースゲートウェイに返信する段階と、を含むことを特徴とする。
【００１２】
また、前記目的を達成するための技術的な具現装置として、データベースへのクエリ送信システムは、所定のグループ識別子およびクエリ識別子に対応する一つ以上のクエリを保存するデータベースゲートウェイと、前記データベースゲートウェイに接続し、前記接続されたデータベースゲートウェイから送信されたクエリを用いてデータ検索を遂行し、検索結果情報を生成して前記データベースゲートウェイに返信するデータベースと、を含むことを特徴とする。
【発明の効果】
【００１３】
以上の説明から知ることができるように、本発明によると、事前にクエリを作成して維持しながら、クライアントから受信されるグループ識別子およびクエリ識別子に対応するクエリを選択的に抽出することで、クライアントが直接クエリを作成する場合に発生する恐れのあるクエリ作成時のエラーを防止するクエリ送信方法およびクエリ送信システムを提供することができる。
【００１４】
また、本発明によると、クエリが実行されるデータベースを複数接続し、接続される複数のデータベースを一つのデータベースであるように有機的に連関してデータ検索に用いることで、既存の限定された一つのデータベースでのみデータ検索を行うより多様かつ豊富な検索結果情報を生成することができるクエリ送信方法およびクエリ送信システムを提供することができる。
【００１５】
また、本発明によると、クエリ送信環境が変化することによってソースプログラムをすべて変更しなければならなかった既存の煩わしい業務を必要とせず、簡単なデータベースリストに対する更新のみでも前記クエリ送信環境の変化をシステムに認知させるようにするクエリ送信方法およびクエリ送信システムを提供することができる。
【発明を実施するための最良の形態】
【００１６】
以下、添付の図面を参照して、本発明に係るクエリ送信方法およびクエリ送信システムに対して説明する。
【００１７】
本明細書において持続して用いられている“クエリ（query）”とは、検索者であるクライアントが所望する結果を獲得することができるように所定の条件を組み合わせて作成するものであって、データベースでの検索に用いられる質問語を意味する。一般的に、クエリは、クライアントが選択するフィールド領域（検索対象を限定する役割をする）に相応してその検索結果を生成する。例えば、ゲームユーザの個人情報を保有するゲームデータベースに対する検索において、クライアントからクエリのフィールド領域として“レベル１００以上の会員ＩＤ”が選択される場合、ゲームデータベースは、前記フィールド領域である“レベル１００以上の会員ＩＤ”に対応するゲームユーザのＩＤリストを作成し、これを検索結果として前記クエリを生成したクライアントに提供する。
【００１８】
特に、本発明では、前記クエリを予め決定して維持し（以下、予め決定されたクエリを定義済みクエリ（defined query）とする）、クライアントの選択によって識別される定義済みクエリを用いてデータベースにおける検索を遂行することで、クエリの作成時間を節減したりクエリ作成時のエラーを減らしてクエリ作成の正確性を期することができる。本発明に係る定義済みクエリ（defined query）は一つ以上のデータベースと接続し、接続されたデータベースにおけるデータ検索を統合的に管理するデータベースゲートウェイと連関して維持される。
【００１９】
図１は、本発明に係るデータベースゲートウェイとデータベースとのネットワーク連結を概略的に示した図である。
【００２０】
本発明に係るクエリ送信システム１００は、事前に規格化して作成された定義済みクエリをデータベースゲートウェイ１１０に保存しながら、クライアント１３０から受信される識別子ペア（グループ識別子およびクエリ識別子）に対応して識別される定義済みクエリをデータベースゲートウェイ１１０に接続される一つ以上のデータベース１２０に送信する役割をする。
【００２１】
まず、データベースゲートウェイ１１０は、予め作成された定義済みクエリを複数維持しており、定義済みクエリそれぞれにグループ識別子およびクエリ識別子を対応させることで、クライアント１３０が前記グループ識別子およびクエリ識別子を用いて特定の定義済みクエリを選択的に呼び出すことができるようにする。
【００２２】
このとき、グループ識別子は、クエリが頻度を有して発生する地域またはクエリのサービス属性を考慮する。例えば、本システムの運営者によって割り当てられることができ、新規データの更新処理と関連する複数のクエリには、共通した一つのグループ識別子“Ａ”を割り当てたりする。また、クエリ識別子は、同一のグループ識別子を有する定義済みクエリそれぞれを識別するために割り当てられる。例えば、前記グループ識別子“Ａ”を共通で有する定義済みクエリに対し、そのそれぞれにクエリ識別子を１から順に割り当てることで、同一のグループ識別子を有する定義済みクエリそれぞれに対する区分を可能にすることができる。
【００２３】
また、データベースゲートウェイ１１０は、前記定義済みクエリが実行（検索）されるデータベース１２０を複数接続し、接続される複数のデータベース１２０を一つのデータベースであるように有機的に連関してデータ検索に用いることで、既存の限定された一つのデータベースでのみデータ検索を実行するより多様かつ豊富な検索結果情報を生成することができる。
【００２４】
一つのデータベースゲートウェイ１１０に接続される複数のデータベース１２０間では、データベース１２０が保有するデータに関するメッセージを持続して相互交換することで、データ保有状態が各データベース１２０ごとで同一に維持されるようにするマルチキャスト（multicast）過程が実行されることがある。この場合、前記データベースゲートウェイ１１０で識別された定義済みクエリは、データベースゲートウェイ１１０に接続される任意のデータベース１２０に送信されても同一の検索結果情報を生成することができる。
【００２５】
また、データベースゲートウェイ１１０は、識別されたクエリが実行されるデータベース１２０を指定することができる。この場合、前記クエリは、前記指定されたデータベース１２０にのみ送信されてデータ検索を実行することができる。同時に、前記データ検索やデータ流入などによって変更されるデータに関する事項は、一先ず、前記指定されたデータベース１２０でのみ活用することができる（エニーキャスト（anycast）過程）。ただし、前記エニーキャスト過程によって特定データベース１２０にのみ関連するデータに関する事項は、上述したマルチキャストによって他のデータベース１２０でも適用されるようにすることができる。
【００２６】
データベース１２０は、データベースゲートウェイ１１０から受信する定義済みクエリに応じて所定の検索結果情報を生成し、生成された前記検索結果情報をデータベースゲートウェイ１１０に返信する役割をする。特に、本発明におけるデータベース１２０は、クエリの地政学的な発生位置（地域属性）やサービス属性を考慮した上で、接続するデータベースゲートウェイ１１０を選択したりする。例えば、ゲームユーザの個人情報に対するクエリ（定義済みクエリ）を多く維持するデータベースゲートウェイ１１０には、前記ゲームユーザの個人情報に関するデータを保有して関連したクエリに応じて検索結果を生成することができるデータベース１２０が選択的に接続されたりする。
【００２７】
クライアント１３０は、所望するクエリ（定義済みクエリ）を発生させるために該当のクエリと関連したグループ識別子およびクエリ識別子をデータベースゲートウェイ１１０に送信することで、前記所望するクエリと類似した定義済みクエリをデータベースゲートウェイ１１０から抽出することができる役割を遂行する。例えば、ゲームユーザの個人情報の要請に関するクエリを発生しようとするクライアント１３０は、該当の個人情報の要請と関連した定義済みクエリを識別することができる識別子ペア（例えば、グループ識別子“Ａ”およびクエリ識別子“１”）をデータベースゲートウェイ１１０に送信する。これにより、データベースゲートウェイ１１０は、グループ識別子“Ａ”およびクエリ識別子“１”によって特定されるゲームユーザ情報と連関した定義済みクエリを、保有している多数の定義済みクエリから識別することができる。
【００２８】
すなわち、本発明のクエリ送信システム１００は、クライアント１３０から受信された識別子ペアに対応する定義済みクエリをデータベースゲートウェイ１１０から識別し、識別された定義済みクエリをデータベースゲートウェイ１１０と接続する任意のデータベース１２０、または特定のデータベース１２０に送信することで、定義済みクエリを用いたデータ検索を可能にする役割を遂行する。以下、図２を参照して、本発明のクエリ送信システム２００の具体的な構成を説明する。
【００２９】
図２は、本発明の一実施形態に係るクエリ送信システムを示す構成図である。
【００３０】
本発明のクエリ送信システム２００は、上述したデータベースゲートウェイ２１０およびデータベース２２０を含む。
【００３１】
まず、データベースゲートウェイ２１０は、所定のグループ識別子およびクエリ識別子に対応する一つ以上のクエリを保存する役割をする。すなわち、データベースゲートウェイ２１０は、例えば、本発明の運営者によって予め作成されたクエリ（定義済みクエリ）を保存するメモリの役割を遂行し、クエリそれぞれにグループ識別子およびクエリ識別子を対応させ、クライアント１３０が要求するクエリを特定の定義済みクエリとして識別されるようにする。ここで、前記定義済みクエリは、各データベースゲートウェイ２１０に含まれるメモリ２１５に、前記グループ識別子およびクエリ識別子と対応して保存されたりする。
【００３２】
上述したように、グループ識別子は、クエリが頻度を有して発生する地域属性、またはクエリのサービス属性を考慮した上で、定義済みクエリそれぞれに割り当てられたり、同一のグループ識別子が割り当てられた一つ以上の定義済みクエリをそれぞれ独立的に区分するために、クエリ識別子を定義済みクエリに個別的に割り当てたりする。
【００３３】
データベースゲートウェイ２１０は、クエリが送信されるデータベース２２０の属性を定義したＤＢ属性識別子をクエリそれぞれに対応させることで、前記クエリをグループ識別子およびクエリ識別子だけでなく、データベース２２０の属性に符合するように識別することができる。すなわち、データベースゲートウェイ２１０は、接続されるデータベース２２０の、例えば、製造社（売主）による異なった属性を認知し、前記認知されたデータベース２２０の属性で正常に作動することができるクエリを選択的に識別したりする。ここで、ＤＢ属性識別子とは、クエリが最適に作動するデータベース２２０の属性を定義するものであって、例えば、データベース２２０がオラクル（oracle）（登録商標）によって具現される場合、運営者は前記クエリ（定義済みクエリ）をオラクル（登録商標）環境で最適に作動するように作成し、データベースゲートウェイ２１０は、前記作成されたクエリにオラクル（登録商標）と関連したＤＢ属性識別子を対応させて維持したりする。データベースゲートウェイ２１０にオラクル（登録商標）によって具現されたデータベース２２０が接続された状態でクライアント１３０からグループ識別子およびクエリ識別子が受信される場合、データベースゲートウェイ２１０は、前記オラクル（登録商標）と関連したＤＢ属性識別子に対応するクエリを選択的に識別したり、前記識別されたクエリをオラクル（登録商標）で具現されたデータベース２２０に送信したりする。
【００３４】
これにより、本発明のクエリ送信システム２００によると、接続されるデータベース２２０の属性を予め考慮してクエリを作成しておき、データベースゲートウェイ２１０に接続されるデータベース２２０の属性によって該当のデータベース２２０で最適に作動可能なクエリを識別することができる。従って、クエリを作成する側（例、クライアント側）で、クエリを作成するたびにクエリが送信されるデータベースの属性、例えば、オラクル（登録商標）、ｍｓｓｑｌ、ｍｙｓｑｌなどの製造社の環境によってクエリを異なって作成しなければならなかった既存の煩わしさを減少させることができる。
【００３５】
また、データベースゲートウェイ２１０は、データベースゲートウェイ２１０に接続連結されるデータベース２２０に対する属性をデータベースリストに記録することができ、識別されたクエリが送信するデータベース２２０を正確に確認することができる。すなわち、本発明に係るクエリ送信システム２００は、識別されたクエリと連関する属性およびデータベース２２０の属性を考慮した上で、クエリを送信するデータベース２２０のアドレスをデータベースリストから検索し、検索されたアドレスによって特定されるデータベース２２０にクエリを送信することができる。
【００３６】
これにより、データベースゲートウェイ２１０に接続されるデータベース２２０が他の装備に交換されたり、二つ以上の装備に分離されたり、新しい装備が追加されるなどの接続環境の変更があったとしても、データベースリストの更新処理のみで前記識別されたクエリが正常に作動することができるデータベース２２０のアドレスを確認することができる。また、遂行されるデータベースの属性を予め考慮してクエリを事前に作成しておくため、接続されるデータベースが変更されても、クエリ識別に柔軟に対応することができる。
【００３７】
同時に、データベースゲートウェイ２１０は、各クエリが送信されてデータ検索に用いられるデータベース２２０を指定するＤＢ位置識別子を、定義済みクエリそれぞれに対応させて保存することができる。これにより、クライアント１３０から受信される識別子ペア（グループ識別子およびクエリ識別子）によって識別された定義済みクエリは、前記ＤＢ位置識別子に関連したデータベースのアドレスをデータベースリストから検索し、検索されたアドレスによって特定されるデータベース２２０に前記定義済みクエリを送信し、該当のデータベース２２０でデータ検索が遂行されるようにすることができる。
【００３８】
本実施形態では、データベースゲートウェイ２１０に維持されるクエリに対応してデータ検索が遂行されるデータベース１２０、またはデータベース１２０のアドレスを指定することを例示して説明しているが、これは本発明の一実施形態に過ぎず、一つのデータベースゲートウェイ２１０に接続する複数のデータベース２２０で上述したマルチキャスト過程によるデータ交換が成される場合、任意のデータベース２２０に定義済みクエリを送信したとしても同一の検索結果情報を生成することができる。
【００３９】
データベース２２０は、特定のデータベースゲートウェイ２１０に接続し、接続されたデータベースゲートウェイ２１０から送信されるクエリを用いてデータ検索が遂行されるようにする役割をする。このとき、データベースゲートウェイ２１０へのデータベース接続は、特定のデータベースゲートウェイ２１０で維持するクエリ、または該当のクエリに応じて適切な検索結果情報を生成することができるデータベース２２０のデータ保有現況を考慮して成されたりする。同時に、データベースゲートウェイ２１０とデータベース２２０間は、接続連結および接続解除を反復することがある。データベースゲートウェイ２１０から定義済みクエリの送信を受けたデータベース２２０は、前記定義済みクエリに応じて保有したデータが検索されるようにすることで、本発明のクエリ送信システム２００からクライアント１３０に送信される検索結果情報を生成することができる。
【００４０】
データベースゲートウェイ２１０にデータベース２２０を接続した後、データベースゲートウェイ２１０は自分と連結された複数のデータベース２２０に対するデータベースリストを作成し、例えば、メモリ２１５に維持したりする。前記データベースリストは、特定のデータベースゲートウェイ２１０に接続するデータベース２２０に対する現況情報のリストである。例えば、データベースリストには、データベースゲートウェイ２１０に接続されたデータベース２２０の名称、データベース２２０のアドレスなどに関する情報を記録したりする。
【００４１】
また、データベース２２０は、データ検索に対する検索結果情報として、送信された定義済みクエリに対するパラメータ（parameter）およびカラム（column）に関する情報を前記クライアント１３０に送信することがある。ここで、パラメータとは、前記定義済みクエリの入力値に対する各種情報を含み、例えば、前記入力値（input value）の形式（type）、長さ（length）、命令索引（order−index）などを含んだりする。また、カラムとは、前記定義済みクエリの出力値（output value）に関する情報を含み、前記出力値の形式、長さ、命令索引などを含んだりする。
【００４２】
特に、本発明に係るデータベース２２０は、システム環境によって、データベースゲートウェイ２１０への接続連結または接続解除が随時遂行される。これにより、データベースゲートウェイ２１０は、以前に作成したデータベースリストに対する更新処理を遂行するようになる。すなわち、接続されたデータベース２２０の変更によってクエリと関連したすべてのソースプログラムを変更しなければならなかった従来のものとは異なり、本発明のクエリ送信システム２００では、データベースゲートウェイ２１０でデータベースリストを更新することで、簡単にデータベース２２０の変更事実をクエリ送信システム２００に知らせることができる。
【００４３】
以上で詳察したように、本発明のクエリ送信システム２００は、事前に作成されたクエリを識別子ペアに対応させて保存し、クライアント１３０から受信された識別子ペアに対応するクエリをデータベースゲートウェイ２１０で識別することで、従来において必要なたびにクライアント１３０がクエリを作成することによって頻発していたエラーを防止することができる。
【００４４】
以後、クエリ送信システム２００は、識別されたクエリをアドレスを指定したデータベース２２０、またはデータベースゲートウェイ２１０に接続される任意のデータベース２２０に送信し、該当のデータベース２２０で前記クエリを用いたデータ検索を遂行することで、クエリに応答した検索結果情報を生成することができる。
【００４５】
図３は、本発明に係る定義済みクエリの識別および識別された定義済みクエリを用いたデータ検索の一例を示す図である。
【００４６】
特定クエリの生成を所望するクライアント１３０は、クエリと関連したグループ識別子およびクエリ識別子（識別子ペア）を本発明のクエリ送信システム２００に送信する。このため、クライアント１３０は、クエリの内訳に対応する識別子ペアを事前に認知していなければならず、本発明のクエリ送信システム２００は、前記クエリに対応する識別子ペア、すなわちグループ識別子およびクエリ識別子に関する情報をクライアント１３０に提供することができる。
【００４７】
データベースゲートウェイ２１０では、予め作成したクエリ（定義済みクエリ）をグループ識別子およびクエリ識別子に対応して保存し、例えば、図３のiのように、５つのク
エリそれぞれにグループ識別子“Ａ”または“Ｂ”を、クエリ識別子“１”ないし“３”を割り当てる。同時に、それぞれのクエリには、ＤＢ属性識別子およびＤＢ位置識別子が対応され、クエリ送信システム２００は、識別されたクエリを最適に遂行することができる属性を有するデータベース２２０のアドレス情報を得ることができる。
【００４８】
例えば、クライアント１３０からグループ識別子“Ａ”およびクエリ識別子“２”を受信する場合、クエリ送信システム２００は、前記受信されたグループ識別子“Ａ”およびクエリ識別子“２”に対応して定義済みクエリ“レベル１００以上の会員ＩＤ”を識別することができる。同時に、クエリ送信システム２００は、前記識別された定義済みクエリである“レベル１００以上の会員ＩＤ”に対応するＤＢ属性識別子を“オラクル”（登録商標）として確認し、該当の“オラクル”（登録商標）によって具現されたデータベース“ＤＢ＃２”を、前記識別された定義済みクエリである“レベル１００以上の会員ＩＤ”が送信されるデータベース２２０に認知させることができる。
【００４９】
また、前記識別された定義済みクエリに対応するＤＢ位置識別子によって、クエリ送信システム２００は、前記定義済みクエリである“レベル１００以上の会員ＩＤ”をデータベース“ＤＢ＃２”に送信することができるように、データベースリストから前記データベース“ＤＢ＃２”のアドレス情報を獲得することができる。これにより、クエリ送信システム２００は、前記定義済みクエリである“レベル１００以上の会員ＩＤ”を前記アドレスによって特定されたデータベース“ＤＢ＃２”に送信し、データベース“ＤＢ＃２”におけるデータ検索によって所定の検索結果情報を生成することができる。図３のiでは
、前記定義済みクエリである“レベル１００以上の会員ＩＤ”を送信するデータベース“ＤＢ＃２”のアドレスが、ＩＰアドレス１７５．３３．０．２であることを例示している。
【００５０】
同時に、データベースゲートウェイ２１０に接続されるデータベース２２０の接続連結または接続解除によってクエリ送信環境が変化する場合、これと関連した情報を前記データベースリストにのみ記録することで、クエリ送信環境の変化に関する更新処理が簡単に成されるようにすることができる。従って、該当のクエリを遂行する実行文（例えば、Ｓｑｌ文など）をより効率的に変更する場合でも、クエリと関連したソースコードをすべて修正しなければならないという従来の煩わしさから脱皮することができる効果を得ることができる。
【００５１】
また、一つのデータベースゲートウェイ２１０に接続される複数のデータベース２２０間でマルチキャスト過程が遂行されることがあり、本発明の他の実施形態で定義済みクエリが遂行されるデータベース２２０を特定するＤＢ位置識別子がない場合、クエリ送信システム２００は、任意のデータベースに前記識別された定義済みクエリを送信することができる。このとき、データベースゲートウェイ２１０に接続される複数のデータベース２１０間ではマルチキャストによってデータ共有が成されるため、前記複数のデータベース２１０が保有するデータは同一であることができる。
【００５２】
データベース“ＤＢ＃２”におけるデータ検索によって、クエリ送信システム２００は、例えば図３のiiのように、“会員ＩＤ”および“現在レベル”に関する情報を含む検索
結果情報を生成し、クエリを送信したデータベースゲートウェイ２１０、またはクエリを要請したクライアント１３０に提供されるようにすることができる。例えば、図３のiiで
は、クエリ“レベル１００以上の会員ＩＤ”に応じ、本発明のクエリ送信システム２００での検索結果として、会員ＩＤ“ｗａｒｒｉｏｒ、ｂｏｗｙｅｒ、ｗｉｔｃｈ”などの現在レベル情報を生成することを例示している。
【００５３】
これにより、本発明のクエリ送信システム２００によっては、事前にクエリを作成して維持しながら、クライアント１３０から受信されるグループ識別子およびクエリ識別子に対応するクエリを選択的に抽出することで、クライアント１３０が直接クエリを作成する場合に発生する恐れのあるクエリ作成時のエラーを防止することができる。同時に、クエリ送信環境が変化することによってソースプログラムをすべて変更しなければならなかった既存の煩わしい業務を必要とせず、簡単なデータベースリストに対する更新のみでも前記クエリ送信環境の変化をシステムに認知させることができる。
【００５４】
以下、本発明の実施形態に係るクエリ送信システム２００の作業の流れを詳しく説明する。
【００５５】
図４は、本発明の一実施形態に係るクエリ送信方法を具体的に示したフローチャートである。
【００５６】
本発明のクエリ送信方法は、上述したクエリ送信システム２００によって遂行される。
【００５７】
まず、段階４１０で、クエリ送信システム２００は、一つ以上のクエリを所定のグループ識別子およびクエリ識別子に対応して保存するデータベースゲートウェイ２１０を維持する。本段階４１０は、クライアント１３０によって作成される可能性があるすべてのクエリを予想した、例えば、本システムの運営者によって予め作成されるクエリを識別子ペアに対応させてデータベースゲートウェイ２１０に保存する過程である。
【００５８】
特に、本段階４１０におけるクエリ送信システム２００は、各クエリに対応するグループ識別子またはクエリ識別子をクエリの発生環境を考慮して割り当てることができる。すなわち、クエリ送信システム２００は、特定のクエリが頻度を有して発生する地域（地政学的な位置）、またはクエリのサービス属性を確認し、同一の地域または同一のサービス属性を有するクエリに共通した一つのグループ識別子を割り当てることができる。例えば、データベースゲートウェイ２１０で遂行されるサービス属性が“ゲームユーザの個人情報検索”であるとすると、このようなサービス属性と連関すると判断されるクエリにグループ識別子アルファベット“Ａ”を割り当てたりする（図３のi参照）。
【００５９】
また、クエリ送信システム２００は、同じグループ識別子の割り当てを受ける複数のクエリの中から特定のクエリを区分するためのクエリ識別子を割り当てることができる。前記クエリ識別子としては、例えば、同一のグループ識別子が割り当てられたクエリそれぞれに、順に数字列（１、２、３、…）を割り当てたりする（図３のi参照）。
【００６０】
また、段階４２０で、クエリ送信システム２００は、データベースゲートウェイ２１０と連結された複数のデータベース２２０に対するデータベースリストを作成して維持する。本段階４２０は、一つのデータベースゲートウェイ２１０に現在接続しているデータベース２２０に対する情報をリスト化して記録する過程であって、前記データベースリストには、例えば、データベースゲートウェイ２１０に接続するデータベース２２０の識別情報、前記データベース２２０のアドレス情報などを含んだりする。
【００６１】
次に、段階４３０で、クエリ送信システム２００は、特定のクエリと関連したグループ識別子およびクエリ識別子に関する情報をクライアント１３０から受信する。本段階４３０は、特定クエリの発生を所望するクライアント１３０から該当のクエリと連関したグループ識別子およびクエリ識別子の入力を受ける過程であって、クエリ送信システム２００は、特定クエリの発生に要されるグループ識別子およびクエリ識別子に対する情報を予めクライアント１３０に提供してグループ識別子およびクエリ識別子の正確な入力が誘導されるようにする。
【００６２】
また、段階４４０で、クエリ送信システム２００は、受信されたグループ識別子およびクエリ識別子に対応するクエリをデータベースゲートウェイ２１０で識別する。本段階４４０は、クライアント１３０から受信したグループ識別子およびクエリ識別子のいずれも満たすクエリをデータベースゲートウェイ２１０のメモリ２１５から検索して抽出する過程である。
【００６３】
次に、段階４５０で、クエリ送信システム２００は、識別されたクエリをデータベースリストを参照して該当のデータベース２２０に送信する。本段階４５０は、前記識別されたクエリに対応するＤＢ位置識別子を確認し、確認されたＤＢ位置識別子と関連したデータベース２２０のアドレス情報をデータベースリストから検索する過程である。これにより、識別子ペアによって識別されたクエリは、前記クエリに応じて最適な検索結果を生成することができる特定のデータベース２２０に送信されることができる。
【００６４】
また、段階４６０で、クエリ送信システム２００は、データベース２２０で送信されたクエリを用いてデータ検索を遂行し、検索結果情報を生成してデータベースゲートウェイ２１０に返信する。本段階４６０は、クエリが送信されたデータベース２２０におけるデータ検索によって前記クエリに応答した検索結果情報を生成し、前記生成された検索結果をデータベースゲートウェイ２１０を経由してクライアント１３０に提供されるようにする過程である。
【００６５】
従って、本発明によると、事前に作成されたクエリをクライアント１３０の呼び出しによって選択的に抽出することで、クエリの作成時に発生する恐れのあるエラーおよびクエリ利用ミスによって生じる問題を根本的に防止することができる。
【００６６】
続いて、段階４７０で、クエリ送信システム２００は、データベースゲートウェイ２１０に接続するデータベース２２０と関連して接続変更信号が発生する場合、作成されたデータベースリストに対する更新処理を遂行する。本段階４７０は、クエリ送信環境に対する変更、例えば、データベースゲートウェイ２１０に接続していたデータベース２２０の接続が解除されて離脱するなどの環境変化がある場合、データベースリストに対する更新のみでクエリ送信の環境変化をクエリ送信システム２００で認知することができるようにする過程である。
【００６７】
従って、本発明によると、クエリ送信環境の変更があったとしても、データベースリストのみを簡単に更新処理することで、クエリ送信環境の変化によって関連したソースプログラムすべてを修正しなければならなかった従来の煩わしさを防止することができる。
【００６８】
本発明の実施形態は、コンピュータにより具現される多様な動作を実行するためのプログラム命令を含むコンピュータ読み取り可能な媒体を含む。前記媒体は、プログラム命令、データファイル、データ構造などを単独または組み合わせて含むこともできる。前記媒体およびプログラム命令は、本発明の目的のために特別に設計されて構成されたものでもよく、コンピュータソフトウェア分野の技術を有する当業者にとって公知であり使用可能なものであってもよい。コンピュータ読み取り可能な記録媒体の例としては、ハードディスク、フロッピー（登録商標）ディスクおよび磁気テープのような磁気媒体、ＣＤ−ＲＯＭ、ＤＶＤのような光記録媒体、フロプティカルディスクのような磁気−光媒体、およびＲＯＭ、ＲＡＭ、フラッシュメモリなどのようなプログラム命令を保存して実行するように特別に構成されたハードウェア装置が含まれる。前記媒体は、プログラム命令、データ構造などを保存する信号を送信する搬送波を含む光または金属線、導波管などの送信媒体でもある。プログラム命令の例としては、コンパイラによって生成されるもののような機械語コードだけでなく、インタプリタなどを用いてコンピュータによって実行される高級言語コードを含む。
【００６９】
図５は、本発明に係るクエリ送信方法を実行するのに採用される汎用コンピュータの内部ブロック図である。
【００７０】
コンピュータシステム５００は、主記憶装置（一般的には、random access memoryまたはRAM５２０）および主記憶装置（一般的には、read only memoryまたはROM５３０）を含む記憶装置と連結される一つ以上のプロセッサ５１０（中央処理装置またはCPUとも呼ばれる）を含む。本技術分野において広く知られているように、ロム５３０は、データおよび命令を単一方向にＣＰＵに送信する役割をし、ラム５２０は通常、データおよび命令を双方向的な方法で送信するのに用いられる。これら主記憶装置は、両方とも前記したコンピュータ読み取り可能な媒体のあらゆる好適な形態を含むことができる。大容量記憶装置（Mass Storage）５４０は、双方向的にＣＰＵに連結され、追加的なデータ保存能力を提供し、前記したコンピュータ読み取り可能な媒体のいずれかを含むことができる。大容量記憶装置５４０は、プログラム、データなどを記憶するのに用いられ、通常、主記憶装置より速度が遅いハードディスク等の補助記憶装置である。ＣＤ−ＲＯＭ５６０などの特定の大容量記憶装置が単一方向にＣＰＵにデータを送ることもある。プロセッサ５１０は、ビデオモニタ、トラックボール、マウス、キーボード、マイクロフォン、タッチスクリーン型ディスプレイ、カード読み取り機、磁気または紙テープ読み取り機、音声または筆記認識機、ジョイスティック、または他のコンピュータなどの他の公知の入力装置のような一つ以上の入出力装置を含むインターフェイス５５０と連結される。最後に、プロセッサ５１０は、ネットワークインターフェイス５７０に一般的に示されるようなネットワーク接続を用いてコンピュータまたは無線通信ネットワークに接続されてもよい。このようなネットワーク接続を介して、前記した方法の手順を実行することにより、ＣＰＵが前記ネットワークから情報の入力を受けたり、前記ネットワークに情報を出力したりすることが意図される。前記した装置および道具は、コンピュータハードウェアおよびソフトウェア技術分野の当業者にとって周知である。
【００７１】
上述したように、本発明の好ましい実施形態を参照して説明したが、該当の技術分野において熟練した当業者にとっては、特許請求の範囲に記載された本発明の思想および領域から逸脱しない範囲内で、本発明を多様に修正および変更させることができることを理解することができるであろう。
【００７２】
すなわち、本発明の技術的範囲は、特許請求の範囲に基づいて定められ、発明を実施するための最良の形態により制限されるものではない。
【図面の簡単な説明】
【００７３】
【図１】本発明に係るデータベースゲートウェイとデータベースとのネットワーク連結を概略的に示した図である。
【図２】本発明の一実施形態に係るクエリ送信システムを示す構成図である。
【図３】本発明に係る定義済みクエリの識別、および識別された定義済みクエリを用いたデータ検索の一例を示す図である。
【図４】本発明の一実施形態に係るクエリ送信方法を具体的に示したフローチャートである。
【図５】本発明に係るクエリ送信方法を実行するのに採用される汎用コンピュータ装置の内部ブロック図である。
【符号の説明】
【００７４】
２００：クエリ送信システム
２１０：データベースゲートウェイ
２１５：メモリ
２２０：データベース
【図１】
0004453983.tif 000002
【図２】
0004453983.tif 000003
【図３】
0004453983.tif 000004
【図４】
0004453983.tif 000005
【図５】
0004453983.tif 000006