(57)【要約】【課題】範囲検索の機能を停止させることなく、データを移行できるようにする。【解決手段】データベース装置１０は、配置先情報変更コマンドを受信した後に、キーＭを含む検索電文を受信した際に、分割中情報があり、且つ、移行先情報Ｒが自データベース装置を示すものなら、検索電文を送信した他のデータベース装置１０に対し、移行元情報Ｑをリダイレクト先として指定したリダイレクト信号を送信する（Ｓ２０１）。データベース装置１０は、他のデータベース装置１０からリダイレクト信号を受信したなら、当該リダイレクト信号に指定されたリダイレクト先に対し、該当の検索電文を送信する（Ｓ２０３）。【選択図】図９
2014157442.tif 000002
【特許請求の範囲】
【請求項１】
複数のデータベース装置からなる分散データベースシステムを構成するデータベース装置であって、
いずれかのデータベース装置に記憶される一群の実データのそれぞれにつき、当該一群の実データを検索するためキー範囲情報（１１）、当該一群の実データが記憶されるデータベース装置を示す配置先情報（１２）、当該データベース装置において当該一群の実データに対応して設けられるキャビネットに対し全データベース装置で一意となるように割り当てられるキャビネット論理通番（１３）、を含む共有テーブル行を備える共有テーブル（１）と、
自データベース装置に設けられるキャビネットのそれぞれにつき、当該キャビネットに割り当てられるキャビネット論理通番（２１）、当該キャビネットに対し自データベース装置で一意となるように割り当てられるキャビネット物理通番（２２）、を含む変換テーブル行を備える変換テーブル（２）と、
自データベース装置に設けられるキャビネット（４）であり、且つ、当該キャビネットに対応する一群の実データの中での実データのそれぞれにつき、当該一群の中で当該実データを一意に示すキャビネットインデクス（４１）、自データベース装置の中での当該実データの位置を示す実データポインタ（４２）、含むキャビネット行を備えるキャビネット（４）と、
キャビネット（４）ごとに設けられ、当該キャビネット（４）に対応する実データのそれぞれにつき、当該実データを検索するためのキー（５１）、当該実データに対応するキャビネットインデクス（４１）を辿るためのインデクス（５２）、を含むキーテーブル行を備えるキーテーブル（５）と、
自データベース装置において実データを個々に記憶するためのデータベース行からなり、当該データベース行に対し、当該データベース行の位置を示す実データインデクス（６１）、当該データベース行に記憶すべき実データ（６２）、を記憶させるためのデータベース（６）とを備え、
共有テーブル（１）のキャビネット論理通番（１３）と変換テーブル（２）のキャビネット論理通番（２１）は連携する番号であって、
変換テーブル（２）のキャビネット物理通番（２２）とキャビネット（４）のキャビネット物理通番は連携する番号であって、
キャビネット（４）のキャビネットインデックス（４１）とキーテーブル（５）のインデックス（５２）は連携する番号であって、
キャビネット（４）の実データポインタ（４２）とデータベース（６）の実データインデックス（６１）は連携する番号であることを特徴とするデータベース装置。
【請求項２】
請求項１に記載のデータベース装置であって、
キー（Ｘ）と実データ（Ｙ）を含む電文を受信し、共有テーブル（１）から、キー（Ｘ）の一部に一致するキー範囲情報（１１）を含む共有テーブル行を検索し、共有テーブル行の配置先情報（１２）が他のデータベース装置を示すものなら、電文を当該他のデータベース装置に送信する機能、
配置先情報（１２）が自データベース装置を示すものなら、変換テーブル（２）から、共有テーブル行のキャビネット論理通番（１３）と同じキャビネット論理通番（２１）を含む変換テーブル行を検索し、変換テーブル行からキャビネット物理通番（２２）を読み出す機能、
キャビネット物理通番（２２）と同じキャビネット物理通番を割り当てられたキャビネット（４）から、実データポインタ（４２）のないキャビネット行を検索し、キャビネット行に対し、実データ（６２）のないデータベース行の実データインデクス（６１）と同じ実データポインタ（４２）を追加する機能、
当該キャビネット（４）に対応するキーテーブル（５）に対し、キー（Ｘ）と同じキー（５１）、キャビネットインデクス（４１）と同じインデクス（５２）、を含むキーテーブル行を追加する機能および、
データベース（６）から、追加されたキャビネット行の実データポインタ（４２）と同じ実データインデクス（６１）を含むデータベース行を検索し、データベース行に対し、実データ（Ｙ）と同じ実データ（６２）ならびに、キャビネット論理通番（２１）を記憶させる機能
を備えることを特徴とするデータベース装置。
【請求項３】
請求項１に記載のデータベース装置であって、
キー（Ｍ）を含む電文を受信し、共有テーブル（１）から、キー（Ｍ）の一部に一致するキー範囲情報（１１）を含む共有テーブル行を検索し、共有テーブル行の配置先情報（１２）が他のデータベース装置を示すものなら、電文を当該他のデータベース装置に送信する機能、
配置先情報（１２）が自データベース装置を示すものなら、変換テーブル（２）から、キャビネット論理通番（１３）と同じキャビネット論理通番（２１）を含む変換テーブル行を検索し、変換テーブル行からキャビネット物理通番（２２）を読み出す機能、
キャビネット物理通番（２２）と同じキャビネット物理通番を割り当てられたキャビネット（４）に対応するキーテーブル（５）から、キー（Ｍ）と同じキー（５１）を含むキーテーブル行を検索し、キーテーブル行からインデクス（５２）を読み出す機能、
キャビネット物理通番（２２）と同じキャビネット物理通番を割り当てられたキャビネット（４）から、インデクス（５２）と同じキャビネットインデクス（４１）を含むキャビネット行を検索し、キャビネット行から実データポインタ（４２）を読み出す機能および、
データベース（６）から、実データポインタ（４２）と同じ実データインデクス（６１）を含むデータベース行を検索する機能
を備えることを特徴とするデータベース装置。
【請求項４】
請求項１に記載のデータベース装置であって、
キャビネット論理通番（Ｎ１）とキャビネットインデクス（Ｎ２）を含む電文を受信し、共有テーブル（１）から、キャビネット論理通番（Ｎ１）と同じキャビネット論理通番（１３）を含む共有テーブル行を検索し、共有テーブル行の配置先情報（１２）が他のデータベース装置を示すものなら、電文を当該他のデータベース装置に送信する機能、
配置先情報（１２）が自データベース装置を示すものなら、変換テーブル（２）から、キャビネット論理通番（１３）と同じキャビネット論理通番（２１）を含む変換テーブル行を検索し、変換テーブル行からキャビネット物理通番（２２）を読み出す機能、
キャビネット物理通番（２２）と同じキャビネット物理通番を割り当てられたキャビネット（４）から、キャビネットインデクス（Ｎ２）と同じキャビネットインデクス（４１）を含むキャビネット行を検索し、キャビネット行から実データポインタ（４２）を読み出す機能および、
データベース（６）から、実データポインタ（４２）と同じ実データインデクス（６１）を含むデータベース行を検索する機能
を備えることを特徴とするデータベース装置。
【請求項５】
請求項１記載のデータベース装置であって、
分割番号帯情報（Ｐ）と移行元情報（Ｑ）と移行先情報（Ｒ）を含む分割中情報を保持する機能、
移行元情報（Ｑ）が自データベース装置を示すものなら、分割番号帯情報（Ｐ）をキー（Ｍ）として、一群の実データを読み出し、読み出された一群の実データを、移行先情報（Ｒ）に対応する他のデータベース装置に送信する機能、
キー（Ｍ）を含む電文を受信した際に、分割中情報があり、且つ、分割番号帯情報（Ｐ）がキー（Ｍ）の一部に一致し、且つ、移行先情報（Ｒ）が他のデータベース装置を示すなら、電文を当該他のデータベース装置に送信する機能、
配置先情報変更コマンドとともに分割番号帯情報（Ｐ）と移行元情報（Ｑ）と移行先情報（Ｒ）を含むを受信したら、共有テーブル（１）から、分割番号帯情報（Ｐ）と同じキー範囲情報（１１）および移行元情報（Ｑ）と同じ配置先情報（１２）を含む共有テーブル行を検索し、共有テーブル行の配置先情報（１２）を、移行先情報（Ｒ）と同じ配置先情報（１２）に変更する機能、
配置先情報変更コマンドを受信した後に、キー（Ｍ）を含む電文を受信した際に、分割中情報があり、且つ、移行先情報（Ｒ）が自データベース装置を示すものなら、電文を送信した他のデータベース装置に対し、移行元情報（Ｑ）をリダイレクト先として指定したリダイレクト信号を送信する機能、
他のデータベース装置からリダイレクト信号を受信したなら、当該リダイレクト信号に指定されたリダイレクト先に対し、該当の電文を送信する機能、
データ移行終了コマンドを受信した際、他のデータベース装置への実データの送信中であるなら、その後に受信する電文を蓄積する機能、
他のデータベース装置への一群の実データの送信が終了したなら、分割中情報を削除し、移行先情報（Ｒ）に対応する他のデータベース装置に指示して、当該他のデータベース装置に保持された分割中情報を削除させる機能、
他のデータベース装置への一群の実データの送信が終了したなら、蓄積した電文のそれぞれにつき、当該電文の最終的な送信先が他のデータベース装置である場合は、当該他のデータベース装置に対し、リダイレクト先を指定しないリダイレクト信号を送信する機能、
共有テーブル（１）から、分割番号帯情報（Ｐ）と同じキー範囲情報（１１）を含む共有テーブル行を検索し、変換テーブル（２）から、共有テーブル行のキャビネット論理通番（１３）と同じキャビネット論理通番（２１）を含む変換テーブル行を検索し、変換テーブル行からキャビネット物理通番（２２）を読み出し、他のデータベース装置への一群の実データの送信が終了したなら、キャビネット物理通番（２２）と同じキャビネット物理通番を割り当てられたキャビネット（４）を削除する機能および、
他のデータベース装置からの一群の実データの受信が終了し、当該実データでデータベース（６）が更新されたなら、新たなキャビネット（４）を生成し、当該キャビネット（４）、変換テーブル（２）を更新する機能
を備えることを特徴とするデータベース装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データベース装置に関するものである。
【背景技術】
【０００２】
従来の範囲検索においては、粒度(10〜30 のような10 単位の範囲や、15〜35のような5単位の範囲など)を複数種類想定し、それぞれの範囲に対するバリューを紐付けて管理しておき、クエリによって、それらの複数種類の管理情報を組み合わせて、どのような範囲検索であっても、ある程度高速に範囲に対するバリューを読み出すことができる仕組みがある（非特許文献1）。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】Range-Key Skip Graph による範囲検索可能な大規模分散キーバリューストアの実現 IPSJ SIG Notes 2010-DPS-144(9), 1-8, 2010-09-10
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、このような複数種類の範囲の粒度に対するバリューへの紐付けの情報を保持する必要があり、また、それらを参照して範囲検索を実行する必要もある。よって、コストがかかり、高速な範囲検索が難しいという問題がある。
【０００５】
また、図１３に示すように、複数のデータベース装置１０Ａを備える分散データベースシステムにおいて、あるデータベース装置１０Ａに保持された一群のデータを他のデータベース装置１０Ａに移行する場合には、範囲検索の機能を停止させる必要があり、利便性が損なわれる。
【０００６】
本発明は、上記の課題に鑑みてなされたものであり、その目的とするところは、範囲検索の機能を停止させることなく、データを移行できるデータベース装置を提供することにある。
【課題を解決するための手段】
【０００７】
上記の課題を解決するために、本発明は、複数のデータベース装置からなる分散データベースシステムを構成するデータベース装置であって、いずれかのデータベース装置に記憶される一群の実データのそれぞれにつき、当該一群の実データを検索するためキー範囲情報（１１）、当該一群の実データが記憶されるデータベース装置を示す配置先情報（１２）、当該データベース装置において当該一群の実データに対応して設けられるキャビネットに対し全データベース装置で一意となるように割り当てられるキャビネット論理通番（１３）、を含む共有テーブル行を備える共有テーブル（１）と、自データベース装置に設けられるキャビネットのそれぞれにつき、当該キャビネットに割り当てられるキャビネット論理通番（２１）、当該キャビネットに対し自データベース装置で一意となるように割り当てられるキャビネット物理通番（２２）、を含む変換テーブル行を備える変換テーブル（２）と、自データベース装置に設けられるキャビネット（４）であり、且つ、当該キャビネットに対応する一群の実データの中での実データのそれぞれにつき、当該一群の中で当該実データを一意に示すキャビネットインデクス（４１）、自データベース装置の中での当該実データの位置を示す実データポインタ（４２）、含むキャビネット行を備えるキャビネット（４）と、キャビネット（４）ごとに設けられ、当該キャビネット（４）に対応する実データのそれぞれにつき、当該実データを検索するためのキー（５１）、当該実データに対応するキャビネットインデクス（４１）を辿るためのインデクス（５２）、を含むキーテーブル行を備えるキーテーブル（５）と、自データベース装置において実データを個々に記憶するためのデータベース行からなり、当該データベース行に対し、当該データベース行の位置を示す実データインデクス（６１）、当該データベース行に記憶すべき実データ（６２）、を記憶させるためのデータベース（６）とを備え、共有テーブル（１）のキャビネット論理通番（１３）と変換テーブル（２）のキャビネット論理通番（２１）は連携する番号であって、変換テーブル（２）のキャビネット物理通番（２２）とキャビネット（４）のキャビネット物理通番は連携する番号であって、キャビネット（４）のキャビネットインデックス（４１）とキーテーブル（５）のインデックス（５２）は連携する番号であって、キャビネット（４）の実データポインタ（４２）とデータベース（６）の実データインデックス（６１）は連携する番号であることを特徴とする。
【０００８】
例えば、データベース装置は、キー（Ｘ）と実データ（Ｙ）を含む電文を受信し、共有テーブル（１）から、キー（Ｘ）の一部に一致するキー範囲情報（１１）を含む共有テーブル行を検索し、共有テーブル行の配置先情報（１２）が他のデータベース装置を示すものなら、電文を当該他のデータベース装置に送信する機能、配置先情報（１２）が自データベース装置を示すものなら、変換テーブル（２）から、共有テーブル行のキャビネット論理通番（１３）と同じキャビネット論理通番（２１）を含む変換テーブル行を検索し、変換テーブル行からキャビネット物理通番（２２）を読み出す機能、キャビネット物理通番（２２）と同じキャビネット物理通番を割り当てられたキャビネット（４）から、実データポインタ（４２）のないキャビネット行を検索し、キャビネット行に対し、実データ（６２）のないデータベース行の実データインデクス（６１）と同じ実データポインタ（４２）を追加する機能、当該キャビネット（４）に対応するキーテーブル（５）に対し、キー（Ｘ）と同じキー（５１）、キャビネットインデクス（４１）と同じインデクス（５２）、を含むキーテーブル行を追加する機能および、データベース（６）から、追加されたキャビネット行の実データポインタ（４２）と同じ実データインデクス（６１）を含むデータベース行を検索し、データベース行に対し、実データ（Ｙ）と同じ実データ（６２）ならびに、キャビネット論理通番（２１）を記憶させる機能を備える。
【０００９】
例えば、データベース装置は、キー（Ｍ）を含む電文を受信し、共有テーブル（１）から、キー（Ｍ）の一部に一致するキー範囲情報（１１）を含む共有テーブル行を検索し、共有テーブル行の配置先情報（１２）が他のデータベース装置を示すものなら、電文を当該他のデータベース装置に送信する機能、配置先情報（１２）が自データベース装置を示すものなら、変換テーブル（２）から、キャビネット論理通番（１３）と同じキャビネット論理通番（２１）を含む変換テーブル行を検索し、変換テーブル行からキャビネット物理通番（２２）を読み出す機能、キャビネット物理通番（２２）と同じキャビネット物理通番を割り当てられたキャビネット（４）に対応するキーテーブル（５）から、キー（Ｍ）と同じキー（５１）を含むキーテーブル行を検索し、キーテーブル行からインデクス（５２）を読み出す機能、キャビネット物理通番（２２）と同じキャビネット物理通番を割り当てられたキャビネット（４）から、インデクス（５２）と同じキャビネットインデクス（４１）を含むキャビネット行を検索し、キャビネット行から実データポインタ（４２）を読み出す機能および、データベース（６）から、実データポインタ（４２）と同じ実データインデクス（６１）を含むデータベース行を検索する機能を備える。
【００１０】
例えば、データベース装置は、キャビネット論理通番（Ｎ１）とキャビネットインデクス（Ｎ２）を含む電文を受信し、共有テーブル（１）から、キャビネット論理通番（Ｎ１）と同じキャビネット論理通番（１３）を含む共有テーブル行を検索し、共有テーブル行の配置先情報（１２）が他のデータベース装置を示すものなら、電文を当該他のデータベース装置に送信する機能、配置先情報（１２）が自データベース装置を示すものなら、変換テーブル（２）から、キャビネット論理通番（１３）と同じキャビネット論理通番（２１）を含む変換テーブル行を検索し、変換テーブル行からキャビネット物理通番（２２）を読み出す機能、キャビネット物理通番（２２）と同じキャビネット物理通番を割り当てられたキャビネット（４）から、キャビネットインデクス（Ｎ２）と同じキャビネットインデクス（４１）を含むキャビネット行を検索し、キャビネット行から実データポインタ（４２）を読み出す機能および、データベース（６）から、実データポインタ（４２）と同じ実データインデクス（６１）を含むデータベース行を検索する機能を備える。
【００１１】
例えば、データベース装置は、分割番号帯情報（Ｐ）と移行元情報（Ｑ）と移行先情報（Ｒ）を含む分割中情報を保持する機能、移行元情報（Ｑ）が自データベース装置を示すものなら、分割番号帯情報（Ｐ）をキー（Ｍ）として、一群の実データを読み出し、読み出された一群の実データを、移行先情報（Ｒ）に対応する他のデータベース装置に送信する機能、キー（Ｍ）を含む電文を受信した際に、分割中情報があり、且つ、分割番号帯情報（Ｐ）がキー（Ｍ）の一部に一致し、且つ、移行先情報（Ｒ）が他のデータベース装置を示すなら、電文を当該他のデータベース装置に送信する機能、配置先情報変更コマンドとともに分割番号帯情報（Ｐ）と移行元情報（Ｑ）と移行先情報（Ｒ）を含むを受信したら、共有テーブル（１）から、分割番号帯情報（Ｐ）と同じキー範囲情報（１１）および移行元情報（Ｑ）と同じ配置先情報（１２）を含む共有テーブル行を検索し、共有テーブル行の配置先情報（１２）を、移行先情報（Ｒ）と同じ配置先情報（１２）に変更する機能、配置先情報変更コマンドを受信した後に、キー（Ｍ）を含む電文を受信した際に、分割中情報があり、且つ、移行先情報（Ｒ）が自データベース装置を示すものなら、電文を送信した他のデータベース装置に対し、移行元情報（Ｑ）をリダイレクト先として指定したリダイレクト信号を送信する機能、他のデータベース装置からリダイレクト信号を受信したなら、当該リダイレクト信号に指定されたリダイレクト先に対し、該当の電文を送信する機能、データ移行終了コマンドを受信した際、他のデータベース装置への実データの送信中であるなら、その後に受信する電文を蓄積する機能、他のデータベース装置への一群の実データの送信が終了したなら、分割中情報を削除し、移行先情報（Ｒ）に対応する他のデータベース装置に指示して、当該他のデータベース装置に保持された分割中情報を削除させる機能、他のデータベース装置への一群の実データの送信が終了したなら、蓄積した電文のそれぞれにつき、当該電文の最終的な送信先が他のデータベース装置である場合は、当該他のデータベース装置に対し、リダイレクト先を指定しないリダイレクト信号を送信する機能、共有テーブル（１）から、分割番号帯情報（Ｐ）と同じキー範囲情報（１１）を含む共有テーブル行を検索し、変換テーブル（２）から、共有テーブル行のキャビネット論理通番（１３）と同じキャビネット論理通番（２１）を含む変換テーブル行を検索し、変換テーブル行からキャビネット物理通番（２２）を読み出し、他のデータベース装置への一群の実データの送信が終了したなら、キャビネット物理通番（２２）と同じキャビネット物理通番を割り当てられたキャビネット（４）を削除する機能および、他のデータベース装置からの一群の実データの受信が終了し、当該実データでデータベース（６）が更新されたなら、新たなキャビネット（４）を生成し、当該キャビネット（４）、変換テーブル（２）を更新する機能を備える。
【発明の効果】
【００１２】
本発明によれば、範囲検索の機能を停止させることなく、データを移行することができる。
【図面の簡単な説明】
【００１３】
【図１】本実施の形態に係る分散データベースシステムの一例を示す図である。
【図２】各データベース装置１０の概略構成を示す図である。
【図３】キャビネット４を増設する際の動作を示す図である。
【図４】実データをデータベース６に記憶させる際の動作を示す図である。
【図５】キーによる実データ検索および更新の動作を示す図である。
【図６】実データ検索の際に検索電文が他のデータベース装置に送信される様子を示す図である。
【図７】識別子による実データ検索および更新の動作を示す図である。
【図８】データ移行における動作の第１段階を示す図である。
【図９】データ移行における動作の第２段階を示す図である。
【図１０】データ移行における動作の第３段階を示す図である。
【図１１】データ移行における動作の第４段階を示す図である。
【図１２】移行元と移行先のデータベース装置における移行前と移行後の状態と識別子による実データ検索の動作を示す図である。
【図１３】分散データベースシステムのあるデータベース装置１０Ａに保持された一群のデータを他のデータベース装置１０Ａに移行する様子を示す図である。
【発明を実施するための形態】
【００１４】
以下、本発明の実施の形態について図面を参照して説明する。
【００１５】
図１は、本実施の形態に係る分散データベースシステムの一例を示す図である。
【００１６】
分散データベースシステム１００は、複数のデータベース装置１０を備え、各データベース装置１０は、互いに通信可能となっている。
【００１７】
各データベース装置１０は、また、制御装置２０および呼処理サーバ（ＳＩＰサーバなど）３０とも通信可能となっている。呼処理サーバ３０には、複数の電話機３０１が収容されている。
【００１８】
図２は、各データベース装置１０の概略構成を示す図である。
【００１９】
データベース装置１０は、１つの共有テーブル１、１つの変換テーブル２、１つの空塞状況テーブル３、１つ以上のキャビネット４、キャビネット４ごとのキーテーブル５および１つのデータベース６を備える。
【００２０】
共有テーブル１には、いずれかのデータベース装置１０に記憶される一群の実データのそれぞれにつき、共有テーブル行を備える。
【００２１】
共有テーブル行は、一群の実データを検索するためキー範囲情報１１、一群の実データが記憶されるデータベース装置１０を示す配置先情報１２、当該データベース装置１０において当該一群の実データに対応して設けられるキャビネットに対し全データベース装置で一意となるように割り当てられるキャビネット論理通番１３、を含む。
【００２２】
変換テーブル２は、変換テーブル２を備えるデータベース装置（以下、自データベース装置のように呼称する）に設けられるキャビネット４のそれぞれにつき、変換テーブル行を備える。
【００２３】
変換テーブル行は、該当のキャビネット４に割り当てられるキャビネット論理通番（変換テーブル行においては、キャビネット論理通番２１という）、該当のキャビネット４に対し自データベース装置で一意となるように割り当てられるキャビネット物理通番２２、を含む。
【００２４】
空塞状況テーブル３は、自データベース装置におけるキャビネット４の状況を示すものであり、各キャビネット４につき、空塞状況テーブル行を備える。
【００２５】
空塞状況テーブル行は、該当のキャビネット４に割り当てられるキャビネット物理通番（空塞状況テーブル行においては、キャビネット物理通番３１という）、該当のキャビネットにおける実データポインタ４２（詳しくは後述する）の有無を示す空塞状況フラグ３２、を含む。
【００２６】
キャビネット４には、自データベース装置で一意となるようにキャビネット物理通番が割り当てられる。
【００２７】
また、キャビネット４は、所定数（Ｎ）のキャビネット行を備える。
【００２８】
キャビネット行は、当初からキャビネットインデクス４１を含み、後に実データポインタ４２を含むように更新される。
【００２９】
キャビネット行は、キャビネット行を含むキャビネット４に対応する一群の実データの中での１つの実データに対応するものである。キャビネットインデクス４１は、当該一群の中で当該実データを一意に示すものである。実データポインタ４２は、自データベース装置のデータベース６の中で当該実データを保持するデータベース行の位置を示すものである。
【００３０】
キーテーブル５は、対応するキャビネット４に記憶される実データのそれぞれにつき、キーテーブル行を備える。キーテーブル行は、該当の実データを検索するためのキー５１、当該実データに対応するキャビネットインデクス（４１）を辿るためのインデクス５２、を含む。
【００３１】
データベース６は、自データベース装置において実データを個々に記憶するためのデータベース行からなる。
【００３２】
データベース行は、当初から実データインデクス６１を含み、後に実データ（データベース行においては、実データ６２という）、識別子６３、を含むように更新される。
【００３３】
実データインデクス６１は、当該実データインデクス６１を含むデータベース行のデータベース６における位置を示すものである。
【００３４】
識別子６３は、当該識別子６３を含むデータベース行内の実データインデクス６１と同じ実データポインタ４２を含むキャビネット４に割り当てられたキャビネット物理通番と同じキャビネット物理通番を含む変換テーブル行内のキャビネット論理通番２１と同じキャビネット論理通番（識別子６３においては、キャビネット論理通番Ｎ１という）、当該キャビネット４において当該実データポインタ４２を含むキャビネット行内のキャビネットインデクス４１と同じキャビネットインデクス（識別子６３においては、キャビネットインデクスＮ２という）、を含む。
【００３５】
共有テーブル１のキャビネット論理通番１３と変換テーブル２のキャビネット論理通番２１は連携する番号である。
【００３６】
変換テーブル２のキャビネット物理通番２２とキャビネット４のキャビネット物理通番は連携する番号である。
【００３７】
キャビネット４のキャビネットインデックス４１とキーテーブル５のインデックス５２は連携する番号である。
【００３８】
キャビネット４の実データポインタ４２とデータベース６の実データインデックス６１は連携する番号である。
【００３９】
図３は、キャビネット４を増設する際の動作を示す図である。
【００４０】
例えば、データベース装置１０は、制御装置２０や他のデータベース装置１０から、増設キー情報Ａ：050-2222、配置先情報Ｂ：#1を含むキャビネット増設電文を受信する。
【００４１】
図示しないが、データベース装置１０は、配置先情報Ｂが他のデータベース装置を示すものなら、キャビネット増設電文を他のデータベース装置に送信する。
【００４２】
一方、データベース装置１０は、配置先情報Ｂが自データベース装置を示すものなら、共有テーブル１に対し、増設キー情報Ａと同じキー範囲情報１１、配置先情報Ｂと同じ配置先情報１２、共有テーブル１にないキャビネット論理通番１３、を含む共有テーブル行を追加する（Ｓ１）。
【００４３】
次に、データベース装置１０は、変換テーブル２に対し、追加された共有テーブル行のキャビネット論理通番１３と同じキャビネット論理通番２１、変換テーブル２にないキャビネット物理通番２２、を含む変換テーブル行を追加する（Ｓ２）。
【００４４】
また、図示しないが、データベース装置１０は、新たなキャビネット４を生成し、キャビネット４に対し、追加された変換テーブル行のキャビネット物理通番２２と同じキャビネット物理通番を割り当てる。
【００４５】
また、データベース装置１０は、空塞状況テーブル３において、割り当てられたキャビネット物理通番２２と同じキャビネット物理通番３１を含む空塞状況テーブル行内の空塞状況フラグ３２が、キャビネット４が存在することを示すように（「空」→「塞」）、空塞状況テーブル３を更新する。
【００４６】
また、データベース装置１０は、更新された共有テーブル１を他のデータベース装置に送信する（Ｓ３）。他のデータベース装置１０は、共有テーブル１を受信し、受信した共有テーブル１で、自データベース装置の共有テーブル１を置き換える。なお、共有テーブル１を送信したデータベース装置１０は、他のデータベース装置１０から共有テーブル１を受信した場合、受信した共有テーブル１で、自データベース装置の共有テーブル１を置き換える。
【００４７】
図４は、実データをデータベース６に記憶させる際の動作を示す図である。
【００４８】
例えば、データベース装置１０は、制御装置２０や他のデータベース装置１０から、キーＸ：050-1111-bbbb、実データＹ：xxxを含む新規投入電文を受信する。
【００４９】
データベース装置１０は、共有テーブル１から、キーＸの一部に一致するキー範囲情報１１を含む共有テーブル行を検索する（Ｓ１１）。データベース装置１０は、共有テーブル行の配置先情報１２が他のデータベース装置を示すものなら、新規投入電文を当該他のデータベース装置に送信する（図示せず）。
【００５０】
一方、データベース装置１０は、配置先情報１２が自データベース装置を示すものなら、変換テーブル２から、共有テーブル行のキャビネット論理通番１３と同じキャビネット論理通番２１を含む変換テーブル行を検索し（Ｓ１３）、変換テーブル行からキャビネット物理通番２２を読み出す。
【００５１】
次に、データベース装置１０は、キャビネット物理通番２２と同じキャビネット物理通番を割り当てられたキャビネット４から、実データポインタ４２のないキャビネット行を検索し（Ｓ１５）、キャビネット行に対し、実データ６２のないデータベース行の実データインデクス６１と同じ実データポインタ４２を追加する。
【００５２】
次に、データベース装置１０は、キャビネット４に対応するキーテーブル５に対し、キーＸと同じキー５１、キャビネットインデクス４１と同じインデクス５２、を含むキーテーブル行を追加する。
【００５３】
次に、データベース装置１０は、データベース６から、追加されたキャビネット行の実データポインタ４２と同じ実データインデクス６１を含むデータベース行を検索し、データベース行に対し、実データＹと同じ実データ６２ならびに識別子６３を記憶させる。
【００５４】
識別子６３は、当該識別子６３を含むデータベース行内の実データインデクス６１と同じ実データポインタ４２を含むキャビネット４に割り当てられたキャビネット物理通番と同じキャビネット物理通番を含む変換テーブル行内のキャビネット論理通番２１と同じキャビネット論理通番Ｎ１、当該キャビネット４において当該実データポインタ４２を含むキャビネット行内のキャビネットインデクス４１と同じキャビネットインデクスＮ２、を含む。
【００５５】
図５は、キーによる実データ検索および更新の動作を示す図である。
【００５６】
例えば、データベース装置１０は、電話機３０１から呼処理サーバ３０を介して、または、他のデータベース装置１０から、キーＭ：050-1111-bbbb、実データＭＤ：yyyを含む検索電文を受信する。
【００５７】
データベース装置１０は、共有テーブル１から、キーＭの一部に一致するキー範囲情報１１を含む共有テーブル行を検索する（Ｓ２１）。
【００５８】
図６に示すように、データベース装置１０は、共有テーブル行の配置先情報１２が他のデータベース装置を示すものなら、検索電文を当該他のデータベース装置に送信する。
【００５９】
図５に戻り、一方、データベース装置１０は、配置先情報１２が自データベース装置を示すものなら、変換テーブル２から、共有テーブル行のキャビネット論理通番１３と同じキャビネット論理通番２１を含む変換テーブル行を検索し（Ｓ２３）、変換テーブル行からキャビネット物理通番２２を読み出す。
【００６０】
次に、データベース装置１０は、キャビネット物理通番２２と同じキャビネット物理通番を割り当てられたキャビネット４に対応するキーテーブル５から、キーＭと同じキー５１を含むキーテーブル行を検索し、キーテーブル行からインデクス５２を読み出す。
【００６１】
次に、データベース装置１０は、キャビネット物理通番２２と同じキャビネット物理通番を割り当てられたキャビネット４から、インデクス５２と同じキャビネットインデクス４１を含むキャビネット行を検索し、キャビネット行から実データポインタ４２を読み出す。
【００６２】
次に、データベース装置１０は、データベース６から、実データポインタ４２と同じ実データインデクス６１を含むデータベース行を検索し、データベース行の実データ６２に代えて、実データＭＤと同じ実データ６２を記憶させる。
【００６３】
なお、検索電文には、実データ６２を得るためのものもあり、かかる検索電文は実データを含まない。データベース装置１０は、かかる検索電文を受信した場合には、同様にデータベース行を検索し、データベース行から実データ６２を読み出し、実データ６２を例えば、呼処理サーバ３０を介して電話機３０１に送信する。
【００６４】
図７は、識別子による実データ検索および更新の動作を示す図である。
【００６５】
例えば、データベース装置１０は、電話機３０１から呼処理サーバ３０を介して、または、他のデータベース装置１０から、識別子：１２、実データｎ：yyyを含む検索電文を受信する。識別子は、キャビネット論理通番Ｎ１、キャビネットインデクスＮ２を含む。
【００６６】
データベース装置１０は、共有テーブル１から、キャビネット論理通番Ｎ１と同じキャビネット論理通番１３を含む共有テーブル行を検索し（Ｓ３１）、共有テーブル行の配置先情報１２が他のデータベース装置を示すものなら、検索電文を当該他のデータベース装置に送信する（図示せず）。
【００６７】
一方、データベース装置１０は、配置先情報１２が自データベース装置を示すものなら、変換テーブル２から、共有テーブル行のキャビネット論理通番１３と同じキャビネット論理通番２１を含む変換テーブル行を検索し（Ｓ３３）、変換テーブル行からキャビネット物理通番２２を読み出す。
【００６８】
次に、データベース装置１０は、キャビネット物理通番２２と同じキャビネット物理通番を割り当てられたキャビネット４から、キャビネットインデクスＮ２と同じキャビネットインデクス４１を含むキャビネット行を検索し（Ｓ３５）、キャビネット行から実データポインタ４２を読み出す。
【００６９】
次に、データベース装置１０は、データベース６から、実データポインタ４２と同じ実データインデクス６１を含むデータベース行を検索し、データベース行の実データ６２に代えて、実データｎと同じ実データ６２を記憶させる。
【００７０】
なお、検索電文には、実データ６２を得るためのものもあり、かかる検索電文は実データを含まない。データベース装置１０は、かかる検索電文を受信した場合には、同様にデータベース行を検索し、データベース行から実データ６２を読み出し、実データ６２を例えば、呼処理サーバ３０を介して電話機３０１に送信する。
【００７１】
図８は、データ移行における動作の第１段階を示す図である。
【００７２】
例えば、データベース装置１０は、制御装置２０からデータ移行開始コマンドを受信したなら、分割中情報を生成し、保持する。
【００７３】
分割中情報は、分割番号帯情報Ｐ：050-2222、移行元情報Ｑ：#1、移行先情報Ｒ：#2を含む。
【００７４】
図示しないが、データベース装置１０は、共有テーブル１から、分割番号帯情報Ｐと同じキー範囲情報１１を含む共有テーブル行を検索し、変換テーブル２から、共有テーブル行のキャビネット論理通番１３と同じキャビネット論理通番２１を含む変換テーブル行を検索し、変換テーブル行からキャビネット物理通番２２（以下、削除対象キャビネット物理通番という）を読み出す。
【００７５】
データベース装置１０は、例えば、分割中情報を、移行先情報Ｒに対応する他のデータベース装置１０に送信する。他のデータベース装置１０は、分割中情報を受信し、保持する。
【００７６】
データ移行開始コマンドを受信したデータベース装置１０は、移行元情報Ｑが自データベース装置を示すものなら、分割番号帯情報ＰをキーＭとして、図５に示す機能により実データを読み出し、読み出された一群の実データを、移行先情報Ｒに対応する他のデータベース装置に送信する。
【００７７】
例えば、これら一群の実データは、大量なので、データベース装置１０は、その送信中（移行中）であっても検索電文を受信する。
【００７８】
データベース装置１０は、キーＭを含む検索電文を受信した際に、分割中情報があり、且つ、分割番号帯情報ＰがキーＭの一部に一致し、且つ、移行先情報Ｒが他のデータベース装置を示すなら、検索電文を当該他のデータベース装置に送信する（Ｓ１０１）。
【００７９】
図９は、データ移行における動作の第２段階を示す図である。
【００８０】
例えば、データベース装置１０は、制御装置２０から配置先情報変更コマンドとともに分割番号帯情報Ｐ：050-2222、移行元情報Ｑ：#1、移行先情報Ｒ：#2を受信する。
【００８１】
データベース装置１０は、共有テーブル１から、分割番号帯情報Ｐ：050-2222と同じキー範囲情報１１および移行元情報Ｑと同じ配置先情報１２を含む共有テーブル行を検索し、共有テーブル行の配置先情報１２を、移行先情報Ｒと同じ配置先情報１２に変更する。
【００８２】
データベース装置１０は、配置先情報変更コマンドを受信した後に、キーＭを含む検索電文を受信した際に、分割中情報があり、且つ、移行先情報Ｒが自データベース装置を示すものなら、検索電文を送信した他のデータベース装置１０に対し、移行元情報Ｑをリダイレクト先として指定したリダイレクト信号を送信する（Ｓ２０１）。
【００８３】
データベース装置１０は、他のデータベース装置１０からリダイレクト信号を受信したなら、当該リダイレクト信号に指定されたリダイレクト先に対し、該当の検索電文を送信する（Ｓ２０３）。
【００８４】
図１０は、データ移行における動作の第３段階を示す図である。
【００８５】
例えば、データベース装置１０は、制御装置２０からデータ移行終了コマンドを受信する。
【００８６】
データベース装置１０は、データ移行終了コマンドを受信した際、他のデータベース装置への実データの送信中であるなら、その後に受信する検索電文を処理せず、蓄積する（Ｓ３０１）。
【００８７】
データベース装置１０は、検索電文を処理せず、蓄積するので、つまり、実データは不要なので、実データの送信が終了したら、実データを削除する。また、データベース装置１０は、実データの送信が終了したなら、分割中情報を削除し（Ｓ３０３）、移行先情報Ｒに対応する他のデータベース装置１０に指示して、当該他のデータベース装置１０に保持された分割中情報を削除させる（Ｓ３０５）。
【００８８】
図１１は、データ移行における動作の第４段階を示す図である。
【００８９】
データベース装置１０は、実データの送信が終了したなら（実データと分割中情報を削除したなら）、蓄積した電文のそれぞれにつき、当該電文の最終的な送信先が他のデータベース装置１０である場合は、当該他のデータベース装置１０に対し、リダイレクト先を指定しないリダイレクト信号を送信する（Ｓ４０１）。
【００９０】
データベース装置１０は、かかるリダイレクト信号を受信したなら、再び共有テーブル１を検索し、例えば、配置先情報１２に対応する他のデータベース装置１０に検索電文を送信する（Ｓ４０３）。
【００９１】
データベース装置１０は、他のデータベース装置への一群の実データの送信が終了したなら、削除対象キャビネット物理通番を割り当てられたキャビネット４を削除する（Ｓ４０３）。
【００９２】
受信側のデータベース装置１０は、実データの受信が終了し、当該実データでデータベース６が更新されたなら、新たなキャビネット４を生成し（Ｓ４０５）、当該キャビネット４、変換テーブル２、空塞状況テーブル３を更新する。
【００９３】
図１２は、移行元と移行先のデータベース装置における移行前と移行後の状態と識別子による実データ検索の動作を示す図である。
【００９４】
（移行前）
移行前において、移行元のデータベース装置１０（＃１）は、識別子：１２（Ｎ１：１、Ｎ２：２）、実データｎ：yyyを含む検索電文を受信したら、共有テーブル１から、キャビネット論理通番Ｎ１と同じキャビネット論理通番１３を含む共有テーブル行を検索し、共有テーブル行の配置先情報１２が自データベース装置１０（＃１）を示すものなので、変換テーブル２から、共有テーブル行のキャビネット論理通番１３と同じキャビネット論理通番２１を含む変換テーブル行を検索し、変換テーブル行からキャビネット物理通番２２を読み出す。
【００９５】
次に、図示しないが、データベース装置１０は、キャビネット物理通番２２と同じキャビネット物理通番を割り当てられたキャビネット４から、キャビネットインデクスＮ２と同じキャビネットインデクス４１を含むキャビネット行を検索し、キャビネット行から実データポインタ４２を読み出す。
【００９６】
次に、図示しないが、データベース装置１０は、データベース６から、実データポインタ４２と同じ実データインデクス６１を含むデータベース行を検索する。
【００９７】
移行前において、移行先のデータベース装置１０（＃２）は、同じ内容の検索電文を受信したら、共有テーブル１から、キャビネット論理通番Ｎ１と同じキャビネット論理通番１３を含む共有テーブル行を検索し、共有テーブル行の配置先情報１２が移行元のデータベース装置１０（＃１）を示すものなので、検索電文を移行元のデータベース装置１０（＃１）に送信する。
【００９８】
移行元のデータベース装置１０（＃１）は、移行先からの検索電文を受信したなら、上記のように実データを検索する。
【００９９】
（移行後）
上記のキャビネット４は、移行後に削除され、移行先のデータベース装置１０では、新たなキャビネット４が生成される。
【０１００】
移行後において、移行元のデータベース装置１０（＃１）は、同じ内容の検索電文を受信したら、共有テーブル１から、キャビネット論理通番Ｎ１と同じキャビネット論理通番１３を含む共有テーブル行を検索し、共有テーブル行の配置先情報１２が移行先のデータベース装置１０（＃２）を示すものなので、検索電文を移行先のデータベース装置１０（＃２）に送信する。
【０１０１】
移行先のデータベース装置１０（＃２）は、移行元からの検索電文を受信したら、共有テーブル１から、キャビネット論理通番Ｎ１と同じキャビネット論理通番１３を含む共有テーブル行を検索し、共有テーブル行の配置先情報１２が自データベース装置を示すものなので、変換テーブル２から、共有テーブル行のキャビネット論理通番１３と同じキャビネット論理通番２１を含む変換テーブル行を検索し、変換テーブル行からキャビネット物理通番２２を読み出す。
【０１０２】
次に、図示しないが、データベース装置１０は、キャビネット物理通番２２と同じキャビネット物理通番を割り当てられたキャビネット４（生成されたキャビネット４）から、キャビネットインデクスＮ２と同じキャビネットインデクス４１を含むキャビネット行を検索し、キャビネット行から実データポインタ４２を読み出す。
【０１０３】
次に、図示しないが、データベース装置１０は、データベース６から、実データポインタ４２と同じ実データインデクス６１を含むデータベース行を検索する。
【０１０４】
移行後において、移行先のデータベース装置１０（＃２）は、同じ内容の検索電文を受信したら、上記のように、新たに生成されたキャビネット４を使用して、実データを検索する。
【０１０５】
以上のように、本実施の形態に係る分散データベースシステムによれば、範囲検索の機能を停止させることなく、データを移行することができる。
【符号の説明】
【０１０６】
１…共有テーブル
２…変換テーブル
３…空塞状況テーブル
４…キャビネット
５…キーテーブル
６…データベース
１０…データベース装置
１１…キー範囲情報
１２…配置先情報
１３…キャビネット論理通番
２０…制御装置
２１…キャビネット論理通番
２２…キャビネット物理通番
３０…呼処理サーバ
３１…キャビネット物理通番
３２…空塞状況フラグ
４１…キャビネットインデクス
４２…実データポインタ
５１…キー
５２…インデクス
６１…実データインデクス
６２…実データ
６３…識別子
１００…分散データベースシステム
３０１…電話機
Ａ…増設キー情報
Ｂ…配置先情報
Ｍ…キー
ＭＤ…実データ
Ｎ１…キャビネット論理通番
Ｎ２…キャビネットインデクス
Ｐ…分割番号帯情報
Ｑ…移行元情報
Ｒ…移行先情報
Ｘ…キー
Ｙ…実データ
ｎ…実データ
【図１】
2014157442.tif 000003
【図２】
2014157442.tif 000004
【図３】
2014157442.tif 000005
【図４】
2014157442.tif 000006
【図５】
2014157442.tif 000007
【図６】
2014157442.tif 000008
【図７】
2014157442.tif 000009
【図８】
2014157442.tif 000010
【図９】
2014157442.tif 000011
【図１０】
2014157442.tif 000012
【図１１】
2014157442.tif 000013
【図１２】
2014157442.tif 000014
【図１３】
2014157442.tif 000015