(57)【要約】【課題】検索時の処理を煩雑にせずにデータの再配置を実行可能なデータベースサーバ、データ振分方法及びサーバシステムを提供する。【解決手段】ＤＢサーバ１は、複数のファーム２１と、複数のファーム２１の各々に対応し複数のファーム２１の各々のパスを設定しファーム２１を増設した場合に既存のファーム２１から増設したファーム２１にデータを振り分ける際に用いる複数の設定ファイル２３と、を記憶する記憶部２０と、複数の設定ファイル２３を読み込んで複数のファーム２１の各々に対応したプロセス２５を生成するプロセス生成手段１１と、ファーム２１に格納するデータに対する要求データをフロントエンドサーバ３から受信する要求データ受信手段１２と、受信した要求データを対応するプロセス２５に送信する要求データ送信手段１３と、要求データを受信したプロセス２５が対応するファーム２１にデータを格納する格納手段１４と、を備える。【選択図】図１
2011039577.tif 000002
【特許請求の範囲】
【請求項１】
分割したデータを記憶する記憶領域を表す複数のファームと、前記複数のファームの各々に対応し、その複数のファームの各々のパスを設定し、ファームを増設した場合に既存のファームからその増設したファームにデータを振り分ける際に用いる複数の設定ファイルと、を記憶する記憶部と、
前記記憶部に記憶された前記複数の設定ファイルを読み込んで、その複数のファームの各々に対応したプロセスを生成するプロセス生成手段と、
前記ファームに格納するデータに対する要求データを、データ記憶処理の依頼元のコンピュータから受信する要求データ受信手段と、
受信した前記要求データを、対応する前記プロセスに送信する要求データ送信手段と、
前記要求データを受信した前記プロセスが、対応する前記ファームに前記データを格納する格納手段と、
を備えること、
を特徴とするデータベースサーバ。
【請求項２】
分割したデータを記憶する記憶領域を表す複数のファームと、前記複数のファームの各々に対応し、その複数のファームの各々のパスを設定し、ファームを増設した場合に既存のファームからその増設したファームにデータを振り分ける際に用いる複数の設定ファイルと、を記憶する記憶部を備えたデータベースサーバによって、所定のファームに対してデータを格納するデータ振分方法であって、
前記記憶部に記憶された前記複数の設定ファイルを読み込んで、その複数のファームの各々に対応したプロセスを生成するステップと、
前記ファームに格納する前記データに対する要求データを、データ記憶処理の依頼元のコンピュータから受信するステップと、
受信した前記要求データを、対応する前記プロセスに送信するステップと、
前記要求データを受信した前記プロセスが、対応する前記ファームに前記データを格納するステップと、
を含むこと、
を特徴とするデータ振分方法。
【請求項３】
請求項１に記載のデータベースサーバと、前記データベースサーバに対して通信可能に接続されたフロントエンドサーバと、によって構成されたサーバシステムにおいて、
前記フロントエンドサーバは、
前記データベースサーバの前記ファームを指定した振分テーブルと、
前記データベースサーバに対するデータ記憶処理要求を前記フロントエンドサーバが受け付けたことに応じて、前記振分テーブルを参照して、前記データベースサーバに要求データを送信する要求データ送信手段と、
を備え、
前記データベースサーバの前記要求データ受信手段は、前記フロントエンドサーバから送信された前記要求データを受信すること、
を特徴とするサーバシステム。
【請求項４】
分割したデータを記憶する記憶領域を表す一のファームを記憶部に有するデータベースサーバと、前記データベースサーバに対して通信可能に接続されたフロントエンドサーバと、前記データベースサーバ及び前記フロントエンドサーバに対して通信可能に接続された移行用コンピュータと、によって構成されたサーバシステムにおいて、
前記フロントエンドサーバは、前記データベースサーバの前記一のファームを指定した振分テーブルを有し、
前記移行用コンピュータは、
前記フロントエンドサーバに対して通信可能に接続した新たなデータベースサーバを、所定の条件によって増設したことに応じて、前記データベースサーバ及び前記新たなデータベースサーバに、新たなファームを各々生成するファーム生成手段と、
前記ファーム生成手段により前記データベースサーバ及び前記新たなデータベースサーバに生成された前記新たなファームの各々にデータを振り分ける設定を、前記振分テーブルに追加する第１振分テーブル更新手段と、
前記第１振分テーブル更新手段により前記振分テーブルに設定が追加されたことに応じて、前記一のファームに格納され、複数の前記新たなファームの各々に格納されていないデータを、前記振り分ける設定の条件に基づいて前記新たなファームの各々に格納するデータ移行手段と、
前記データ移行手段によるデータの格納が終了したことに応じて、前記一のファームの指定を前記振分テーブルから削除する第２振分テーブル更新手段と、
前記第２振分テーブル更新手段により削除されたことに応じて、前記一のファームを前記データベースサーバから削除するファーム削除手段と、
を備えること、
を特徴とするサーバシステム。
【請求項５】
前記データベースサーバは、
前記移行用コンピュータの前記第１振分テーブル更新手段によって前記振分テーブルに前記新たなファームの各々にデータを振り分ける設定が追加されたことに応じて、前記新たなファームのパスを各々設定した前記新たなファームに対応する設定ファイルを前記記憶部に記憶させる記憶制御手段と、
前記記憶部に記憶された前記複数の設定ファイルを読み込んで、その複数のファームの各々に対応したプロセスを生成するプロセス生成手段と、
前記ファームに格納するデータに対する要求データを、前記フロントエンドサーバから受信する要求データ受信手段と、
受信した前記要求データを、対応する前記プロセスに送信する要求データ送信手段と、
前記要求データを受信した前記プロセスが、対応する前記ファームに前記データを格納する格納手段と、
を備えること、
を特徴とする請求項４に記載のサーバシステム。
【請求項６】
前記新たなデータベースサーバの数をｋ、
増設後のデータベースサーバの総数をｎとし、
増設前のデータベースサーバの前記一のファームに、均等にデータが格納されている場合に、
前記データベースサーバの各々に格納可能な最大のデータ量をＸ、前記一のファームに格納されたデータ量をｘとして、
前記所定の条件が、
【数１】
2011039577.tif 000005
を満たすことを条件に、前記新たなデータベースサーバを増設すること、
を特徴とする請求項４又は請求項５に記載のサーバシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データを分割して配置するデータベースサーバ、データ振分方法及びサーバシステムに関する。
【背景技術】
【０００２】
従来、複数のプロセッサからなる分散データシステム上に分割して配置されるデータを再配置するデータベースサーバが開示されている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平９−２９３００６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１のデータベースサーバは、ＣＰＵ増設時に外部記憶装置を追加するものであるが、追加前の各ＣＰＵ下のレコードを再配置する過程において、各ＣＰＵが業務プログラムによる検索、格納処理で使用されていない空き時間に実行して実現するものであり、サービスを中断する必要があった。
【０００５】
サービスを中断せずにデータを移行する方法として、例えば、新規サーバを用意にして、この新規サーバにデータを移行することが考えられる。しかし、増設後の台数分のサーバを新たに用意する必要があるため、コスト増になってしまう。
【０００６】
そこで、本発明は、増設するサーバの台数を極力抑えることが可能なデータの再配置を実行するデータベースサーバ、データ振分方法及びサーバシステムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明者は、データベースに複数のファームを記憶することで、データの再配置時にこの複数のファームを更新することを見出し、本発明を完成するに至った。本発明は、具体的には次のようなものを提供する。
【０００８】
（１）  分割したデータを記憶する記憶領域を表す複数のファームと、前記複数のファームの各々に対応し、その複数のファームの各々のパスを設定し、ファームを増設した場合に既存のファームからその増設したファームにデータを振り分ける際に用いる複数の設定ファイルと、を記憶する記憶部と、
前記記憶部に記憶された前記複数の設定ファイルを読み込んで、その複数のファームの各々に対応したプロセスを生成するプロセス生成手段と、
前記ファームに格納するデータに対する要求データを、データ記憶処理の依頼元のコンピュータから受信する要求データ受信手段と、
受信した前記要求データを、対応する前記プロセスに送信する要求データ送信手段と、
前記要求データを受信した前記プロセスが、対応する前記ファームに前記データを格納する格納手段と、
を備えること、
を特徴とするデータベースサーバ。
【０００９】
本発明のこのような構成によれば、記憶部にデータを分割して記憶する記憶領域を表すファームを複数用意し、設定ファイルによりファームにデータを格納するためのプロセスを生成して、複数のファームの少なくともいずれかに対してデータを格納させることができる。よって、複数のファームを用意してプロセスがデータを格納するという新たな仕組みを利用することによって、ファームを増設した場合に既存のファームからその増設したファームにデータを振り分けることができ、例えば、データ移行時に増設するサーバの台数を極力抑えることが可能になる。
【００１０】
（２）  分割したデータを記憶する記憶領域を表す複数のファームと、前記複数のファームの各々に対応し、その複数のファームの各々のパスを設定し、ファームを増設した場合に既存のファームからその増設したファームにデータを振り分ける際に用いる複数の設定ファイルと、を記憶する記憶部を備えたデータベースサーバによって、所定のファームに対してデータを格納するデータ振分方法であって、
前記記憶部に記憶された前記複数の設定ファイルを読み込んで、その複数のファームの各々に対応したプロセスを生成するステップと、
前記ファームに格納する前記データに対する要求データを、データ記憶処理の依頼元のコンピュータから受信するステップと、
受信した前記要求データを、対応する前記プロセスに送信するステップと、
前記要求データを受信した前記プロセスが、対応する前記ファームに前記データを格納するステップと、
を含むこと、
を特徴とするデータ振分方法。
【００１１】
（３）  （１）に記載のデータベースサーバと、前記データベースサーバに対して通信可能に接続されたフロントエンドサーバと、によって構成されたサーバシステムにおいて、
前記フロントエンドサーバは、
前記データベースサーバの前記ファームを指定した振分テーブルと、
前記データベースサーバに対するデータ記憶処理要求を前記フロントエンドサーバが受け付けたことに応じて、前記振分テーブルを参照して、前記データベースサーバに要求データを送信する要求データ送信手段と、
を備え、
前記データベースサーバの前記要求データ受信手段は、前記フロントエンドサーバから送信された前記要求データを受信すること、
を特徴とするサーバシステム。
【００１２】
本発明のこのような構成によれば、フロントエンドサーバに振分テーブルを有して、その振分テーブルを用いて対象のデータベースサーバに要求データを送信できるので、データベースサーバは、要求データを受信して、要求されたファームにデータを格納できる。
【００１３】
（４）  分割したデータを記憶する記憶領域を表す一のファームを記憶部に有するデータベースサーバと、前記データベースサーバに対して通信可能に接続されたフロントエンドサーバと、前記データベースサーバ及び前記フロントエンドサーバに対して通信可能に接続された移行用コンピュータと、によって構成されたサーバシステムにおいて、
前記フロントエンドサーバは、前記データベースサーバの前記一のファームを指定した振分テーブルを有し、
前記移行用コンピュータは、
前記フロントエンドサーバに対して通信可能に接続した新たなデータベースサーバを、所定の条件によって増設したことに応じて、前記データベースサーバ及び前記新たなデータベースサーバに、新たなファームを各々生成するファーム生成手段と、
前記ファーム生成手段により前記データベースサーバ及び前記新たなデータベースサーバに生成された前記新たなファームの各々にデータを振り分ける設定を、前記振分テーブルに追加する第１振分テーブル更新手段と、
前記第１振分テーブル更新手段により前記振分テーブルに設定が追加されたことに応じて、前記一のファームに格納され、複数の前記新たなファームの各々に格納されていないデータを、前記振り分ける設定の条件に基づいて前記新たなファームの各々に格納するデータ移行手段と、
前記データ移行手段によるデータの格納が終了したことに応じて、前記一のファームの指定を前記振分テーブルから削除する第２振分テーブル更新手段と、
前記第２振分テーブル更新手段により削除されたことに応じて、前記一のファームを前記データベースサーバから削除するファーム削除手段と、
を備えること、
を特徴とするサーバシステム。
【００１４】
本発明のこのような構成によれば、増設した新たなデータベースサーバにファームを生成し、元のデータベースサーバには、既存のファームの他に新たなファームを生成して、新たに生成したファームにもデータを振り分けて格納させるので、サービスを中断せずに、元のファームに格納されていたデータを移行させることができる。また、元のデータベースサーバを用いてデータを移行させるので、増設するサーバの台数を極力抑えてデータの再配置を行うことができる。
【００１５】
（５）  前記データベースサーバは、
前記移行用コンピュータの前記第１振分テーブル更新手段によって前記振分テーブルに前記新たなファームの各々にデータを振り分ける設定が追加されたことに応じて、前記新たなファームのパスを各々設定した前記新たなファームに対応する設定ファイルを前記記憶部に記憶させる記憶制御手段と、
前記記憶部に記憶された前記複数の設定ファイルを読み込んで、その複数のファームの各々に対応したプロセスを生成するプロセス生成手段と、
前記ファームに格納するデータに対する要求データを、前記フロントエンドサーバから受信する要求データ受信手段と、
受信した前記要求データを、対応する前記プロセスに送信する要求データ送信手段と、
前記要求データを受信した前記プロセスが、対応する前記ファームに前記データを格納する格納手段と、
を備えること、
を特徴とする（４）に記載のサーバシステム。
【００１６】
本発明のこのような構成によれば、データ移行時においても、（１）の効果が期待できる。
【００１７】
（６）  前記新たなデータベースサーバの数をｋ、
増設後のデータベースサーバの総数をｎとし、
増設前のデータベースサーバの前記一のファームに、均等にデータが格納されている場合に、
前記データベースサーバの各々に格納可能な最大のデータ量をＸ、前記一のファームに格納されたデータ量をｘとして、
前記所定の条件が、
【数１】
2011039577.tif 000003
を満たすことを条件に、前記新たなデータベースサーバを増設すること、
を特徴とする（４）又は（５）に記載のサーバシステム。
【００１８】
本発明のこのような構成によれば、データの移行を可能にする増設するデータベースサーバの数とデータ量との関係を所定の条件として示すので、所定の条件を満たすか否かを判断して、条件を満たす場合にデータを移行することができる。
【発明の効果】
【００１９】
本発明によれば、複数のファームを用意してプロセスがデータを格納するという新たな仕組みを利用して、そのファーム単位でデータを格納する方法をデータの移行に活用することができる。
【図面の簡単な説明】
【００２０】
【図１】本実施形態に係るサーバシステムの全体及び機能構成を示す図である。
【図２】本実施形態に係る振分テーブルの例を示す図である。
【図３】本実施形態に係るＤＢサーバでのデータ格納処理のフローチャートである。
【図４】本実施形態に係るデータ移行時のサーバシステムの全体及び機能構成を示す図である。
【図５】本実施形態に係るサーバシステムでのデータ移行処理のフローチャートである。
【図６】本実施形態に係る振分テーブルの更新による遷移例を示す図である。
【図７】本実施形態に係るデータ移行時の参照・更新処理を示す図である。
【発明を実施するための形態】
【００２１】
以下、本発明を実施するための形態について、図を参照しながら説明する。なお、これは、あくまでも一例であって、本発明の技術的範囲はこれに限られるものではない。
【００２２】
（実施形態）
［サーバシステムの全体及び機能構成］
図１は、本実施形態に係るサーバシステム１００の全体構成及び機能構成を示す図である。図２は、本実施形態に係る振分テーブル３６の例を示す図である。
【００２３】
サーバシステム１００は、ＤＢサーバ１（ＤＢ：データベース）と、フロントエンドサーバ３とから構成される。図１に示すように、ＤＢサーバ１と、フロントエンドサーバ３とは、専用線や公衆回線網等からなる通信回線２を介して、互いに通信可能に接続されている。ＤＢサーバ１は、データを記憶するデータベースサーバである。ＤＢサーバ１は、制御部１０と、記憶部２０とを備える。
【００２４】
制御部１０は、プロセス生成手段１１と、要求データ受信手段１２と、要求データ送信手段１３と、格納手段１４とを備える。
【００２５】
プロセス生成手段１１は、記憶部２０に記憶された後述する設定ファイル２３（２３Ａ，２３Ｂ）を読み込んで、設定ファイル２３（２３Ａ，２３Ｂ）で指定された各ファーム２１（２１Ａ，２１Ｂ）に対応するプロセス２５（２５Ａ，２５Ｂ）を生成する制御部である。
【００２６】
要求データ受信手段１２は、フロントエンドサーバ３から、ＤＢサーバ１へのデータの格納に関する要求データを受信する制御部である。
【００２７】
要求データ送信手段１３は、要求データ受信手段１２が受信した要求データを、その要求データで指定されたファーム２１に対応するプロセス２５に送信する制御部である。
【００２８】
格納手段１４は、要求データ送信手段１３から要求データを受信したプロセス２５が、対応するファーム２１にデータを格納する制御部である。
【００２９】
記憶部２０は、ファーム２１と、設定ファイル２３と、プロセス２５とを備える。
【００３０】
ファーム２１は、分割したデータを記憶する記憶領域である。ＤＢサーバ１の記憶部２０は、ＤＢサーバ１の容量の範囲内において、複数のファーム２１（２１Ａ，２１Ｂ）を有することができる。
【００３１】
設定ファイル２３は、ファーム２１に対応して有するファイルであり、ファーム２１のパスが設定されている。設定ファイル２３は、ファーム２１の数だけ有する。
【００３２】
プロセス２５は、ファーム２１に対して有するプログラムの実行単位であり、そのファーム２１に対してデータを格納させる機能を有する。プロセス２５は、制御部１０が設定ファイル２３を読み込むことで、記憶部２０に生成される。
【００３３】
本実施形態のＤＢサーバ１のハードウェアは、一般的なコンピュータによって構成してもよい。一般的なコンピュータは、例えば、制御部１０として、中央処理装置（ＣＰＵ）を備える他、記憶部２０として、メモリ（ＲＡＭ、ＲＯＭ）、ハードディスク（ＨＤＤ）、光ディスク（ＣＤ、ＤＶＤ等）を、ネットワーク通信装置として、各種有線、無線ＬＡＮ装置を、表示装置として、ディスプレイ（液晶ディスプレイ、プラズマディスプレイ等）を、入力装置として、キーボード、マウス等を適宜備え、バスラインにより接続されている。このような一般的なコンピュータにおいて、ＣＰＵは、ＤＢサーバ１を統括的に制御し、各種プログラムを適宜読み出して実行することにより、上述したハードウェアと協働し、本発明に係る各種機能を実現している。
【００３４】
フロントエンドサーバ３は、図示しないクライアント端末よりデータの格納の要求を受け付け、通信回線２を介してＤＢサーバ１に対してデータの格納に関する要求データを送信するサーバであり、クライアント端末とＤＢサーバ１との橋渡し的な役割を果たす。フロントエンドサーバ３は、制御部３０と、記憶部３５とを備える。
【００３５】
制御部３０は、要求データ送信手段３１を備える。要求データ送信手段３１は、記憶部３５に記憶された振分テーブル３６を参照して、ＤＢサーバ１の記憶部２０が備える所定のファーム２１にデータを格納させるための要求データを送信する制御部である。
【００３６】
制御部３０は、フロントエンドサーバ３を統括的に制御し、各種プログラムを適宜読み出して実行することにより、上述したハードウェアと協働し、本発明に係る各種機能を実現している。
【００３７】
記憶部３５は、振分テーブル３６を備える。図２は、振分テーブル３６の一例を示す。図２に示す振分テーブル３６は、ユーザ名の最初のアルファベットにより、複数のファーム２１のうちいずれのファーム２１を使用するかを定義するテーブルである。この例では、ユーザ名の最初のアルファベットによって、使用するファーム２１を決定しているが、データの振分方法は、ユーザ名に限定されず、他の方法であってもよいが、均等の量のデータが複数のファームに格納されることが望ましい。
【００３８】
なお、フロントエンドサーバ３は、ＤＢサーバ１と同様、一般的なコンピュータによって構成してもよい。また、本発明でいうコンピュータとは、記憶装置、制御部等を備えた情報処理装置をいい、フロントエンドサーバ３は、記憶部３５、制御部３０等を備えた情報処理装置により構成され、この情報処理装置は、本発明のコンピュータの概念に含まれる。
【００３９】
［データ格納処理のフローチャート］
図３は、本実施形態に係るＤＢサーバ１でのデータ格納処理のフローチャートである。
【００４０】
Ｓ１０：制御部１０（プロセス生成手段１１）は、記憶部２０に記憶された複数の設定ファイル２３（２３Ａ，２３Ｂ）を読み込む。
【００４１】
Ｓ２０：制御部１０（プロセス生成手段１１）は、読み込んだ設定ファイル２３から、ファーム２１に対応するプロセス２５を生成する。
【００４２】
Ｓ３０：制御部１０（要求データ受信手段１２）は、フロントエンドサーバ３から送信されたデータの格納に関する要求データを受信する。
【００４３】
Ｓ４０：制御部１０（要求データ送信手段１３）は、受信した要求データに基づき、処理対象のプロセス２５に対して要求データを送信する。
【００４４】
Ｓ５０：制御部１０（格納手段１４）は、要求データを受信したプロセス２５を実行させて、プロセス２５がファーム２１に対してデータを格納する。その後、制御部１０は、本処理を終了する。
【００４５】
このように、サーバシステム１００は、フロントエンドサーバ３に振分テーブル３６を有して、フロントエンドサーバ３は、その振分テーブル３６を用いて対象のＤＢサーバ１に要求データを送信できる。ＤＢサーバ１は、記憶部２０にファーム２１を複数用意し、設定ファイル２３により、ファーム２１にデータを格納するためのプロセス２５を生成して、複数のファーム２１の少なくともいずれかに対してデータを格納させることができる。よって、複数のファーム２１を用意してプロセス２５がデータを格納するという新たな仕組みを利用することができる。
【００４６】
［データ移行時のサーバシステムの全体及び機能構成］
次に、データの移行に関する処理について説明する。図４は、本実施形態に係るデータ移行時のサーバシステム２００の全体及び機能構成を示す図である。
【００４７】
サーバシステム２００は、図１で説明したサーバシステム１００の他、ＤＢサーバ１Ｙと、移行用コンピュータ５と、クライアント端末７とを備える。ここで説明するサーバシステム２００は、元のＤＢサーバ１Ｘのデータの容量が増えた場合に、新たなＤＢサーバ１Ｙを増設してＤＢサーバ１Ｘに格納されたデータを、２つのＤＢサーバ１（１Ｘ，１Ｙ）に移行するためのシステムである。
【００４８】
サーバシステム２００は、フロントエンドサーバ３に通信回線２を介して２つのＤＢサーバ１（１Ｘ，１Ｙ）が接続されている。また、フロントエンドサーバ３は、通信回線４を介して移行用コンピュータ５を接続している。さらに、移行用コンピュータ５から、２つのＤＢサーバ１（１Ｘ，１Ｙ）に対して通信回線２を介して接続されている。また、フロントエンドサーバ３は、通信回線６を介して複数のクライアント端末７と通信可能に接続されている。
【００４９】
通信回線４は、通信回線２と同様であり、専用線や公衆回線網等によって構成される。
【００５０】
移行用コンピュータ５は、ＤＢサーバ１（１Ｘ，１Ｙ）にデータを移行するために用いるコンピュータである。移行用コンピュータ５は、記憶部４０と、制御部５０とを備える。
【００５１】
記憶部４０は、移行作業に用いるデータを格納する他、移行用コンピュータ５の制御部５０の機能を有するプログラムを記憶している。
【００５２】
制御部５０は、ファーム生成手段５１と、第１振分テーブル更新手段５２と、データ移行手段５３と、第２振分テーブル更新手段５４と、ファーム削除手段５５とを備える。
【００５３】
ファーム生成手段５１は、ＤＢサーバ１Ｘ，１Ｙに対して各々新たなファーム２１ＸＢ，２１ＹＢを生成する制御部である。
【００５４】
第１振分テーブル更新手段５２は、生成した新たなファーム２１ＸＢ，２１ＹＢにデータを振り分ける設定を、振分テーブル３６に追加する制御部である。
【００５５】
データ移行手段５３は、ＤＢサーバ１Ｘに既に存在する元のファーム２１ＸＡに格納されたデータを、新たなファーム２１ＸＢ，２１ＹＢに振り分ける制御部である。振り分ける条件は、記憶部４０に記憶しておいて、それを用いることができる。
【００５６】
第２振分テーブル更新手段５４は、元のファーム２１ＸＡに格納されたデータの、新たなファーム２１ＸＢ，２１ＹＢへの振り分けが終了したことに応じて、元のファーム２１ＸＡにデータを振り分ける設定を、振分テーブル３６から削除する制御部である。
【００５７】
ファーム削除手段５５は、元のファーム２１ＸＡを、ＤＢサーバ１Ｘから削除する制御部である。
【００５８】
なお、本実施形態の移行用コンピュータ５のハードウェアは、一般的なコンピュータによって構成できる。一般的なコンピュータは、例えば、制御部５０として、ＣＰＵを備える他、記憶部４０として、メモリ、ハードディスク、光ディスクを、ネットワーク通信装置として、各種有線、無線ＬＡＮ装置を、表示装置として、ディスプレイを、入力装置として、キーボード、マウス等を適宜備え、バスラインにより接続されている。このような一般的なコンピュータにおいて、ＣＰＵは、移行用コンピュータ５を統括的に制御し、各種プログラムを適宜読み出して実行することにより、上述したハードウェアと協働し、本発明に係る各種機能を実現している。
【００５９】
通信回線６は、インターネット等の公衆回線網であり、有線であっても無線であってもよい。
【００６０】
クライアント端末７は、ユーザが使用し、データの格納を依頼するコンピュータであり、例えば、パーソナルコンピュータ（ＰＣ）、携帯電話機である。
【００６１】
［データ移行処理］
図５は、本実施形態に係るサーバシステム２００でのデータ移行処理のフローチャートである。図６は、本実施形態に係る振分テーブル３６の更新による遷移例を示す図である。
【００６２】
Ｓ１００：制御部５０は、データ移行に際して、増設する新たなＤＢサーバ１が増設のための条件（所定の条件）に合致しているか否かを判断する。増設のための条件とは、新たに増設するＤＢサーバ１の数をｋ、増設後のＤＢサーバ１の総数をｎ、増設前のＤＢサーバ１のファーム２１には均等にデータが格納されており、そのデータ量がｘである場合、ＤＢサーバ１の最大格納データ量をＸとして、
【数２】
2011039577.tif 000004
を満たす場合をいう。式（１）を満たす場合には、データ移行時においてもＤＢサーバ１の容量が最大格納データ量を超えずに済む。例えば、図４のように、１つのＤＢサーバ１Ｘに、新たに１つのＤＢサーバ１Ｙを増設する場合について検討する。ｋの値は「１」であり、ｎの値が「２」であるので、ＤＢサーバ１Ｘのファーム２１ＸＡに格納されたデータ量が、最大格納データ量Ｘの２／３未満であれば、データ移行時にデータが溢れることなく移行することができる。増設する新たなＤＢサーバ１が増設のための条件に合致している場合（Ｓ１００：ＹＥＳ）には、制御部５０は、処理をＳ１２０に移す。他方、増設する新たなＤＢサーバ１が増設のための条件に合致していない場合（Ｓ１００：ＮＯ）には、制御部５０は、処理をＳ１１０に移す。
【００６３】
Ｓ１１０：制御部５０は、増設のための条件に合致するように、つまり、式（１）を満たすように、ＤＢサーバ１の増設数を変更する。
【００６４】
このように、式（１）に示すように、データの移行を可能にする増設するＤＢサーバ１の数とデータ量との関係を定義するので、制御部５０は、増設のための条件を満たすか否かを判断して、条件を満たす場合にデータを移行できる。
【００６５】
Ｓ１２０：制御部５０（ファーム生成手段５１）は、全てのＤＢサーバ１に新たなファーム２１を生成する。
【００６６】
図４の例では、図１に示すサーバシステム１００でのＤＢサーバ１（１Ｘ）に対して、新たなＤＢサーバ１Ｙを増設している。そして、ＤＢサーバ１Ｘに有する元のファーム２１ＸＡの他に、新たにファーム２１ＸＢを生成し、増設したＤＢサーバ１Ｙに、ファーム２１ＹＢを生成する。
【００６７】
図５に戻り、Ｓ１３０：制御部５０（第１振分テーブル更新手段５２）は、新たなファーム２１へのデータの振分設定を、振分テーブル３６に追加する。
【００６８】
図６は、図４に対応した振分テーブル３６の例である。振分テーブル３６は、処理の種類により参照系と更新系とに分かれて記憶されている。振分テーブル３６は、データ移行前は、図６（１）に示すように、ファーム２１ＸＡを指定している。そして、振分テーブル３６に対して新たなファーム２１のデータの振分設定を追加する処理（更新１）により、図６（２）に示すように、更新系の処理に対する振分として、新たに生成したファーム２１ＸＢ，２１ＹＢに対する指定を追加する。
【００６９】
図５に戻り、Ｓ１４０：制御部１０（１０Ｘ，１０Ｙ）は、Ｓ１３０で振分テーブル３６が更新されたことに応じて、新たに生成したファーム２１に対するパスが設定された設定ファイル２３を、各々の記憶部２０（２０Ｘ，２０Ｙ）に記憶させる。図４の例では、記憶部２０Ｘに設定ファイル２３ＸＢが、記憶部２０Ｙに設定ファイル２３ＹＢが、それぞれ記憶される。
【００７０】
図５に戻り、Ｓ１５０：制御部５０（データ移行手段５３）は、データ移行処理を行う。具体的には、図４の例で説明すると、制御部５０は、ファーム２１ＸＡに格納されたデータであって、ファーム２１ＸＢ又はファーム２１ＹＢに格納されていないデータを、振分条件に基づいてファーム２１ＸＢ又はファーム２１ＹＢに移行する。振分条件は、振分テーブル３６と同様の条件であり、記憶部４０に記憶しておいてよい。
【００７１】
図５に戻り、Ｓ１６０：制御部５０（第２振分テーブル更新手段５４）は、データ移行前にデータが格納されていたファームの指定を、振分テーブル３６から削除する。図６（３）に示すように、制御部５０は、データ移行前にデータが格納されていたファーム２１ＸＡの指定を削除する。そして、制御部５０は、参照系の処理に対する振分条件を、更新系の処理に対する振分条件と同じ条件にする。
【００７２】
図５に戻り、Ｓ１７０：制御部５０（ファーム削除手段５５）は、データ移行前にデータが格納されていたファームを削除する。図４の例では、制御部５０は、ファーム２１ＸＡを記憶部２０Ｘから削除する。その後、制御部５０は、本処理を終了する。
【００７３】
次に、データ移行時に、ユーザによる参照又は更新処理があった場合について説明する。図７は、本実施形態に係るデータ移行時の参照・更新処理を示す図である。
【００７４】
図７（１）は、データ移行前の態様を示す。ユーザ名が「Ａｌｉｃｅ」と「Ｐａｕｌ」とであるユーザがデータを参照・更新する場合には、全てのユーザ名のデータがファーム２１ＸＡに格納されているので、どちらのユーザであっても、参照・更新共にファーム２１ＸＡに対してアクセスする。この処理は、図６（１）の振分テーブル３６に基づき行われる。
【００７５】
図７（２）は、データ移行中の態様を示す。データを参照する際には、「Ａｌｉｃｅ」、「Ｐａｕｌ」は、共に元のファーム２１ＸＡに対してアクセスする。また、データを更新する際は、「Ａｌｉｃｅ」は、元のファーム２１ＸＡと、新たなファーム２１ＸＢとに対して更新を行う。「Ｐａｕｌ」は、元のファーム２１ＸＡと、新たなファーム２１ＹＢとに対して更新を行う。これは、図６（２）の振分テーブル３６に基づき行われる。データの更新は、元のファーム２１と、新たなファーム２１との両方に行われるので、参照時は、元のファーム２１により処理を行うことができる。
【００７６】
図７（３）は、データ移行終了後の態様を示す。データを参照する場合及び更新する場合共に、「Ａｌｉｃｅ」は、ファーム２１ＸＢに対してアクセスし、「Ｐａｕｌ」は、ファーム２１ＹＢに対してアクセスする。これは、図６（３）の振分テーブル３６に基づき行われる。
【００７７】
図７（４）は、記憶部２０Ｘから参照されなくなったファーム２１ＸＡを削除した態様を示す。このようにして、最終的に、１つのファーム２１ＸＡに格納されていたデータは、２つのファーム２１ＸＢ，２１ＹＢに分割して格納される。
【００７８】
このように、サーバシステム２００は、増設した新たなＤＢサーバ１Ｙにファーム２１ＹＢを生成し、元のＤＢサーバ１Ｘには、既存のファーム２１ＸＡの他に新たなファーム２１ＸＢを生成して、新たに生成したファーム２１ＸＢ，２１ＹＢに対してもデータを振り分けて格納させる。よって、サービスを中断せずに、元のファーム２１ＸＡに格納されていたデータを移行させることができる。また、元のＤＢサーバ１Ｘを用いてデータを移行させるので、増設するサーバの台数を極力抑えてデータの再配置を行うことができる。そして、移行途中では、サーバシステム２００は、１つのＤＢサーバ１Ｘの記憶部２０Ｘに２つのファーム２１ＸＡ，２１ＸＢを生成するので、図１から図３で説明した方法を用いて２つのファーム２１ＸＡ，２１ＸＢのうち少なくともいずれかにデータを格納することができ、ＤＢサーバ１を増設してデータを移行する際において、その仕組みを利用してデータを移行しながら、データの参照・更新をすることができる。
【００７９】
以上、本発明の実施形態について説明したが、本発明は上述した実施形態に限るものではない。また、本発明の実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、本発明の実施形態に記載されたものに限定されるものではない。
【００８０】
（変形形態）
本実施形態では、１つのＤＢサーバの１つのファームに格納されたデータを、１つのＤＢサーバを追加して２つのＤＢサーバの各ファームに格納する例を示したが、これに限定されない。２つ以上のＤＢサーバの各ファームに格納するようにしてもよい。
【００８１】
本実施形態では、ＤＢサーバはミラーリングを考慮したものではないが、ＤＢサーバをミラーリングした場合においても同様に適用できる。
【符号の説明】
【００８２】
１，１Ｘ，１Ｙ  ＤＢサーバ
２，４，６  通信回線
３      フロントエンドサーバ
５      移行用コンピュータ
１０，１０Ｘ，１０Ｙ，３０，５０  制御部
１１    プロセス生成手段
１２    要求データ受信手段
１３    要求データ送信手段
１４    格納手段
２０，２０Ｘ，２０Ｙ，３５，４０  記憶部
２１，２１Ａ，２１Ｂ，２１ＸＡ，２１ＸＢ，２１ＹＢ  ファーム
２３，２３Ａ，２３Ｂ，２３ＸＡ，２３ＸＢ，２３ＹＢ  設定ファイル
２５，２５Ａ，２５Ｂ，２５ＸＡ，２５ＸＢ，２５ＹＢ  プロセス
３１    要求データ送信手段
３６    振分テーブル
５１    ファーム生成手段
５２    第１振分テーブル更新手段
５３    データ移行手段
５４    第２振分テーブル更新手段
５５    ファーム削除手段
１００，２００  サーバシステム
【図１】
2011039577.tif 000006
【図２】
2011039577.tif 000007
【図３】
2011039577.tif 000008
【図４】
2011039577.tif 000009
【図５】
2011039577.tif 000010
【図６】
2011039577.tif 000011
【図７】
2011039577.tif 000012