以下、図面と共に本発明に係る電話番号管理システム及び電話番号管理方法の好適な実施形態について詳細に説明する。なお、図面の説明においては同一要素には、同一符号を付し、重複する説明を省略する。
図1は、本発明の実施形態に係る電話番号管理システムの構成を示す図である。電話番号管理システム10は、通信事業者によって用いられ、加入者データベース20にアクセスし、携帯電話機に割り当てられている電話番号の格納状況を管理する。携帯電話機は、この電話番号を用いて通信を行う。また、電話番号管理システム10は、加入者データベース20に対して、割り当てた電話番号や登録が削除された電話番号の通知を行う他、加入者データベース20への処理負荷を均一化するための指示を行う。
加入者データベース20としては、例えばHLRが挙げられる。HLRには、通信事業者が管理する移動体通信網の通信圏内に位置する携帯電話機の位置情報などの加入者情報が格納されている。加入者情報は、携帯電話機の電話番号に対応付けられて管理されており、携帯電話機で通信が行われる度に参照される。
加入者データベース20は、通信事業者によって用いられ、分散された複数のデータベース21を含んで構成される。それぞれのデータベース21には、携帯電話機の通信処理に必要な加入者情報が当該携帯電話機に割り当てられた電話番号に対応付けられて番号帯毎に格納されている。加入者データベース20は、複数のデータベース21に電話番号を分散して格納し、携帯電話機の通信処理時に加入者データベース20への処理負荷が一つの場所に集中することを回避して処理効率の向上を図る。ここで、番号帯とは、例えば、「090−ABCD−EFGH(「ABCD」及び「EFGH」は、任意の0000〜9999)」の11桁の電話番号うち、下4桁「EFGH」が共通する電話番号のまとまりを指す。但し、各通信事業者に割り当てられている「ABCD」の4桁の番号帯が予め決まっており、番号帯の数は通信事業者によって異なる。なお、本明細書においては、電話番号の下4桁が「0000」の「090−ABCD−0000」の番号帯は、番号帯「0000」のように記載する。
また、それぞれのデータベース21は、格納している番号帯の電話番号を他のデータベース21に移動させる機能を備える。なお、図1では3つのデータベース21a、21b、21cが示されているが、データベース21の数はこれに限らない。
それぞれのデータベース21への電話番号の格納状況を示す格納情報は、後述する電話番号管理システム10の番号割当部12によって算出され、番号割当部12に記憶される。格納情報としては、それぞれのデータベース21が格納している番号帯の情報の他、各番号帯の番号帯利用率、それぞれのデータベース21のデータベース利用率がある。
ここでいう番号帯利用率は、所定の番号帯の電話番号のうち割り当てられている電話番号の率を指す。例えば、番号帯「0000」に属する10000件の割り当て可能な電話番号のうち、5000件の電話番号が割り当てられている場合、番号帯「0000」の番号帯利用率は、50%と取得される。一方、データベース利用率は、当該所定の番号帯の電話番号を格納するデータベース21に格納されている全ての電話番号のうち加入者に割り当てられている電話番号の率を指す。データベース利用率は、データベース21に格納されている番号帯の番号帯利用率の合計を求め、番号帯利用率の合計を番号帯の数で割ることで取得することができる。例えば、データベース21に「0000」及び「0001」、「0002」の三つの番号帯が格納されており、それぞれの番号帯の番号帯利用率が40%、60%、30%の場合、データベース21のデータベース利用率は、それぞれの番号帯利用率の合計を3で割った43.3%と取得される。
引き続いて、電話番号管理システム10の機能の詳細について説明する。電話番号管理システム10は、図1に示すように、閾値記憶部11、番号割当部12、利用率取得部13、閾値超判定部14、入替先選択部15、番号帯移動部16を含む。
閾値記憶部11は、第1の閾値及び第2の閾値を記憶する閾値記憶手段である。第1の閾値は、番号帯利用率の閾値であり、第2の閾値は、データベース利用率の閾値である。第1の閾値及び第2の閾値は、電話番号管理システム10で予め決められており、それぞれ一つずつ閾値を決めてもよいし、複数の閾値を記憶しておき、電話番号の格納状態に応じて異なる閾値が適応されるように設定してもよい。
番号割当部12は、携帯電話機に未だ割り当てられていない電話番号を割り当てる手段である。番号割当部12は、算出したそれぞれのデータベース21のデータベース利用率などの格納情報と、各番号帯の電話番号の格納先を示す格納先情報を記憶する。図2に、番号割当部12がデータベース21の格納情報及び番号帯の電話番号の格納先の情報を記憶する例を示す。図2(a)が番号帯利用率、(b)がデータベース利用率、(c)が番号帯の電話番号の格納先情報を記憶する例である。図2に示すように、番号帯利用率は番号帯と、データベース利用率はデータベース21のデータベース名とそれぞれ対応付けられて格納されている。また、番号帯の電話番号の格納先としては、当該番号帯が格納されているデータベース名が記憶される。
また、番号割当部12は、各電話番号の携帯電話機への割り当て状況を示す割当情報を記憶する。図3に、携帯電話機の電話番号とその割当情報を対応づけて記憶する例のテーブルを示す。図3に示すように、番号割当部12は、携帯電話機の電話番号と、電話番号の割り当て状況を示す「割当済」「未割当」のどちらかが対応付けられて記憶されている。図3のテーブルでは、電話番号「090−0000−0000」及び「090−0000−0002」が、割り当てられている電話番号を表し、「090−0000−0001」が、未だ割り当てられていない電話番号を表している。番号割当部12は、このテーブルを参照して、割り当て候補の電話番号を払い出す。電話番号の割り当ては、例えば、携帯電話機が新規契約される毎に、通信事業者の携帯電話機の契約担当者が専用の端末から割り当てる電話番号を電話番号管理システム10に登録することによって行われる。番号割当部12は、電話番号の割り当てを行うと、格納する割当情報を更新すると共に、割り当てた電話番号の情報を利用率取得部13に出力する。電話番号の割当方法としては、契約担当者が複数の電話番号をユーザに提示した上で、その中からユーザが希望する電話番号を割り当ててもよい。その場合、割り当てられた電話番号の割当情報が更新され、当該電話番号の情報のみが利用率取得部13に出力される。なお、割り当てされなかった残りの電話番号は、割り当て候補の電話番号のまま、番号割当部12に記憶される。
利用率取得部13は、番号割当部12によって割り当てられた電話番号が属する番号帯(割当番号帯)の電話番号のうち利用されている電話番号の率である番号帯利用率と、当該所定の番号帯の電話番号を格納するデータベース21(割当データベース)に格納されている全ての電話番号のうち加入者に割り当てられている率であるデータベース利用率を取得する利用率取得手段である。番号割当部12から割り当てられた電話番号の情報が入力されると、利用率取得部13は、当該電話番号が属する番号帯(割当番号帯)の番号帯利用率と割当番号帯を格納するデータベース21(割当データベース)のデータベース利用率を番号割当部12から取得する。詳細には、利用率取得部13は、割り当てられた電話番号の番号帯を示す部分(下4桁)に基づき番号割当部12に記憶された図2(a)に示す番号帯利用率を参照して割当番号帯の番号帯利用率を取得する。同様に当該部分(下4桁)に基づき、番号割当部12に記憶された図2(c)に示す情報を参照して割当番号帯の電話番号が格納された割当データベースを特定し、番号割当部12に記憶された図2(b)に示すデータベース利用率を参照して割当データベースのデータ利用率を取得する。利用率取得部13は、取得した番号帯利用率とデータベース利用率とを閾値超判定部14に出力する。
閾値超判定部14は、利用率取得部13によって取得された番号帯利用率が閾値記憶部11から読み出した第1の閾値よりも大きく、かつ、利用率取得部13によって取得されたデータベース利用率が閾値記憶部11から読み出した第2の閾値よりも大きい閾値超状態かを判定する第1の閾値超判定手段である。閾値超判定部14は、利用率取得部13から番号帯利用率とデータベース利用率が入力されると、閾値記憶部11から第1の閾値及び第2の閾値を読み出し、番号帯利用率と第1の閾値、データベース利用率と第2の閾値を比較する。そして、番号帯利用率が第1の閾値よりも大きく、かつ、データベース利用率が第2の閾値よりも大きい場合は、割当番号帯が第1の閾値超状態であると判定する。閾値超判定部14は、割当番号帯が第1の閾値超状態であると判定した場合、割当番号帯の電話番号と、別のデータベース21に格納されている番号帯の電話番号との入れ替えを実行するため、その判定結果を割当番号帯の情報と共に入替先選択部15に出力する。一方、閾値超判定部14は、割当番号帯が第1の閾値超状態であると判定しなかった場合、番号帯の電話番号の入れ替えを実行せずに、当初のデータベース21(割当データベース)で当該番号帯(割当番号帯)の電話番号を管理する。
入替先選択部15は、割当番号帯の電話番号を格納するデータベース21以外のデータベース21である比較データベースの比較データベース利用率と、比較データベースに格納されている番号帯の比較番号帯利用率を取得し、比較データベース利用率及び比較番号帯利用率に基づいて入替先番号帯を選択する入替先選択手段である。ここで、比較データベース利用率とは、割当番号帯を格納する以外の比較データベースそれぞれに対して求められたデータベース利用率を指し、比較番号帯利用率とは、それぞれの比較データベースが格納する番号帯の番号帯利用率を指す。比較データベース利用率及び比較番号帯利用率は、割当番号帯の番号帯利用率、割当データベースのデータベース利用率と同様に、それぞれのデータベース名、番号帯と対応付けられて、番号割当部12に格納されている。
入替先選択部15は、閾値超判定部14から割当番号帯が第1の閾値超状態であるとの判定結果が入力されると、割当番号帯の電話番号を格納するデータベース以外の比較データベースの比較データベース利用率と、当該比較データベースに格納されている番号帯の比較番号帯利用率を番号割当部12から取得する。具体的には、図2(b)に示すようなデータベース名と対応付けられてデータベース利用率が格納されているテーブルを参照し、割当データベース以外の比較データベースのデータベース利用率(比較データベース利用率)を取得する。そして、比較データベース利用率が利用率取得部13によって取得されたデータベース利用率よりも小さい比較データベースを抽出する。なお、比較データベース利用率が利用率取得部13によって取得されたデータベース利用率よりも小さい比較データベースがない場合は、別のデータベース21に割当番号帯の電話番号を移動することなく、当初のデータベース21(割当データベース)で当該番号帯(割当番号帯)の電話番号を管理する。次いで、抽出された比較データベースのうち、比較データベース利用率が最小の比較データベースを選択し、選択した比較データベースに格納されている番号帯のうち、比較番号帯利用率が最小の番号帯を入替先番号帯として選択する。入替先番号帯の選択は、例えば、図2(a)に示すようなテーブルを参照して番号帯利用率が最小の番号帯の当該番号帯を示す部分(下4桁)の情報を取得することで行われる。また、入替先番号帯を格納する入替先データベースの情報は、図2(c)に示されるテーブルを参照し、入替先番号帯の下4桁と対応付けられている格納先データベース名として取得する。入替先選択部15は、割当番号帯及び割当データベースの情報と共に、このように取得した入替先番号帯と、当該番号帯を格納する入替先データベースの情報を番号帯移動部16に出力する。
ここで、入替先番号帯の選択方法の一例を図2(b)に示されたデータベース利用率の数値を用いて説明する。例えば、利用率取得部13によって取得されたデータベース利用率が50%であった場合、まず、データベース利用率が50%よりも小さいデータベースB、データベースCの二つを抽出する。次いで、抽出されたデータベースB、データベースCの二つデータベースのうち、データベース利用率が最小のデータベースCを選択する。そしてデータベースCに格納されている番号帯のうち、番号帯利用率が最小の番号帯を入替先番号帯として選択する。入替先選択部15は、入替先番号帯として選択した番号帯の情報を番号帯移動部16に出力する。例えば、データベースCに格納されている番号帯「0011」の番号帯利用率が最小であった場合、番号帯移動部16に番号帯「0011」の情報を出力する。
番号帯移動部16は、割当番号帯の電話番号と、入替先選択部15によって入替先番号帯として選択された番号帯の電話番号とを入れ替る番号帯移動手段である。番号帯の電話番号の入れ替えとは、異なるデータベース21に格納されている番号帯の電話番号に割り当てられた携帯電話機が通信処理を行う際の加入者情報を互いのデータベース21に移し変えることをいう。
番号帯移動部16によって実行される番号帯の電話番号の入れ替えは、例えば、次のような手順で行われる。まず、番号帯移動部16が、入替先選択部15からの入替先番号帯の情報を受け取ると、入替元である割当番号帯を格納するデータベース21(入替元データベース)に対して、割当番号帯の電話番号と入替先番号帯の電話番号との入れ替えの指示を行う。入れ替えの指示には、入替元の番号帯の情報と入替先のデータベース及び番号帯の情報の通知が含まれる。次いで、入れ替え指示を受けた入替元データベースは、入替先である入替先番号帯を格納するデータベース21(入替先データベース)に、番号帯の入れ替えを要求し、入替元の番号帯の加入者情報を送る。次いで、入替先データベースは、当該加入者情報を受け取ると入替先データベースに当該加入者情報を格納すると共に入替先データベースに格納されている入替先の番号帯の加入者情報を入替元データベース送る。入替元データベースは、入替先データベースから入替先番号帯の加入者情報を受け取ると、当該加入者情報を入替先データベースに格納した上で、入れ替えを完了したことを示す情報を番号帯移動部16に通知すると共に、番号帯の加入者情報の格納先の情報を更新する。
ここで、番号割当部12によって割り当てられた電話番号に属する番号帯が「0000」であり、入替先選択部15によって番号帯「0011」が入替先番号帯がとして選択された場合における番号帯の加入者情報の格納先を示す情報が更新される例を図4に示す。(a)が番号帯の電話番号を入れ替え前、(b)が番号帯の電話番号を入れ替えた後のデータベースの収容先を示す。図4では、割当番号帯「0000」の電話番号の格納先がデータベースAからデータベースCに更新され、番号帯「0011」の加入者情報の格納先がデータベースCからデータベースAに更新されたことが示されている。
図5は、電話番号管理システム10のハードウェア構成図である。電話番号管理システム10は、物理的には、図5に示すように、CPU101、主記憶装置であるRAM102及びROM103、ハードディスク、フラッシュメモリ等の補助記憶装置104、ネットワークカード等のデータ送受信デバイスである通信モジュール105などを含むコンピュータシステムとして構成されている。図1に示した各機能は、図5に示すCPU101、RAM102等のハードウェア上に所定のコンピュータソフトウェアを読み込ませることにより、CPU101の制御のもとで通信モジュール105を動作させるとともに、RAM102や補助記憶装置104におけるデータの読み出し及び書き込みを行うことで実現される。
図6は、本実施形態の電話番号管理システム10での処理を示すフローチャートである。以下、図6に示すフローチャートを用いて、電話番号管理システム10において実行される処理を説明すると共に、本実施形態に係る電話番号管理方法について説明する。
本処理では、番号割当部12によって携帯電話機への電話番号の割り当てが行われると(S11)、利用率取得部13が割当番号帯の番号帯利用率と、割当番号帯の電話番号を格納するデータベース21のデータベース利用率を取得する(S12、利用率取得ステップ)。次いで、閾値超判定部14により番号帯利用率が第1の閾値よりも大きく、かつ、データベース利用率が第2の閾値よりも大きい第1の閾値超状態であるかが判定される(S13、閾値超判定ステップ)。
閾値超判定部14により第1の閾値超状態と判定された場合(S13;YES)、入替先選択部15は、比較データベースの比較データベース利用率と、比較データベースに格納されている番号帯の比較番号帯利用率を取得し、比較データベース利用率が利用率取得部13により取得されたデータベース利用率よりも小さい比較データベースがあるか判定する(S14)。入替先選択部15により、当該比較データベースがあると判定された場合(S14;YES)、さらに入替先選択部15は、比較データベースのうち、比較データベース利用率が最小の比較データベースを選択する(S15)。次いで、選択された比較データベースが格納する番号帯のうち、番号帯利用率が最小の番号帯を入替先番号帯として選択する(S15)。そして、番号帯移動部16は、割当番号帯の電話番号と、入替先番号帯の電話番号とを入れ替えるための指示をデータベース21に対して行う(S16、番号帯移動ステップ)。
なお、閾値超判定部14により第1の閾値超状態と判定されなかった場合(S13;NO)、及び、入替先選択部15により、比較データベース利用率が利用率取得部13により取得されたデータベース利用率よりも小さい比較データベースがあると判定されなかった場合(S14;NO)は、別のデータベース21に番号帯の電話番号を移動することなく、当初のデータベース21で当該番号帯の電話番号を管理する。
以上説明したように、本実施形態によれば、利用率取得手段によって取得された番号帯利用率が第1の閾値よりも大きく、かつ、利用率取得手段によって取得されたデータベース利用率が第2の閾値よりも大きい第1の閾値超状態と判定された場合、割当番号帯の電話番号を別のデータベース21に移動させる。
この場合、番号帯移動部16が番号帯の電話番号を移動させるのは、割当番号帯の電話番号の利用が多く、かつ、当該割当番号帯を格納するデータベース21に格納されている全ての電話番号の加入者への割り当てが多い場合に限られる。したがって、割当番号帯の電話番号の移動に伴い、当該割当番号帯を格納するデータベース21のデータベース利用率を低くしえる。よってデータベース21間でのデータベース利用率の偏りがなくなるため、加入者データベース20への処理負荷がより均一になると共に、動的に均一化処理が可能である。
特に本実施形態では、割当番号帯の電話番号を格納するデータベース以外の比較データベースの比較データベース利用率と、当該比較データベースに格納されている番号帯の比較番号帯利用率との少なくともいずれかを取得し、比較データベース利用率及び比較番号帯利用率の少なくともいずれかに基づいて入替先番号帯を選択する入替先選択手段を更に備え、番号帯移動手段は、所定の番号帯の電話番号と入替先選択手段によって選択された入替先番号帯の電話番号とを入れ替える。この場合、入替先番号帯の番号帯利用率がデータベース利用率を確実に抑えることができ、加入者データベース20への処理負荷の均一化が効率よくできる。
また、特に本実施形態では、入替先選択部15は、比較データベース利用率が割当番号帯の電話番号を格納するデータベースのデータベース利用率よりも小さい比較データベースに格納されているいずれかの番号帯の中から入替先番号帯を選択する。この場合、割当番号帯を格納するデータベース21の処理負荷を処理負荷がより小さいデータベース21に振り分けるため、データベースの利用率を効果的に抑えることができ、データベースへ20の処理負荷の均一化がより効率よくできる。
また、特に本実施形態では、入替先選択手段は、比較データベース利用率が最小の比較データベースに格納されているいずれかの番号帯の中から入替先番号帯を選択する。この場合、割当番号帯の電話番号を格納するデータベース21の処理負荷を最小のデータベース21に振り分けるため、加入者データベース20への処理負荷の均一化がさらに効率よくできる。
また、特に本実施形態では、いずれかの比較データベースに格納されている番号帯うち、比較番号帯利用率が最小の番号帯を入替先番号帯として選択する。この場合、割当番号帯の電話番号を格納するデータベース21の処理負荷を処理負荷が最小のデータベース21に効率よく振り分けるため、加入者データベース20への処理負荷の均一化がさらに効率よくできる。
また本実施形態では、利用率取得部13における割当番号帯は、直近に割り当てられた電話番号が属する番号帯である。この場合、携帯電話機に電話番号が割り当てられる度に、加入者データベース20への処理負荷の均一化が行われるため、当該処理負荷をより均一にすることができる。
以上、本発明のその実施形態に基づいて詳細に説明した。しかし、本発明は上記実施形態に限定されるものではない。本発明は、その要旨を逸脱しない範囲で以下のような様々な変形が可能である。
本実施形態では、入替先選択部15は、データベース利用率が最小のデータベース21を選択した上で、選択されたデータベースに格納されている番号帯のうち番号帯利用率が最小の番号帯を入替先番号帯として選択したが、入替先番号帯はこれに限られない。また、割当番号帯の電話番号と、別のデータベース21に格納されている番号帯の電話番号とを入れ替えせずに、割当番号帯の電話番号を別のデータベース21に移動させるのみでもよい。この場合、割当番号帯の番号帯利用率及び当該割当番号帯を格納するデータベース21のデータベース利用率のみを取得するだけで加入者データベース20への処理負荷の均一処理を実行できる。このため、電話番号管理システム10の簡素化が可能である。
また、本実施形態では、携帯電話機に電話番号が割り当てられる度に利用率取得部13が番号帯利用率及びデータベース利用率を取得したが、これらの利用率を取得するタイミングはこれに限られない。例えば、数時間単位や一日単位で行ってもよい。この場合、電話番号管理システム10の電話番号の格納状態によって適切なタイミングで加入者データベース20の処理負荷の均一化を行うことが可能である。
また、本実施形態では電話番号管理システム10が閾値記憶部11、番号割当部12、利用率取得部13、閾値超判定部14、入替先選択部15、番号帯移動部16を備え、加入者データベース20の処理負荷の均一化を実行したが、それぞれのデータベース21自体が、本発明に記載の電話番号管理システム10を構成していてもよい。
(第2実施形態)
本発明の好適な実施形態である第2実施形態について説明する。第2実施形態に係る電話番号管理システム10が第1実施形態に係る電話番号管理システム10と異なる点は、以下の点である。すなわち、第1実施形態では、割当番号帯が第1の閾値超状態であると判定された場合、入替先判定部15が割当番号帯と入れ替えを実行する入替番号帯として最小番号帯を選択し、番号帯移動部16が割当番号帯の電話番号と最小番号帯と電話番号を入れ替えた。これに対し、第2実施形態では、割当番号帯の電話番号と最小番号帯の電話番号とを入れ替えた場合、入れ替え前より各データベース間のデータベース利用率が不均一にならないよう、入れ替えを実行した場合における入替元と入替先のデータベース利用率を確認するための手段を設けている。
ここで、割当番号帯の電話番号と最小番号帯の電話番号とを入れ替えた場合、入れ替え前より複数のデータベースのデータベース利用率が不均一になるケースについて図7を用いて説明する。図7(a)に、入れ替え前のデータベースA、B及びCの各データベースのデータベース利用率、及びデータベースに格納されている各番号帯の番号帯利用率を示す。(a)において、データベースAの番号帯利用率が60%の番号帯を割当番号帯とする。最小番号帯は、データベース利用率が最小のデータベースBに格納されている番号利用率が20%の番号帯となる。この場合の入替元(データベースA)と入替先(データベースB)のデータベース利用率の開きは、3.3%である。この状態から、(b)に示すようにデータベースAの番号帯利用率が60%の番号帯(割当番号帯)と、データベースBの番号利用率が20%の番号帯(最小番号帯)との入れ替えを行う。入れ替え後の入替元と入替先のデータベース利用率の開きは、23.3%となり、入れ替え前と比較してデータベース間におけるデータベース利用率の開きが大きくなっている。この場合、割当番号帯の電話番号と最小番号帯の電話番号とを入れ替えても、複数のデータベースの負荷が均一にならず、上記入れ替えを繰返し行わないと、均一化が図れない。
このため、第2実施形態では、割当番号帯が第1の閾値超状態であると判定された場合、さらに、第3の閾値超状態の判定、第4の閾値超状態の判定及び第5の閾値超状態の判定が適宜行われた上で、割当番号帯の電話番号の移動(入れ替え)が行われ、複数のデータベースの均一処理が実行される。以下、第1実施形態と異なる点を中心に、第2実施形態に係る電話番号管理システム10について説明する。
図8を用いて、第2実施形態に係る電話番号管理システム10の機能の詳細について説明する。電話番号管理システム10は、図1に示すように、閾値記憶部11、番号割当部12、利用率取得部13、閾値超判定部14、番号帯移動部16を含む。第2実施形態は、第1実施形態の入替先選択部15がないことに加え、閾値記憶部11が第1の閾値及び第2の閾値の他に、第3の閾値、第4の閾値及び第5の閾値を記憶していること、閾値超判定部14が第1の閾値超判定部14a、第3の閾値超判定部14b、第4の閾値超判定部14c及び第5の閾値超判定部14dを含んで構成されることが第1実施形態と異なる。
閾値記憶部11は、第1の閾値、第2の閾値、第3の閾値、第4の閾値及び第5の閾値を記憶する閾値記憶手段である。第1の閾値は及び第2の閾値は、第1実施形態と同様であり、それぞれ、番号帯利用率の閾値、データベース利用率の閾値である。第3の閾値、第4の閾値及び第5の閾値は、データベース利用率及び最小データベースの最小データベース利用率に基づいて表される、以下の値の閾値となる。すなわち、第3の閾値は、データベース利用率から最小データベースの利用率を差し引いた値の閾値、第4の閾値は、割当番号帯の電話番号を最小データベースに移動させた場合におけるデータベース利用率と最小データベース利用率との差の閾値、第5の閾値は、割当番号帯の電話番号と、最小データベースに格納されている番号帯のうち番号帯利用率が最小の最小番号帯の電話番号とを入れ替える場合におけるデータベース利用率と最小データベース利用率の差の閾値である。これらの閾値は、電話番号管理システム10で予め決められており、それぞれ一つずつ閾値を決めてもよいし、複数の閾値を記憶しておき、電話番号の格納状態に応じて異なる閾値が適応されるように設定してもよい。
利用率取得部13は、番号帯利用率と、データベース利用率を取得する利用率取得手段である。第2実施形態の利用率取得部13は、第1実施形態の利用率取得部13に、後述する閾値超判定部14の各閾値超判定部での判定に用いられる値を算出する機能が追加される。これらの値は、データベース利用率及び最小データベースの最小データベース利用率に基づいて以下の手順で算出される。まず、利用率取得部13は、割当番号帯の電話番号を格納するデータベース以外の比較データベースの比較データベース利用率と、当該比較データベースに格納されている番号帯の比較番号帯利用率を番号割当部12から取得する。そして取得した比較データベース利用率に基づいて、比較データベース利用率が最小の最小データベースを決定するとともに、比較番号帯利用率に基づいて、最小データベースに格納されている番号帯のうち番号帯利用率が最小の最小番号帯を決定する。
次いで、利用率取得部13は、後述する第3の閾値超判定に用いるために、データベース利用率から最小データベースのデータベース利用率を差し引いた値(第3の値)を算出する。また、第4の閾値超判定に用いるために、割当番号帯の電話番号を最小データベースに移動させた場合におけるデータベースと最小データベースとの差(第4の値)を算出する。第5の閾値超判定に用いるために、割当番号帯の電話番号と、最小データベースに格納されている番号帯のうち番号帯利用率が最小の最小番号帯の電話番号とを入れ替える場合におけるデータベースと最小データベースの差(第5の値)を算出する。算出したこれらの値を閾値超判定部14に出力する。これらの値の算出は、例えば、番号割当部11によって、携帯電話機に電話番号が割り当てられる度に行われ、後述するように、それぞれの閾値超判定部によって適宜読み出される。
ここで、図9のデータベースA、B及びCを用いて、第3の値、第4の値及び第5の値の算出方法を具体的に説明する。(a)は、割当番号帯の電話番号を移動又は入れ替える前の各データベースのデータベース利用率及び番号利用率を示している。図9において、データベースAが割当番号帯を格納するデータベースである場合、データベースB及びCは、比較データベースとなる。利用率取得部13は、データベースB及びデータベースCのうち、データベース利用率が最小であるデータベースCを最小データベースと決定し、データベースCに格納されている番号帯のうち、番号帯利用率が最小の番号帯(番号帯利用率が10%の番号帯)を最小番号帯と決定する。(a)において、データベースAの番号帯利用率が50%の番号帯を割当番号帯とすると、第3の値は、データベース利用率から最小データベースのデータベース利用率を差し引いた値として算出されるので、33.3%から13.3%を差し引いた20.0%となる。
図9(b)は、割当番号帯(データベースAの番号帯利用率が50%の番号帯)の電話番号を最小データベースに移動させた場合における、各データベースのデータベース利用率及び番号帯利用率を示す。第4の値は、この場合におけるデータベース利用率と最小データベースと利用率の差として算出されるため、25.5%と22.5%との差の3.0%となる。(c)は、割当番号帯の電話番号と、最小番号帯の電話番号とを入れ替える場合における、各データベースのデータベース利用率及び番号帯利用率を示す。第5の値は、この場合におけるデータベースと最小データベースの差として算出されるから、26.6%と20.0%との差の6.6%となる。
閾値超判定部14は、上述したように第1の閾値判定部14a、第3の閾値判定部14b、第4の閾値判定部14c及び第5の閾値判定部14dを含んで構成される。第1の閾値判定部14aは、第1実施形態の閾値超判定部14に相当する部分であり、第1の閾値及び第2の閾値を利用して第1閾値超状態であるかを判定する第1の閾値判定手段である。
第3の閾値判定部14bは、利用率取得部13によって算出された第3の値が閾値記憶部11に記憶されている第3の閾値よりも大きい第3の閾値超状態かを判定する第3の閾値超判定手段である。第4の閾値判定部14cは、第4の値が閾値記憶部11に記憶されている第4の閾値よりも大きい第4の閾値超状態かを判定する第4の閾値超判定手段である。第5の閾値判定手段は、第5の値が閾値記憶部11に記憶されている第5の閾値よりも大きい第5の閾値超状態かを判定する第5の閾値超判定手段である。
第3の閾値判定部14bは、利用率取得部13から第3の値が入力されると、閾値記憶部11から第3の閾値を読み出し、第3の値と第3の閾値を比較する。そして、第3の値が第3の閾値よりも大きい場合は、第3の閾値超状態であると判定する。図9(a)では、第3の値が20.0%であるから、第3の閾値判定部14bは、第3の閾値が20.0%未満の場合第3の閾値超状態であると判定し、第3の閾値が20.0%以上の場合、第3の閾値超状態でないと判定する。第3の閾値超判定部14bは、第3の閾値超状態であると判定した場合、その判定結果を第4の閾値判定部14cに出力する。一方、第3の閾値判定部14bは、第3の閾値超状態でないと判定した場合、割当番号帯の電話番号を最小データベース21aに移動せずに、当初のデータベース21(割当データベース)で当該番号帯(割当番号帯)の電話番号を管理する。
第4の閾値判定部14cは、第3の閾値判定部14bから第3の閾値超状態であるとの判定結果が入力されると、利用率取得部13から第4の値を、閾値記憶部11から第4の閾値をそれぞれ読み出し、第4の値と第4の閾値を比較する。そして、第4の値が第4の閾値よりも大きい場合は、第4の閾値超状態であると判定し、第4の閾値よりも小さい場合は、第4の閾値超状態でないと判定する。図9(b)では、第4の値が3.0%であるから、第4の閾値判定部14cは、第4の閾値が3.0%未満の場合、第3の閾値超状態であると判定され、第4の閾値が3.0%以上の場合、第4の閾値超状態でないと判定される。第4の閾値判定部14bは、第4の閾値超状態であると判定した場合、第4の閾値超状態であるとの判定結果を第5の閾値判定部14dに出力する。一方、第4の閾値超判定部14cは、第4の閾値超状態でないと判定した場合、割当番号帯の電話番号を最小データベースに移動するため、第4の閾値超状態でないとの判定結果を番号帯移動部16に出力する。
第5の閾値判定部14dは、第4の閾値判定部14cから第4の閾値超状態であるとの判定結果が入力されると、利用率取得部13から第5の値を、閾値記憶部11から第5の閾値をそれぞれ読み出し、第5の値と第5の閾値を比較する。そして、第5の値が第5の閾値よりも大きい場合は、第5の閾値超状態であると判定し、第5の閾値よりも小さい場合は、第5の閾値超状態でないと判定する。図9(c)では、第5の値が6.6%であるから、第5の閾値判定部14dは、第4の閾値が6.6%未満の場合、第5の閾値超状態であると判定され、第5の閾値が6.6%以上の場合、第5の閾値超状態でないと判定される。第5の閾値判定部14dは、第5の閾値超状態であると判定した場合、上記入れ替えを実行せずに、第5の閾値超状態であるとの判定結果を番号帯移動部16に出力する。一方、第5の閾値超判定部14dは、第5の閾値超状態でないと判定した場合、割当番号帯の電話番号と、最小データベース21aに格納されている番号帯のうち番号帯利用率が最小の最小番号帯の電話番号とを入れ替えるため、第5の閾値超状態でないとの判定結果を番号帯移動部16に出力する。
番号帯移動部16は、閾値超判定部14における各判定結果に基づいて、割当番号帯の電話番号を、割当番号帯と異なるデータベース21に移動する番号帯移動手段である。割当番号帯の電話番号の移動には、割当番号帯の電話番号に割り当てられた携帯電話機が通信処理を行う際の加入者情報を異なるデータベース21に移動することに加え、当該加入者情報と、異なるデータベース21に格納されている番号帯の加入者情報とを互いのデータベース21に移し変えることを含む。
番号帯移動部16は、第4の閾値超判定部14cから、第4の閾値超状態でないとの判定結果が入力されると、割当番号帯の電話番号を最小データベースに移動する。割当番号帯(番号帯利用率が50%の番号帯)の電話番号を最小データベース(データベースC)に移動した際の各データベースの番号帯の格納状況は、図9(a)から(b)のように変化する。また、番号帯移動部16は、第5の閾値判定部14dから第5の閾値超状態でないとの判定結果が入力されると、割当番号帯の電話番号と最小データベースに格納されている最小番号帯の電話番号とを入れ替える。この場合の各データベースの番号帯の格納状況は、図9(a)から(c)のように変化する。
一方、番号帯移動部16は、第5の閾値判定部14dから第5の閾値超状態であるとの判定結果が入力された場合、最小データベースに格納されている番号帯のうち、最小データベースに格納されているいずれかの番号帯の電話番号と割当番号帯の電話番号とを入れ替えた場合に、複数のデータベースのデータベース利用率が最も均一化される均一番号帯の情報を取得し、割当番号帯の電話番号と均一番号帯の電話番号とを入れ替える。
ここで、図10を用いて番号帯移動部16が均一番号帯の情報の取得する方法を具体的に説明する。なお、図10における割当番号帯は、データベースAに格納されている番号帯利用率が50%の番号帯とする。(a)は、割当番号帯を別のデータベースに移動する前(登録時の状態)のデータベース利用率及び番号帯利用率を示す。(b)、(c)及び(d)は、この割当番号帯の電話番号を最小データベースであるデータベースCに格納されているそれぞれの番号帯と入れ替えた場合におけるデータベースの格納状態を示す。(b)は、割当番号帯の電話番号と、番号帯利用率が10%の番号帯の電話番号とを入れ替えた場合、(c)は、割当番号帯の電話番号と、番号帯利用率が20%の番号帯の電話番号とを入れ替えた場合、(d)は、割当番号帯の電話番号と、番号帯利用率が10%の番号帯の電話番号とを入れ替えた場合のデータベース利用率を示す。
図10(a)〜(d)では、(c)の格納状態において、データベースA、B及びCのデータベース利用率が等しいため、(c)の格納状態がデータベース利用率が最も均一化されていると判断される。各データベースのデータベース利用率が異なる場合のデータベース利用率が均一化されているかの判断としては、例えば、複数のデータベースにおけるデータベース利用率の最大値と最小値の差を求め、当該差が最も小さくなるような状態を最も均一化されているとする方法や、複数のデータベースにおけるデータベース利用率の平均値を求め、当該平均値との各データベース利用率の差が最も小さくなるような状態を最も均一化されているとする方法が挙げられる。上記のような方法で、均一化番号帯の情報を得た番号帯移動部16は、割当番号帯の電話番号と均一番号帯の電話番号とを入れ替える。なお、番号帯移動部16によって実行されるこれらの番号帯の電話番号の(移動)入替(入替の指示から加入者情報の更新まで)は、第1実施形態と同様の手順を経て実行される。
図11は、第2実施形態の電話番号管理システム10での処理を示すフローチャートである。以下、図11に示すフローチャートを用いて、電話番号管理システム10において実行される処理を説明すると共に、第2実施形態に係る電話番号管理方法について説明する。
本処理では、番号割当部12によって携帯電話機への電話番号の割り当てが行われると(S21)、利用率取得部13が割当番号帯の番号帯利用率と、割当番号帯の電話番号を格納するデータベース21のデータベース利用率を取得するとともに、データベース21以外の比較データベースの比較データベース利用率と、比較番号帯利用率を取得し、これらに基づいて最小データベース及び当該最小データベースの最小番号帯を決定した上で、第3の値、第4の値及び第5の値を算出する(S22、利用率取得ステップ)。次いで、第1の閾値超判定部14aにより番号帯利用率が第1の閾値よりも大きく、かつ、データベース利用率が第2の閾値よりも大きい第1閾値超状態であるかが判定される(S23、第1閾値超判定ステップ)。
第1の閾値超判定部14aにより第1閾値超状態と判定された場合(S23;YES)、第3の閾値判定部14bは、利用率取得部12から第3の値を、閾値記憶部11から第3の閾値をそれぞれ読み出し、第3の値と第3の閾値とを比較し、第3の値が第3の閾値よりも大きい第3の閾値超状態であるかを判定する(S24、第3閾値超判定ステップ)。第3の閾値超判定部14bが、第3の閾値超状態であると判定した場合(S24;YES)、第4の閾値判定部14cは、利用率取得部13から第4の値を、閾値記憶部11から第4の閾値をそれぞれ読み出し、第4の値と第4の閾値とを比較して、第4の値が第4の閾値よりも大きい第4の閾値超状態であるかを判定する(S25、第4閾値超判定ステップ)。
第4の閾値超判定部14cにより第4閾値超状態と判定された場合(S25;YES)、第5の閾値判定部14dは、閾値記憶部11から第5の閾値を読み出し、第5の値と第5の閾値を比較して、第5の値が第5の閾値よりも大きい第5の閾値超状態であるかを判定する(S26、第5閾値超判定ステップ)。第5の閾値超判定部14dにより第5閾値超状態と判定された場合(S26;YES)、番号帯移動部16は、最小データベースに格納されている均一番号帯の情報を取得し、割当番号帯の電話番号と均一番号帯の電話番号とを入れ替える(S27)。
なお、第1の閾値超判定部14aにより第1の閾値超状態でないと判定された場合(S23;NO)、及び、第3の閾値超判定部14cにより第3の閾値超状態でない判定された場合(S24;NO)、番号帯移動部16は、別のデータベース21に割当番号帯の電話番号を移動することなく、当初のデータベース21で当該番号帯の電話番号を管理する。
また、第4の閾値超判定部14cにより第4の閾値超状態でないと判定された場合(S25;NO)、番号帯移動部16は、割当番号帯の電話番号を最小データベースに移動し(S28)、第5の閾値超判定部14dにより第5の閾値超状態でないと判定された場合(S26;NO)、番号帯移動部16は、割当番号帯の電話番号と最小番号帯の電話番号とを入れ替える(S29)。
以上説明したように、本実施形態の電話番号管理システム10は、閾値記憶部11は更に第3の閾値を記憶しており、データベース利用率と割当番号帯の電話番号を格納するデータベース以外の比較データベースの比較データベース利用率を取得し、データベース利用率から比較データベース利用率が最小である最小データベースのデータベース利用率を差し引いた値が第3の閾値よりも大きい第3の閾値超状態か判定する第3の閾値超状態判定部14bを更に備え、番号帯移動部16は、第3の閾値超状態判定部14bによって第3の閾値超状態と判定された場合、割当番号帯の電話番号を最小データベースに移動する。この場合、例えば、図7に示すような、割当番号帯の電話番号を最小データベース(データベースC)に移動した後の両データベースのデータベース利用率の開きが大きくなること(3.3%→23.3%)を回避し、確実に処理負荷の均一化が効率よくできる。
また、本実施形態における電話番号管理システム10は、閾値記憶部11は更に第4の閾値を記憶しており、割当番号帯の電話番号を最小データベースに移動させた場合におけるデータベースと最小データベースの二つのデータベース利用率を取得し、二つのデータベース利用率の差が第4の閾値よりも大きい第4の閾値超状態か判定する第4の閾値超状態判定部14cを更に備え、番号帯移動部16は、第4の閾値超状態判定部14cによって第4の閾値超状態ではないと判定された場合、割当番号帯の電話番号を最小データベースに移動する。この場合、割当番号帯の電話番号を最小データベースに移動した後の両データベースのデータベース利用率の開きが大きくなることを回避し、確実に処理負荷の均一化が効率よくできる。
本発明の電話番号管理システム10は、閾値記憶部11は更に第5の閾値を記憶しており、割当番号帯の電話番号と、比較データベース利用率が最小である最小データベースに格納されている番号帯のうち番号帯利用率が最小の最小番号帯の電話番号とを入れ替える場合におけるデータベースと最小データベースの二つのデータベース利用率を取得し、二つのデータベース利用率の差が第5の閾値よりも大きい第5の閾値超状態か判定する第5の閾値超状態判定部14dを更に備え、番号帯移動部16は、第5の閾値超状態判定部14dによって第5の閾値超状態ではないと判定された場合、割当番号帯の電話番号と最小番号帯の電話番号とを入れ替える。この場合、割当番号帯の電話番号と最小番号帯の電話番号とを入れ替えた際、確実に処理負荷の均一化が効率よくできる。
番号帯移動部16は、最小データベースに格納されているすべての番号帯のうち、最小データベースに格納されている番号帯の電話番号と割当番号帯の電話番号と入れ替えた場合に、複数のデータベースのデータベース利用率が最も均一化される均一番号帯の情報を取得し、割当番号帯の電話番号と均一番号帯の電話番号とを入れ替える。この場合、割当番号帯の電話番号と最小データベースに格納されている番号帯の電話番号とを入れ替える際、処理負荷の均一化が更に効率よくできる。
以上、本発明のその実施形態に基づいて詳細に説明した。しかし、本発明は上記実施形態に限定されるものではない。本発明は、その要旨を逸脱しない範囲で以下のような様々な変形が可能である。
本実施形態では、第1の閾値超状態であると判定された後、続いて第3の閾値超状態であるかの判定が行われ、さらに第4の閾値超判定、第5の閾値超判定が行われ、それらの判定結果に基づいて、複数のデータベースの均一処理の方法が決定されていたが、均一処理の方法の決定するフローはこれに限られない。例えば、第1の閾値超状態であると判定された後、第3の閾値超判定を行わずに第4の閾値超判定を行ってもよいし、第3の閾値超判定及び第4の閾値超判定を行わずに第5の閾値超判定を行ってもよい。また、第1の閾値超状態と判定された後、いきなり番号帯移動部16が、割当番号帯の電話番号と均一番号帯の電話番号とを入れ替えてもよい。すなわち、S27を単独で行ってもよい。この場合、加入者データベース20への処理負荷の均一処理のフローが簡略化できる。
また、第1の閾値超状態と判定された後、第3の閾値超判定のみを単独で取り入れて均一処理を行ってもよい。この場合、第3の閾値超状態でないと判定されると、本実施形態と同様に、割当番号帯の電話番号を別のデータベース21aに移動せずに、当初データベースで割当番号帯の電話番号を管理する。一方、第3の閾値超状態であると判定されると、それに続く各閾値超判定を行わずに、例えば、第1実施形態の入替先選択部15が比較データベース利用率と、比較データベースに格納されている番号帯の比較番号帯利用率の少なくともいずれかに基づいて入替先番号帯を選択し、割当番号帯の電話番号と入替先番号帯の電話番号との入れ替えを実行することができる。また同様に、第1の閾値超状態と判定された後、第4の閾値超判定のみを単独で取り入れて均一処理を行ってもよい。この場合、第4の閾値超状態でないと判定されると、本実施形態と同様に、割当番号帯の電話番号を最小データベースに移動する。
また、本実施形態では、第5の閾値超判定部14dにより第5の閾値超状態でないと判定された場合、割当番号帯の電話番号と、最小データベースに格納される最小番号帯の電話番号とを入れ替えたが、割当番号帯と入れ替える番号帯は最小番号帯に限られず、番号帯利用率が割当番号帯よりも小さい番号帯であれば、最小データベースに格納されているどの番号帯の電話番号と入れ替えても構わない。